Documente Academic
Documente Profesional
Documente Cultură
Acum urmează să fie calculate aceste constante, utilizând 𝑦(0) = 0, 𝑦̇ = 𝑣0 𝑠𝑖𝑛𝛼. Din prima
condție se obține 𝐴 = −𝐵, iar pentru a doua calculăm 𝑦̇ :
𝑔
𝑦̇ (0) = −𝐴𝑘 − 𝑘 = 𝑣0 𝑠𝑖𝑛𝛼, de aici se obține, consecutiv:
𝑔 𝑣0 𝑠𝑖𝑛𝛼 𝑔 𝑣0 𝑠𝑖𝑛𝛼
𝐴=− 2
− 𝐵= 2+ , ecuația (3) ia forma:
𝑘 𝑘 𝑘 𝑘
𝑔 𝑣0 𝑠𝑖𝑛𝛼 −𝑘𝑡 𝑔 𝑔 𝑣0 𝑠𝑖𝑛𝛼
𝑦(𝑡) = (− − ) 𝑒 − 𝑡 + + (4)
𝑘2 𝑘 𝑘 𝑘2 𝑘
Acum, verificăm cazul în care 𝑘 = 0 pentru a ne convinge de veridicitatea ultimei ecuații. Logic,
ar trebui să obținem ecuația 𝑦(𝑡) în cazul în care nu este rezistență. Pentru aceasta aducem (4)
la forma:
−𝑚𝑔 − 𝑚𝑘𝑣 2
𝑎= = −𝑔 − 𝑘𝑣 2 (6)
𝑚
𝑑𝑣
𝑑𝑦 = 𝑣𝑑𝑡 = 𝑣 (7)
𝑎
Din 5, 6 și 7:
2𝑦 2
𝑣 𝑑𝑣 −𝑔0 (1 − 𝑟 ) − 𝑘𝑣 𝑑𝑣 2𝑦 1
𝑑𝑦 = 𝑑𝑣 ⇔ = ⇔ + 𝑘𝑣 = −𝑔0 (1 − )
2𝑦 𝑑𝑦 𝑣 𝑑𝑦 𝑟 𝑣
−𝑔0 (1 − 𝑟 ) − 𝑘𝑣 2
1
𝑑𝑣 1
Efectuăm substituția 𝑣 = √𝑢(𝑦) ⇔ 𝑢 = 𝑣 2 , astfel 𝑑𝑢 = 2 𝑢−2
1 −1 𝑑𝑢 1 2𝑦 1 𝑑𝑢 2𝑦
𝑢 2∙ + 𝑘𝑢2 = −𝑔0 (1 − ) 𝑢−2 ⇔ + 2𝑘𝑢 = −2𝑔0 (1 − )
2 𝑑𝑦 𝑟 𝑑𝑦 𝑟
Astfel, putem aplica metoda factorului de integrare pentru a separa variabilele din această
ecuație. În acest caz factorul de integrare va fi 𝑒 ∫ 2𝑘𝑑𝑦 = 𝑒 2𝑘𝑦 , amplificând prin acesta,
obținem:
𝑑𝑢 2𝑘𝑦 2𝑦
𝑒 + 2𝑘𝑢 𝑒 2𝑘𝑦 = −2𝑔0 (1 − ) 𝑒 2𝑘𝑦
𝑑𝑦 𝑟
𝑑 2𝑦 2𝑦
( 𝑒 2𝑘𝑦 𝑢) = −2𝑔0 (1 − ) 𝑒 2𝑘𝑦 ⇔ 𝑒 2𝑘𝑦 𝑢 = ∫ −2𝑔0 (1 − ) 𝑒 2𝑘𝑦 𝑑𝑦
𝑑𝑦 𝑟 𝑟
2𝑘𝑦 2𝑘𝑦
4𝑔0 2𝑘𝑦 𝑒 2𝑘𝑦 4𝑔0 𝑦𝑒 2𝑘𝑦 4𝑔0 𝑒 2𝑘𝑦
𝑒 𝑢 = ∫ (−2𝑔0 𝑒 + 𝑦𝑒 ) 𝑑𝑦 = −2𝑔0 + − +𝐶
𝑟 2𝑘 𝑟 2𝑘 𝑟 4𝑘 2
𝑔0 𝑔0 2𝑔0 𝑔0 𝑔0 2𝑔0
𝑢=− − 2 + 𝑦 + 𝐶𝑒 −2𝑘𝑦 ⇔ 𝑣 2 = − − 2 + 𝑦 + 𝐶𝑒 −2𝑘𝑦
𝑘 𝑘 𝑟 𝑟𝑘 𝑘 𝑘 𝑟 𝑟𝑘
Constanta C poate fi găsită din condițiile inițiale, deoarece e cunoscut faptul că în momentul
când coordonata 𝑦 = 0, avem 𝑣 = 𝑣0 , astfel înlocuind în (11) obținem:
𝑔0 𝑔0 𝑔0 𝑔0
𝑣02 = − − 2 + 𝐶 ⇔ 𝐶 = 𝑣02 + + 2 . Astfel, formua finală este:
𝑘 𝑘 𝑟 𝑘 𝑘 𝑟
𝑔0 𝑔0 2𝑔0 𝑔0 𝑔0
𝑣2 = − − 2 + 𝑦 + (𝑣02 + + 2 ) 𝑒 −2𝑘𝑦
𝑘 𝑘 𝑟 𝑟𝑘 𝑘 𝑘 𝑟
Astfel, am obținut o relație implicită a vitezei în funcție de coordonata y. Acum vom încerca să
𝑑𝑣 𝑑
obținem o relație pentru 𝑦(𝑡). Fie 𝜑(𝑦) = 𝑑𝑦 = 𝑑𝑦 (√𝑎 + 𝑏𝑦 + 𝑐𝑒 𝑑𝑦 )
𝑔0 𝑔0 2𝑔0 𝑔0 𝑔0
𝑎≡− − 2 ;𝑏 ≡ ; 𝑐 ≡ 𝑣02 + + 2 ; 𝑑 ≡ −2𝑘
𝑘 𝑘 𝑟 𝑟𝑘 𝑘 𝑘 𝑟
𝑐𝑑𝑒 𝑦𝑑 + 𝑏
𝜑 (𝑦 ) = (8)
2√𝑎 + 𝑏𝑦 + 𝑐𝑒 𝑦𝑑
𝑑𝑡 𝑑𝑣 𝑑𝑡 𝑑𝑡 𝜑 (𝑦 )
𝜑=𝜑 = ∙ = 𝑎 (𝑦 ) ⇔ 𝑑𝑦 = 𝑑𝑡 (9)
𝑑𝑡 𝑑𝑡 𝑑𝑦 𝑑𝑦 𝑎 (𝑦 )
Întrucât am determinat funcția 𝑣 2 (𝑦) acum putem descrie accelerația strict ca funcție de y.
Avem:
2𝑦 2𝑦
𝑎(𝑦) = −𝑔0 (1 − ) − 𝑘𝑣 2 = −𝑔0 (1 − ) − 𝑘(𝑎 + 𝑏𝑦 + 𝑐𝑒 𝑦𝑑 ) (10)
𝑟 𝑟
Din 8, 9 și 10
𝑐𝑑𝑒 𝑦𝑑 + 𝑏
− 𝑑𝑦 = 𝑑𝑡
2𝑦
2√𝑎 + 𝑏𝑦 + 𝑐𝑒 𝑦𝑑 ∙ (𝑔0 (1 − 𝑟 ) + 𝑘(𝑎 + 𝑏𝑦 + 𝑐𝑒 𝑦𝑑 ))
𝑐𝑑𝑒 𝑦𝑑 + 𝑏
−∫ 𝑑𝑦 = 𝑡 + 𝐸 = 𝐹(𝑦)
2𝑦
2√𝑎 + 𝑏𝑦 + 𝑐𝑒 𝑦𝑑 ∙ (𝑔0 (1 − ) + 𝑘(𝑎 + 𝑏𝑦 + 𝑐𝑒 𝑦𝑑 ))
𝑟
Deseori, pentru a calcula valoarea integralelor unor funcții, algoritmii tradiționali, cum ar fi
subtituția simplă sau integrarea pe părți, nu oferă soluții analitice, de aceea este
întrebuințată substituția cu funcții trigonometrice. Acestea sunt des folosite pentru
calcularea lungimilor arcurilor. Propunem spre rezolvare o problemă în care este utilizată
această metodă. Să se afle lungimea traiectoriei unui corp aruncat sub un unghi 𝛼 față de
orizont.
Considerăm un mic segment de parabolă 𝑑𝑙. Din teorema lui Pitaroga putem scrie 𝑑𝑙 =
√(𝑑𝑥)2 + (𝑑𝑦)2 (1) unde 𝑑𝑥 și 𝑑𝑦 sunt micile distanțe pe orizontală și, respectiv, pe
verticală, parcurse de corp pe acest interval. Avem 𝑑𝑥 = 𝑣𝑥 𝑑𝑡(2) și 𝑑𝑦 = 𝑣𝑦 𝑑𝑡(3) unde 𝑣𝑥
și 𝑣𝑦 sunt vitezele instantanee pe orizontală și, respectiv, pe verticală descrise de corp în
intervalul 𝑑𝑡, considerate constante pe aceată porțiune de timp. Înlocuind (2) și (3) în (1)
obținem 𝑑𝑙 = √𝑣𝑥2 (𝑑𝑡)2 + 𝑣𝑦2 (𝑑𝑡)2
Viteza orizontală a corpului rămâne aceeași, iar cea verticală se schimbă conform legii 𝑣𝑦 =
𝑣0 𝑠𝑖𝑛𝛼 − 𝑔𝑡 . Astfel avem:
Acum să aflăm limitele de integrare după timp. Limita inferioară va fi 0, evident, iar cea
𝑣0 sin 𝛼
superioară va coincide cu timpul de urcare, dat de formula 𝑡u= . Astfel putem scrie:
𝑔
𝑣0 sin 𝛼 𝑣0 sin 𝛼
𝑔 𝑔 (𝑣0 𝑠𝑖𝑛𝛼 − 𝑔𝑡)2
𝑙=∫ √(𝑣0 𝑐𝑜𝑠𝛼)2 + (𝑣0 𝑠𝑖𝑛𝛼 − 𝑔𝑡)2 𝑑𝑡 = ∫ √(𝑣0 𝑐𝑜𝑠𝛼)2 (1 + 𝑑𝑡
0 0 (𝑣0 𝑐𝑜𝑠𝛼)2
𝑣0 sin 𝛼 𝑣0 sin 𝛼
𝑔 (𝑣0 𝑠𝑖𝑛𝛼 − 𝑔𝑡)2 𝑔 𝑔𝑡 2
𝑙=∫ 𝑣0 𝑐𝑜𝑠𝛼√1 + 𝑑𝑡 = 𝑣0 𝑐𝑜𝑠𝛼 ∫ √1 + (𝑡𝑔𝛼 − ) 𝑑𝑡
0 (𝑣0 𝑐𝑜𝑠𝛼)2 0 𝑣0 𝑐𝑜𝑠𝛼
𝑔𝑡 𝑑𝑧 𝑔 𝑣0 𝑐𝑜𝑠𝛼
Substituim 𝑧 = 𝑡𝑔𝛼 − 𝑣 (4) atunci avem 𝑑𝑡 = − 𝑣 ⇔ 𝑑𝑡 = − 𝑑𝑧
0𝑐𝑜𝑠𝛼 0 𝑐𝑜𝑠𝛼 𝑔
𝑣0 sin 𝛼
Schimbând variabila de integrare, limita superioară o vom afla substituind 𝑡 = în (4),
𝑔
𝑣 sin 𝛼
𝑣0 𝑠𝑖𝑛𝛼 𝑔 0
𝑔
unde obținem 𝑧𝑚𝑎𝑥 = 𝑣 − = 0. Pentru limita inferioară substituim 𝑡 = 0
0𝑐𝑜𝑠𝛼 𝑣0 𝑐𝑜𝑠𝛼
În (13) unde obținem 𝑧𝑚𝑖𝑛 = 𝑡𝑔𝛼. Astfel din schimbul de variabilă obținem
0
𝑣0 𝑐𝑜𝑠𝛼 𝑣02 𝑐𝑜𝑠 2 𝛼 0
𝑙 = 𝑣0 𝑐𝑜𝑠𝛼 ∫ √1 + 𝑧 2 ∙ (− ) 𝑑𝑧 = − ∫ √1 + 𝑧 2 𝑑𝑧
𝑡𝑔𝛼 𝑔 𝑔 𝑡𝑔𝛼
𝑑𝑧 1 1
Acum substituim 𝑧 = 𝑡𝑔𝜃 . Avem 𝑑𝜃 = 𝑐𝑜𝑠 2𝜃 ⇔ 𝑑𝑧 = 𝑐𝑜𝑠 2𝜃 𝑑𝜃 . Pentru limita superioară avem
0 = 𝑡𝑔𝜃 ⇔ 𝜃 = 0. Pentru limita inferioară avem 𝑡𝑔𝛼 = 𝑡𝑔𝜃. Evident, ecuația dată are ca
soluție orice număr de forma 𝛼 + 𝜋𝑛 ∀𝑛 ∈ 𝑁, adica de fiecare data când valoarea unghiului se
mărește cu 180° , valoarea ecuației 𝑡𝑔𝜃 este aceeași, însă în sensul fizic al acestei probleme
singura soluție relevantă ar fi 𝛼 = 𝜃, deoarece în planul fizic considerat unghiurile nu vor fi mai
mari de 180°. Astfel, în final putem scrie:
𝑣02 𝑐𝑜𝑠 2 𝛼 𝛼 1
𝑙= ∫ 3
𝑑𝜃
𝑔 0 𝑐𝑜𝑠 𝜃
∫ 𝑠𝑒𝑐𝑥 𝑑𝑥 este o integrală standardă, valoarea căreia este ln(𝑡𝑔𝑥 + 𝑠𝑒𝑐𝑥) astfel putem scrie:
𝑣02 𝑐𝑜𝑠 2 𝛼 𝛼 𝑣02 𝑐𝑜𝑠 2 𝛼 𝑠𝑒𝑐𝛼 𝑡𝑔𝛼 1 𝛼
𝑙= ∫ 𝑠𝑒𝑐 3 𝜃𝑑𝜃 = ( + ∫ 𝑠𝑒𝑐𝜃 𝑑𝜃)
𝑔 0 𝑔 2 2 0
𝛼
∫ 𝑠𝑒𝑐𝜃 𝑑𝜃 = ln(𝑡𝑔𝛼 + 𝑠𝑒𝑐𝛼 ) − ln(𝑡𝑔0 + 𝑠𝑒𝑐0) = ln(𝑡𝑔𝛼 + 𝑠𝑒𝑐𝛼 ) − 𝑙𝑛1 =
0
= ln(𝑡𝑔𝛼 + 𝑠𝑒𝑐𝛼 )
Astfel, avem:
Lucrul neconservativ al forței de rezistență va fi convertit direct în energie termică. Deci putem
scrie:
−𝑑𝐿 = 𝑑𝑄
−𝐹𝑑𝑦 = 𝑑𝑄
𝑚𝑘𝑣 2 𝑑𝑦 = 𝑐𝑚𝑑𝑇
𝑘𝑣 3 𝑑𝑡 = 𝑐𝑑𝑇 (1)
Vom exprima viteza în funcție de timp din următoarea ecuație
𝑑𝑣 𝑑𝑣 𝑑𝑣
𝑎= = −𝑔 − 𝑘𝑣 2 ⇔ − 2
= 𝑑𝑡 ⇔ − ∫ (2) = ∫ 𝑑𝑡 = 𝑡 + 𝐸
𝑑𝑡 𝑔 + 𝑘𝑣 𝑔 + 𝑘𝑣 2
𝑑𝑣 𝑘 𝑑𝑢 𝑘 𝑔
Acum să calculăm ∫ 𝑔+𝑘𝑣 2 fie 𝑢 = √𝑔 𝑣 (3) ⇔ = √𝑔 ⇔ 𝑑𝑣 = 𝑑𝑢√ 𝑘 . atunci (2) devine:
𝑑𝑣
1 1
− ∫ 𝑑𝑢 (4)
√𝑘𝑔 1 + 𝑢2
𝑑𝑢
Fie 𝑢 = 𝑡𝑔(𝑠) ⇔ = 𝑠𝑒𝑐 2 (𝑠) ⇔ 𝑑𝑢 = 𝑠𝑒𝑐 2 (𝑠)𝑑𝑠. Atunci (4) devine:
𝑑𝑠
1 1 1 1 1 1
− ∫ 2
∙ 𝑠𝑒𝑐 2 (𝑠)𝑑𝑠 = − ∫ 2
∙ 𝑠𝑒𝑐 2 (𝑠)𝑑𝑠 = − 𝑠=− 𝑎𝑟𝑐𝑡𝑔(𝑢) (5)
√𝑘𝑔 1 + 𝑡𝑔 𝑠 √𝑘𝑔 𝑠𝑒𝑐 (𝑠) √𝑘𝑔 √𝑘𝑔
1 𝑘
− 𝑎𝑟𝑐𝑡𝑔 (√ 𝑣) = 𝑡 + 𝐸 (6)
√𝑘𝑔 𝑔
1 𝑘
𝐸=− 𝑎𝑟𝑐𝑡𝑔 (√ 𝑣0 ) explicitând (6) pentru 𝑣 se obține:
√𝑘𝑔 𝑔
𝑡𝑔(−√𝑘𝑔(𝑡 + 𝐸 ))
𝑣= (7). Din (1) și (7) obținem
𝑘
√
𝑔
∫ 𝑎 ∙ 𝑡𝑔3 (𝑏𝑡 + 𝑑 )𝑑𝑡 = ∫ 𝑐𝑑𝑇 (8) acum vom calcula prima integrală, substituind 𝑢 = 𝑏𝑡 + 𝑑:
1 𝑎 𝑎 𝑎
𝑎 ∫ 𝑡𝑔3 (𝑢) ∙ 𝑑𝑢 = ∫ 𝑡𝑔3 (𝑢)𝑑𝑢 = ∫ 𝑡𝑔2 (𝑢) ∙ 𝑡𝑔(𝑢)𝑑𝑢 = ∫(𝑠𝑒𝑐 2 (𝑢) − 1)𝑡𝑔(𝑢)𝑑𝑢 =
𝑏 𝑏 𝑏 𝑏
𝑎 (cos(𝑢) − 1)(cos(𝑢) + 1) 1
∫− 3
sin(𝑢) 𝑑𝑢 (9). Fie 𝑠 = cos(𝑢) ⇔ 𝑑𝑢 = − 𝑑𝑠
𝑏 𝑐𝑜𝑠 𝑢 sin(𝑢)
(9) devine:
𝑎 (𝑠 − 1)(𝑠 + 1) 𝑎 1 1 𝑎 1 𝑎 1
∫ 3
𝑑𝑠 = ∫ ( − 3 ) 𝑑𝑠 = (ln(𝑠) + 2 ) = (ln(cos(𝑢)) + )=
𝑏 𝑠 𝑏 𝑠 𝑠 𝑏 2𝑠 𝑏 2𝑐𝑜𝑠 2 (𝑢)
𝑎 1
(ln|(cos(𝑏𝑡 + 𝑑)|) + 2
) (10). din (10) și (8):
𝑏 2𝑐𝑜𝑠 (𝑏𝑡 + 𝑑)
𝑎 1
(ln(| cos(𝑏𝑡 + 𝑑 ) |) + ) = 𝑐𝑇 + 𝐻 (11)
𝑏 2𝑐𝑜𝑠 2 (𝑏𝑡 + 𝑑 )
În momentul de timp 0, temperatura corpului reprezintă o oarecare temperatură inițială 𝑇0 . Din
această condiție se obține:
𝑎 1
𝐻= (ln(| cos(𝑑 )|) + ) − 𝑐𝑇0 (12)
𝑏 2𝑐𝑜𝑠 2 (𝑑 )
Astfel, dependența 𝑇(𝑡) este:
𝑎 1 𝑎 1
(ln(|cos(𝑏𝑡 + 𝑑 )|) + 2 ) − (ln(| cos(𝑑 )|) + ) + 𝑐𝑇0
𝑏 2𝑐𝑜𝑠 (𝑏𝑡 + 𝑑 ) 𝑏 2𝑐𝑜𝑠 2 (𝑑 )
( )
𝑇 𝑡 =
𝑐
𝑎 1 1
𝑇(𝑡) = 𝑇0 + (ln(| cos(𝑏𝑡 + 𝑑 )|) + −ln( | cos( 𝑑 ) | ) − )
𝑏𝑐 2𝑐𝑜𝑠 2 (𝑏𝑡 + 𝑑 ) 2𝑐𝑜𝑠 2 (𝑑 )
Ne-am convins că ecuațiile trigonometrice au importanță majoră în calcularea integralelor și,
respectiv, în rezolvarea ecuațiilor diferențiale.
Problema lant, ului care atârnă
Se va considera următoarea problemă: Un lant, omogen atârnă ı̂ntre două puncte definite pe doi peret, i: A(−a, 0),
B(a, 0). Să se găsească funct, ia f (x) care descrie forma luată de acest lant, , dacă asupra lui act, ionează doar fort, a
de gravitat, ie.
Vom ı̂ncepe rezolvarea acestei probleme prin deducerea formulei energiei potent, iale pe care o posedă acest
lant, .
Ep = mgh
Vom diviza acest lant, ı̂n părt, i infinit de mici, pe care le vom considera segmente de drepte. Vom nota masa fiecărui
segment dm. Energia potent, ială posedată de un astfel de segment va fi exprimată:
dEp = dm g y
unde y este ı̂nălt, imea segmentului respectiv s, i dEp este energia sa potent, ială.
Vom folosi operat, ia de integrare pentru a afla energia potent, ială a ı̂ntregului lant, .
Z
Ep = dm g y
Masa segmentului dm poate fi exprimată prin produsul dintre un coeficient care indica numarul de unitati de masă
pe unităt, i de lungime p s, i lungimea segmentului, pe care o vom nota prin dl. As, adar,
Z
Ep = p dl g y
RBp
l poate fi exprimat prin formula lungimii arcului: l = A 1 + y 02 dx.
Z p
Ep = p ( 1 + y 02 dx) g y ⇒
Z p
⇒ Ep = pg ( 1 + y 02 dx) y
unde y’ este functia y derivată după x, iar dx este proiect, ia segmentului dl pe axa Ox.
În forma actuală, această problemă ar putea fi rezolvată prin simpla egalare a derivatei energiei potent, iale cu 0
pentru a obt, ine valoarea sa minimă, ı̂nsă pentru o rezolvare corectă este necesară introducerea unei constrângeri,
care stipulează că lungimea lant, ului va rămâne constantă, s, i anume,
Z p
l= 1 + y 02 dx
Această problemă de minimizare a funct, iei Ep(y, y 0 ) ı̂n setul l(y 0 ) poate fi rezolvată prin metoda multiplicatorilor
Lagrange: Z p p
K = Ep + λl = (pgy( 1 + y 02 ) + λ( 1 + y 02 )dx
1
Folosind identitatea lui Beltrami,
∂F
F − y0 = c1
∂y 0
Pentru a us, ura calculele, vom calcula mai ı̂ntâi derivata part, ială
∂ p y0
0
1 + y 02 = p
∂y 1 + y 02
În urma altor calcule, putem simplifica până la forma
pgy + λ
p = c1
1 + y 02
Vom ridica toată expresia la pătrat, vom separa variabilele si vom ridica la puterea 1/2 obt, inându-se relat, ia:
s
0 dy (pgy + λ)2
y = = −1
dx c21
Vom substitui
(pgy + λ)
= cosh(u)
c1
c1 sinh(u)
dy = du
pg
Unde cosh reprezinta functia hiperbolica cosinus s, i sinh funct, ia hiperbolică sinus. În continuare vom integra
ambele părt, i ale expresiei anterioare, t, inând cont de substitut, ii s, i vom face simplificările de rigoare, ajungând la
expresia:
c1
u = x + c2
pg
Unde c2 este constanta obtinuta in urma integrarii funct, iei.
Din expresia (pgy+λ)
c1 = cosh(u) putem exprima u ca
pgy + λ
u = cosh− 1( )
c1
c1 pg λ
y= cosh( (x + c2 )) −
pg c1 pg
Poate fi observat faptul că ı̂n această ecuat, ie 3 constante sunt nedeterminate. Acestea poat fi aflate din cele
două punte cunoscute ale funct, iei, anume A(−a, 0) s, i B(a, 0). În urma ı̂nlocuirilor, poate fi observat că c2 = 0 s, i
λ = c1 cosh( pga
c1 ) În urma ı̂nlocuirilor, vom determina ecuat, ia finală
c1 pgx pga
y= [cosh( ) − cosh( )]
pg c1 c1
Constanta c1 poate fi determinată din ecuat, ia lungimii firului, ı̂nsă rezolvarea analitică a acestei probleme este
una voluminoasă s, i nu se numără printre scopurile acestei explicat, ii.
Această relat, ie demonstrează legătura adâncă dintre fenomenele naturii s, i legile matematicii descoperite de-a
lungul secolelor.
2
În continuare vom prezenta o analiză succintă a utilizărilor funcțiilor logaritmice și
exponențiale în analiza algoritmilor informatici.
Pentru analiza unui algoritm se folosesc 2 mărimi: complexitatea de timp și de
spațiu. Pornind de la asumarea că un calculator modern are nevoie de o cantitate
constantă de timp pentru a efectua orice operație, putem defini complexitatea de
timp ca fiind echivalentă cu numărul de operații necesare de efectuat.
numere[1] = 2 + 3;
while(n--)
Numere[n] = n+1;
Acest ciclu face câte 4 operații la fiecare iterație: cele 3 operații descrise mai sus și
operația de decrementare a variabilei n. Astfel, putem spune că complexitatea de
timp a fragmentului de cod este 4 ⋅ 𝑛.
În tipul P sunt incluse problemele care pot fi soluționate și a căror soluție poate fi
verificată cu o complexitate de timp polinomial: 𝑂(𝑛𝑘 ), unde k nu depinde de n .
Un exemplu trivial de problemă de tip P este: Se dă un set de n numere întregi și
un număr x, să se determine dacă printre numerele din set există un număr care să
fie egal cu x. Această problemă poate fi rezolvată prin simpla parcurgere a șirului,
si verificarea respectării condiției pentru fiecare element, astfel având o
complexitate O(n).
Un algoritm mult mai eficient de sortare a elementelor unui set este așa-numitul
quicksort.
Într-o iterație, acesta alege un oarecare element din set, pe care îl vom numi pivot
în continuare, și compară restul elementelor cu acesta, punându-le la stânga dacă
sunt mai mici și la dreapta dacă sunt mai mari. Astfel elementul pivot a ajuns în
locul său final în setul sortat. În următoare iterație, se va repeta acest algoritm cu
cele 2 jumătăți ale setului, din dreapta și stânga pivotului.
Acest ciclu va continua, până când cel mai mare subset obținut va conține 2
elemente, setul fiind sortat odată cu aranjarea în ordine a acestor elemente.
În dependență de cât de aproape este elementul pivot de mijlocul subsetului căruia
îi aparține, complexitatea de timp a algoritmului quicksort variază între 𝑂(𝑛2 )- cel
mai rău caz, în practică nu este înâlnit niciodată și 𝑂(𝑛) - cel mai bun caz, de
asemenea neîntâlnit în scenarii practice.
Analizând secvența de operații, putem determina că în medie, acest algoritm va
avea o eficiență exprimată ca 𝑂(𝑛 ⋅ log 2 𝑛), efectuând câte n operații de fiecare
dată când setul este împărțit în 2 subseturi.
O implementare generică a algoritmului quicksort, care alege mereu ultimul
element ca pivot: