Documente Academic
Documente Profesional
Documente Cultură
numerică a ecuaţiilor
diferenţiale
x0 = f (t, x, ) (1)
Problema (48) are ca soluţie o funcţie unică x = x(t), numită soluţie particulară.
Pentru diverse categorii de ecuaţii diferenţiale (clasificate după forma funcţiei
f (t, x)) există metode analitice care dau soluţia exactă a ecuaţiei. Dacă ı̂nsă
soluţia analitică (exactă) nu poate fi găsită (sau calculul este prea complicat),
pentru o problemă de tipul (48) se poate determina o aşa-numită soluţie numerică,
soluţie care ı̂n esenţă constă dintr-un şir de puncte care urmează graficul soluţiei
exacte. Acest şir de puncte se determină ı̂n felul următor:
Pe intervalul [a, b] (unde a = t1 din condiţia iniţială) se construieşte diviziunea:
∆ : a = t1 < t2 < · · · < tn+1 = b. Soluţia numerică este determinată de
şirul de valori xi , i = 1, 2, · · · , n + 1 unde valoarea x1 este dată de condiţia
iniţială iar restul valorilor se determină pe baza unei formule iterative de tipul
xi+1 = F (ti , xi ) .
7
8 Cap.5. Rezolvarea numerică a ecuaţiilor diferenţiale
Deducerea formulei:
Se consideră diviziunea ∆ : a = t1 < t2 < · · · < tn+1 = b echidistantă, adică
ti+1 − ti = h, i = 1, 2, · · · , n, unde h este pasul diviziunii, h = b−a
n . Dezvoltând
ı̂n serie Taylor funcţia x(ti + h) şi păstrând doar primii doi termeni ai dezvoltării
obţinem:
x0 (ti ) · h1
x(ti+1 ) = x(ti + h) ' x(ti ) + = x(ti ) + f (ti , xi ) · h
1!
Notând prin xk valoarea aproximativă a soluţiei x(tk ) se obţine relaţia de recurenţă:
8
5.1 Metoda lui Euler 9
Start
h = (b − a)/n;
P entru i de la 1 la n
ti+1 = ti + h
xi+1 = xi + h · f (ti , xi )
Stop
Exemplul 36
(
x0 = −2 · t · x2
Se dă problema Cauchy . Găsiţi soluţia analitică (exactă)
x(0) = 1
a problemei, calculaţi o soluţie numerică folosind metoda lui Euler şi comparaţi
cele două soluţii.
Rezolvare:
-Soluţia analitică: Această ecuaţie poate fi rezolvată cu uşurintă prin metoda
separării
R 1 variabilelor: x0 = −2 · t · x2 ⇔ dx 2 1
dt = −2 · t · x ⇔ x2 · dx = −2 · t · dt ⇔
1 1
·dx = −2·t·dt ⇔ − x +c1 = −t2 +c2 ⇔ − x = −t2 −C (unde C = −c2 +c1 )
R
x2
1 1
⇔ x = t2 + C ⇔ x = t2 +C .
1
Deci soluţia generală a ecuaţiei diferenţiale este x(t) = t2 +C , C ∈ <, iar valoarea
1
constantei o găsim folosind condiţia iniţială: x(0) = 1 ⇔ 02 +C = 1 ⇔ C1 = 1 ⇔
C = 1.
Aşadar soluţia particulară corespunzătoare problemei Cauchy este x(t) = t21+1 .
-Soluţia numerică: Vom calcula o soluţie numerică pe intervalul [0, 1] alegând o
diviziune echidistantă cu pasul h = 0.1. Aşadar ∆ : t1 = 0 < t2 = 0.1 < t3 =
0.2 < ... < t11 = 1, f (t, x) = −2 · t · x2 şi deci ı̂n cazul acestei ecuaţii formula lui
Euler (3) devine:
9
10 Cap.5. Rezolvarea numerică a ecuaţiilor diferenţiale
t1 = 0 x(t1 ) = 1 x1 = 1 ε1 = |1 − 1| = 0
t2 = 0.1 x(t2 ) ' 0.990... x2 = 1 ε2 ' |0.99 − 1| ' 0.01
t3 = 0.2 x(t3 ) ' 0.961... x3 = 0.98 ε3 ' |0.961 − 0.98| ' 0.02
t4 = 0.3 x(t4 ) ' 0.917... x4 ' 0.941... ε4 ' |0.917 − 0.941| ' 0.03
Observaţii
• În cadrul oricărei metode de tip Euler, care se bazează pe o trunchiere a
dezvoltării ı̂n serie Taylor, valorile aproximaţiilor xi prezintă eroari inerente.
În cazul metodei lui Euler aceste erori sunt relativ mari şi cresc puternic
odată cu creşterea lui i, aşa cum ilustrează exemplul anterior.
• Metoda lui Euler este o metodă de tip unistep, adică xi+1 este calculat ı̂n
funcţie doar de xi , spre deosebire de metodele de tip multistep, ı̂n cadrul
cărora xi+1 depinde nu doar de xi ci şi de xi−1 , xi−2 ..., ı̂n acest mod
obţinându-se o aproximare mai precisă.
10
5.2 Metode de tip Runge-Kutta 11
• Coeficienţii puterilor lui h din dezvoltarea ı̂n serie Taylor a lui xi+1 dată
de formulele (4) să coincidă cu coeficienţii corespunzători din dezvoltarea ı̂n serie
Taylor a lui x(ti + h).
Această condiţie este firească având ı̂n vedere faptul că xi+1 = x(ti+1 ) =
x(ti + h).
Cazul r=1
Pentru r = 1 formulele (4) devin:
xi+1 = xi + c1 · k1 , k1 = h · f (ti , xi ).
Aşadar xi+1 = xi + c1 · h · f (ti , xi ) şi, practic, ı̂n acest caz nu este nevoie de
dezvoltare ı̂n serie Taylor pentru xi+1 .
Pe de altua parte dezvoltarea ı̂n serie Taylor a lui x(ti + h) este:
x(ti + h) ' x(ti ) + h · x0 (ti ) ' xi + h · f (ti , xi ).
Vom compara deci expresiile xi + c1 · h · f (ti , xi ) şi x(ti ) + h · f (ti , xi ).
Coeficientul lui h0 ( ”termenii liberi” ı̂n raport cu h) ı̂n abbele expresii este xi .
Coeficientul lui h1 ı̂n prima expresie este c1 cdotf (ti , xi ), ı̂n timp ce ı̂n cea de a
doua este f (ti , xi ). Cum cei doi coeficienţi trebuie săfie egali, rezultă că c1 = 1
ş de fapt metoda Runge-Kutta de ordinul unu coincide cu metoda lui Euler:
x(ti + h) = xi + h · f (ti , xi ).
11
12 Cap.5. Rezolvarea numerică a ecuaţiilor diferenţiale
Cazul r=2
Pentru r = 2 formulele (4) devin:
∂f ∂f
f (ti +α2 ·h, xi +βjs ·h·f (ti , xi )) ' f (ti , xi )+α2 ·h· (ti , xi )+β21 ·h·f (ti , xi )· (ti , xi ).
∂t ∂x
Înlocuind această dezvolate ı̂n (5), dezvoltarea ı̂n serie Taylor a lui xi+1 este:
12
5.2 Metode de tip Runge-Kutta 13
c1 + c2 = 1
c2 · α2 = 21
c2 · β21 = 12
Sistemul are 4 necunoscute şi doar 3 ecuaţii, deci soluţia nu este unică. Aceasta
ı̂nseamnă că nu există o unică metodă Runge-Kutta de ordin 2 (lucru dealtfel
valabil pentru metodele Runge-Kutta de orice ordin r, r > 1).
O varianta uzuală a metodei Runge-Kutta de ordin 2 corespunde valorilor c1 =
c2 = 12 , α2 = β21 = 1:
h
xi+1 = xi + [f (ti , xi ) + f (ti + h, xi + h · f (ti , xi ))] . (8)
2
Cazul r=4
Una dintre cele mai des folosite metode numerice pentru rezolvarea ecuaţiilor
diferenţiale, metodă care combină relativa simplitate cu acurateţea este metoda
Runge-Kutta de ordin 4 prezentată mai jos.
Calculul coeficienţilor (puţin prea lung pentru a fi inclus aici) se face ı̂n aceeaşi
manieră ca şi ı̂n cazurile anterioare (Exerciţiu!).
k1 + 2 · k2 + 2 · k3 + k4
xi+1 = xi + , i = 1, 2, · · · , n (9)
6
where
h k1 h k2
k1 = h·f (ti , xi ), k2 = h·f (ti + , xi + ), k3 = h·f (ti + , xi + ), k4 = h·f (ti +h, xi +k3 ).
2 2 2 2
13
14 Cap.5. Rezolvarea numerică a ecuaţiilor diferenţiale
Start
h = (b − a)/n;
F or i f rom 1 to n
ti+1 = ti + h
k1 = h · f (ti , xi )
h
k2 = h · f (ti + 2
k2
k3 = h · f (ti + h2 , xi + 2 )
k4 = h · f (ti + h, xi + k3 )
k1 +2·k2 +2·k3 +k4
xi+1 = xi + 6
Stop
Exerciţiu
Găsiţi soluţia analitică (exactă), calculaţi o soluţie numerică folosind
( metoda lui
y0 = 2 · x
Euler şi comparaţi cele două soluţii pentru problema Cauchy .
y(0) = 1
14
Capitolul 6 - Rezolvarea
ecuaţiilor diferenţiale folosind
transformata Laplace
Definiţie
Funcţia f se numeşte funcţie original dacă sunt verificate proprietăţile:
1. f (t) = 0 pentru t < 0.
2. f este derivabilă pe porţiuni.
3. f este mărginită : ∃ k > 0, p0 ≥ 0 a.ı̂. |f (t)| ≤ k · ep0 ·t ∀t ≥ 0.
Vom nota mulţimea funcţiilor original cu O.
15
16 Cap.6. Transformata Laplace
Prima proprietate este verificată prin definiţie, u0 este constantă pe (−∞, 0) şi
(0, ∞) şi deci derivabilă iar mărginirea are loc pentru k = 1 şi p0 = 0.
Observaţii
• Dacă f satisface proprietăţile 2 şi 3 dar nu satisface proprietatea 1, atunci
ı̂n locul lui f se va folosi ı̂n calcule funcţia ϕ(t) definită astfel:
0
pentru t < 0
1
ϕ(t) = f (t) ◦ u0 (t) = 2 · f (0) pentru t = 0 .
f (t) pentru t > 0
• Este uşor de arătat (exerciţiu!) că dacă f şi g sunt funcţii-original, atunci
f + g şi f · g sunt de asemenea funcţii-original.
Definiţie
Se numeşte transformată Laplace asociată funcţiei original f (t) funcţia F (p):
Z ∞
F (p) = e−p·t · f (t) dt.
0
Se notează:
L[f (t)](p) = F (p),
unde L se numeşte operatorul lui Laplace. Se mai notează pe scurt L[f ] = F .
Demonstraţie:
In primul rând, dacă f1 şi f2 sunt funcţii original, atunci α1 · f1 + α2 · f2 este
funcţie original (Exerciţiu!).
R∞ R∞
L[αR1 · f1 + α2 · f2 ] = 0 e−p·t · (α1 · f1 (t) + α2 · f2 (t)) dt = α1 · 0 e−p·t · f1 (t) dt
∞
+ α2 · 0 e−p·t · f2 (t) dt = α1 · L[f1 ] + α2 · L[f2 ].
16
6.1 Transformata Laplace: Introducere 17
Observaţie:
Proprietatea de liniaritate se păstrează pentru orice numar de termeni ai sumei:
L[α1 · f1 + α2 · f2 + · · · + αi · fi ] = α1 · L[f1 ] + α2 · L[f2 ] + · · · + αi · L[fi ].
Exemplu
R∞
Transformata Laplace a funcţiei f (t) = 1 este: L[f ] = 0 e−p·t · 1 dt = − p1 ·
∞
e−p·t =− p1 · (e−∞ − e0 ) =− p1 · (0 − 1) = p1 .
0
Exemplu
R∞
Transformata Laplace a funcţiei f (t) = eα·t este: L[f ] = 0 e−p·t · eα·t dt =
R ∞ −(p−α)·t ∞ 1
0 e
1
dt = − p−α · e−(p−α)·t = p−α .
0
In cele de mai sus, pentru a avea e−(p−α)·∞ = e−∞ = 0, am presupus că p > α
dacă p şi α sunt numere reale (sau că partea reală a lui p este mai mare decât
partea reală a lui α dacă p şi α sunt numere complexe).
Exemplu
Pentru a calcula transformata Laplace a funcţiei f (t) = cos(β · t) vom folosi
formula lui Moivre (?): ei·β·t = cos(β · t) + i sin(β · t).
Inlocuind ı̂n formulă i cu −i se obţine: e−i·β·t = cos(β·t)−i sin(β·t). Adunând
aceste ultime două relaţii se obţine: ei·β·t + e−i·β·t = 2 · cos(β · t). Rezultă deci:
i·β·t −i·β·t i·β·t −i·β·t
cos(β · t) = e +e 2 =e2 +e 2 .
i·β·t −i·β·t
Atunci L[f ] =L[cos(β · t] = L[ e 2 + e 2 ]= 12 · L[ei·β·t ] + 12 · L[e−i·β·t ] (aici
am ţinut cont de liniaritatea lui L).
Având ı̂n vedere formula de calcul a transformatei unei exponenţiale dedusă
ı̂n exerciţiul anterior, formulă ı̂n care alegem pe rând α = i · β şi α = i · β, se
p+i·β−p−i·β 2·p p
obţine: L[f ]= 12 · p−i·β
1
+ 12 · p+i·β
1
= 12 · (p−i·β)·(p+i·β) = 12 · p2 −(i·β)2 = p2 +β 2 .
β
In mod analog (exerciţiu !) se poate calcula L[sin(β · t)]= p2 +β 2.
Teoremă (a ”depăşirii”):
Dacă L[f (t)](p)=F (p) atunci L[ep0 ·t · f (t)](p)=F (p − p0 ).
Demonstraţie:
R∞
Conform definiţiei transformatei Laplace, L[f (t)](p)=F (p)= 0 e−p·t · f (t) dt.
17
18 Cap.6. Transformata Laplace
R∞ R∞ R∞
Atunci L[ep0 ·t ·f (t)]= 0 e−p·t ·ep0 ·t ·f (t) dt= 0 ep0 ·t−p·t ·f (t) dt= 0 e−(p−p0 )·t ·
f (t) dt=F (p − p0 ).
Exemplu
p
Având ı̂n vedere că L[cos(β · t)]= p2 +β 2 , pentru a calcula transformata Laplace a
Demonstraţie:
R∞
Conform definiţiei transformatei Laplace F (p)= 0 e−p·t ·f (t) dt. Atunci derivata
de ordinul n a lui F ı̂n raport cu R ∞p este: R ∞ dn −p·t
n dn dn
F (n) (p)= ddpFn = dp n (F )= dp n ( 0 e−p·t · f (t) dt)= 0 dp n (e ) · f (t) dt=
R∞ n −p·t
R∞ n n −p·t
= 0 (−t) · e · f (t) dt= 0 (−1) · t · e · f (t) dt=
∞ (n)
=(−1)n · 0 e−p·t ·tn ·f (t) dt=(−1)n ·L[tn ·f (t)](p). Rezultă L[tn ·f (t)](p)= F(−1)(p)
R
n .
Exemplu
1
Având ı̂n vedere că L[eα·t ]= p−α , pentru a calcula transformata Laplace a funcţiei
α·t
t · e se poate aplica teorema anterioară astfel:
1
Alegând f (t) = eα·t , rezultă că F (p) = p−α , aşadar F (1) (p) = dF d 1
dp = dp ( p−α )=
(1)
1 α·t ]=L[t1 ·eα·t ]= F (p) =
=− (p−α) 2 şi deci pentru n = 1 conform teoremei L[t·e (−1)1
1
−
(p−α)2 1
= (−1)1
= (p−α)2.
n!
In mod analog (exerciţiu !) se obţine L[tn · eα·t ]= (p−α) n+1 .
Exemplu
Având ı̂n vedere că L[1]= p1 , pentru a calcula transformata Laplace a funcţiei t se
poate aplica teorema anterioară astfel:
18
6.1 Transformata Laplace: Introducere 19
1 dF
Alegând din nou f (t) = 1, rezultă F (p) = p, aşadar F (1) (p) = dp =
1
(1) −
d 1 1
dp ( p )=− p2 şi deci pentru n = 1 conform teoremei L[t]=L[t1 ·1]= F(−1)(p)
1 =
p2
(−1)1
= p12 .
Exemplu
Procedând ı̂n acelaşi mod ca şi la exemplul anterior putem calcula transformata
Laplace a funcţiei tn :
n dn 1
Alegând f (t) = 1, rezultă că F (p) = p1 , aşadar F (n) (p) = ddpFn = dp n
n ( p )=(−) ·
(n)
n!
pn+1
(exerciţiu !) şi deci conform teoremei derivării imaginii L[t]=L[tn ·1]= F(−1)(p)
n =
n n!
(−) · n+1
p n!
(−1) n = pn+1 .
Exerciţii
Calculaţi transformatele Laplace ale funcţiilor tn ·eα·t , eα·t ·cos(β ·t), eα·t ·sin(β ·t),
t · cos(β · t), t · sin(β · t).
Exemplele şi exerciţiile de mai sus ne permit să construim următorul tabel
de transformate Laplace ale funcţiilor elementare, transformate pe care le vom
utiliza ı̂n aplicaţiile din următoarea secţiune:
Demonstraţie (schiţă):
R∞
Conform definiţiei transformatei Laplace L[f (t)](p)= 0 e−p·t · f (t) dt. Inlocuind
ı̂n (1) (t) şi apoi integrând prin părţi (reamintiţi-vă formula:
R definiţie
(1)
pe f (t) cu
R f (1)
f · g dt = f · g − f · g dt, unde pe post de g avem exponenţiala) se obţine:
19
20 Cap.6. Transformata Laplace
0 0
1
1 p
1
t p2
n!
tn pn+1
1
eα·t p−α
1
t · eα·t (p−α)2
n!
tn · eα·t (p−α)n+1
p
cos(β · t) p2 +β 2
β
sin(β · t) p2 +β 2
p−α
eα·t · cos(β · t) (p−α)2 +β 2
β
eα·t · sin(β · t) (p−α)2 +β 2
p2 −β 2
t · cos(β · t) (p2 +β 2 )2
2·β·p
t · sin(β · t) (p2 +β 2 )2
R∞ R∞
L[f (1) (t)](p)=R 0 f (1) (t) · e−p·t ) dt=f (t) · e−p·t |∞ 0 − 0 f (t) · (−p) · e
−p·t ) dt =
∞ −p·t
0 − f (0) + p · 0 e · f (t) dt=p · F (p) − f (0).
Am demonstrat aşadar prima relaţie, care se poate scrie astfel: L[f (1) (t)](p)=
p · L[f (t)](p) − f (0), ceea ce ı̂nseamnă că practic transformata Laplace a derivatei
unei funcţii se calculează ı̂nmulţind cu p transformata funcţiei şi scazând valoarea
funcţei ı̂n zero. Putem aplica această metodă de calcul celei de-a doua relaţii dacă
ţinem cont de faptul că derivata de ordin doi a unei funcţii este de fapt derivata
de ordin unu a derivatei de ordin unu a funcţiei:
L[f (2) (t)](p)=L[(f (1) )(1) (t)](p)=p · L[f (1) ](p) − f (1) (0)=p · (p · F (p) − f (0)) −
f (0)=p2 · F (p) − p · f (0) − f (1) (0).
(1)
Am demonstrat aşadar şi cea de-a doua relaţie, şi, ı̂n principiu, demonstraţia
poate continua ı̂n mod analog pentru L[f (3) (t)](p), L[f (4) (t)](p), · · · .
Relaţia corespunzătoare derivatei de ordin n se poate demonstra prin inducţie
matematică: se presupune adevărată pentru n = k şi se demonstrează că este
adevărată şi pentru n = k + 1, calcul ce rămâne ca exerciţiu.
20