Professional Documents
Culture Documents
191
192
Observaie. Dac
pe D. ntr-adevr, din Teorema lui Lagrange rezult f f ( x, y ) f ( x , z ) = ( x, c)( y z ), y pentru un anumit c ntre y i z, deci putem alege f ( x, y ) . L = max ( x, y )D y
(4)
n ce privete existena i unicitatea soluiei problemei (1)-(2), are loc urmtoarea teorem.
Teorema 1. Presupunem c sunt ndeplinite condiiile: (i) f este continu pe [a, b] n raport cu x ; (ii) f este lipschitzian pe D n raport cu y ; (iii) (x0, y0) este punct interior lui D. Atunci pentru un > 0 convenabil, exist o soluie unic pe I=[x0, x0+] problemei (1) - (2). Exemplul 1. Fie ecuaia y = 1 + sin( xy ) , D = [0,1] R . Deoarece
f = xcos xy , y
conform observaiei de mai sus, putem lua L = 1. Atunci pentru orice (x0, y0) cu 0 < x0 < 1 exist o soluie a problemei Cauchy pentru ecuaia dat pe un anumit interval [x0, x0+] [0, 1]. Dup cum se tie, soluia problemei (1)(2) se afl cu metoda aproximaiilor succesive. Fie y0(x) = y0,
y n ( x) = y 0 + f (t , y n1 (t ))dt , x I , n = 1, 2, ... .
x0
Atunci irul de funcii (yn)n este uniform convergent pe intervalul I i limita sa y = lim y n este soluie unic a problemei (1)-(2). Mai mult, are loc
n
y ( x) y n ( x) unde
MLn C n +1 LC e , (n + 1)!
(5)
M = sup f ( x, y 0 ) , C = max( a x 0 , b x 0 ) .
xI
193
Metoda aproximaiilor succesive (Picard) este o metod aproximativ de rezolvare a problemei Cauchy. Se aproximeaz soluia y(x) cu y n (x) i se cunoate o evaluare a erorii.
Exemplul 2. Fie ecuaia y = y , y (0) = 1 , D = [ 1, 1] R . Atunci = 1. irul aproximaiilor succesive este:
M=1, L
y1 ( x) = 1 + 1 dt = 1 + x , y 2 ( x) = 1 + (1 + t )dt = 1 + x +
0 x
y 3 ( x) = 1 + (1 + t +
0
0 x
x2 , 2
t2 x x2 x3 )dt = 1 + + + 2 1! 2! 3! ,
Este clar c
Metoda aproximaiilor succesive are dezavantajul c presupune calculul unor integrale, lucru dificil de realizat. Din aceast cauz, aceast metod este mai puin folosit n practic, metoda avnd o importan deosebit, mai ales din punct de vedere teoretic. n ceea ce privete stabilitatea soluiei problemei (1)-(2), ne intereseaz comportamentul soluiei la modificri mici ale funciei f(x,y) i ale datei iniiale y0. Considerm, deci, problema perturbat y = f ( x, y ) + ( x ) , (6) y ( x0 ) = y 0 + , (7) cu aceleai ipoteze asupra funciei f ca n Teorema 1. Presupunem, n plus, c (x) este continu pe [a, b]. Atunci problema (6)-(7) are soluie unic, notat y ( x; , ) .
Teorema 2. Presupunem satisfcute ipotezele Teoremei 1 i c funcia (x) este continu pe [a, b]. Atunci problema (6)-(7) va avea soluie unic y ( x; , ) pe un interval [x0-, x0+] , > 0, uniform pentru toate perturbrile i (x) ce satisfac: 0 , 0 ,
cu 0 suficient de mic. n plus, dac y(x) este soluia problemei neperturbate, atunci
194
x x0
max y ( x) y ( x; , ) k ( + ) ,
(8)
cu k = 1 /(1 L) . Utiliznd acest rezultat, se poate afirma c problema (1)-(2) este corect pus sau stabil. Deci dac se fac mici modificri n ecuaia diferenial sau n data iniial, atunci soluia nu se modific semnificativ. Soluia y depinde continuu de datele problemei, anume funcia f i data iniial y0. Din punct de vedere fizic, semnificaia Teoremei 2 const n faptul c pentru fenomene fizice descrise de ecuaii difereniale, mici abateri sau erori n condiiile iniiale sau n nsi legea de evoluie, nu deformeaz prea puternic procesul. Rezultatul este important cu att mai mult cu ct asemenea perturbaii sau erori sunt ntotdeauna inevitabile. Se poate ntmpla ca o problem s fie stabil, dar prost condiionat n raport cu calculul numeric, dei asemenea situaii nu apar prea des n practic. Pentru a nelege mai bine cnd aceasta se poate produce, vom estima perturbrile soluiei y(x), datorate perturbrilor n problem. Vom simplifica discuia considernd numai perturbrile n data iniial y0 ; perturbrile (x) intervin n rspunsul final conform (8). Perturbm deci, valoarea iniial y0 ca n (7). Fie y(x;) soluia perturbat. Atunci y ( x; ) = f ( x, y ( x; )), x 0 x x 0 + , y ( x0 ; ) = y 0 + Dac y(x) este soluia problemei neperturbate (1)-(2) i z(x) = y(x;) y(x) este eroarea, atunci f ( x, y ( x)) z ( x; ) = f ( x, y ( x; )) f ( x, y ( x)) z ( x; ) , (9) y z ( x0 ; ) = . Aproximarea (9) este valabil cnd y(x; ) este suficient de aproape de y(x) , ceea ce se ntmpl pentru valori mici ale lui i intervale mici [x0-, x0+]. Ecuaia diferenial aproximativ (9) se poate integra uor. Se obine x f (t , y (t )) z ( x; ) exp dt . t x0 Dac derivata parial satisface f (t , y (t )) 0, x 0 t , y
195
atunci z ( x; ) rmne mrginit de cnd x crete. n acest caz, se spune c problema Cauchy este bine condiionat. Ca exemplu de comportare opus, considerm problema y = y + g ( x) , y (0) = y 0 , (10) f = , putem calcula exact z ( x; ) = e x . cu > 0 . Cum y Atunci perturbarea lui y(x) se mrete cnd x crete.
Exemplul 3. Ecuaia diferenial y = 100 y 101e x , y (0) = 1,
(11)
are soluia y ( x; ) = e x + e100 x , care se deprteaz rapid de soluia exact. Spunem c problema (11) este prost condiionat. Revenim acum la problema (1)-(2). Din considerente practice, se presupune c x0 = a , adic se nlocuiete condiia (2) cu y(a) = y0 . (12) Aceast presupunere nu este restrictiv, pentru c dac am gsit un algoritm care rezolv problema (1)-(12), atunci cu acest algoritm putem rezolva i problema (1)-(2). ntr-adevr, fie I1 = [a, x 0 ] i I 2 = [x 0 , b] . Pe intervalul I1 facem schimbarea de variabil X = x 0 x . Atunci y ( x) = y ( x 0 X ) = Y ( X ) i ecuaia (1) devine (13) Y ( X ) = f ( X , Y ) , X [0, x 0 a ] , iar condiia iniial (12) devine Y(0) = y0 . (14) Metodele numerice pentru rezolvarea problemei (1)-(12) constau n alegerea unor noduri (de obicei, echidistante) x k = a + kh, kN i determinarea unor valori aproximative ale soluiei exacte y(x) n aceste noduri, valori pe care le notm cu yk. Aadar yk y(xk) . Se cunosc dou clase importante de metode numerice pentru rezolvarea problemei Cauchy. 1. Metode directe (uni-pas) n care y k este calculat, printr-o relaie de recuren, n funcie numai de valoarea y k 1 calculat anterior. n aceast categorie intr metoda Taylor i metodele Runge-Kutta. 2. Metode indirecte (cu mai muli pai) n care y k se calculeaz printr-o relaie de recuren n funcie de valorile precedente y k m ,..., y k 2 , y k 1 . n aceast categorie intr metodele Adams-Bashforth, Adams-Moulton i metoda predictor-corector.
196
x0 = a
y ( x) =
= Atunci: 2 f x 2
2f x 2
2 f 2 f 2f f f f + y f + y + + x y y = xy y 2 xy y
2
+2
2 f 2 f 2 f f f f + f + + f xy y x y y 2
etc.
y ( x 0 ) = f ( x 0 , y ( x 0 )) = f ( x 0 , y 0 ) , f f ( x0 , y 0 ) f ( x0 , y 0 ) , y ( x 0 ) = ( x 0 , y 0 ) + x y
y ( x 0 ) =
2f x 2
+
( x0 , y 0 ) + 2
2f 2f ( x0 , y 0 ) f ( x0 , y 0 ) + ( x0 , y 0 ) f 2 ( x0 , y 0 ) + 2 xy y
2
f f f ( x0 , y 0 ) ( x0 , y 0 ) + ( x0 , y 0 ) f ( x0 , y 0 ) y y x Pentru p = 3 obinem y ( x1 ) = y 0 +
etc.
h h2 h3 y ( x 0 ) + y ( x 0 ) + y ( x 0 ) + R4 . 1! 2! 3!
197
y ( x1 ) y1 = R4 unde y
IV
1 M 4 h4 , 4!
unde M 4 = sup y IV ( x) ,
x[a , x1 ]
(x) se calculeaz ca mai sus. n continuare, considernd soluia problemei (1) ce satisface y(x1) = y1, deci pornind cu punctul (x1, y1) , se determin y2 care aproximeaz pe y(x2) , .a.m.d. n general, y(xn) se aproximeaz cu yn , dat de h h2 h3 y n = y n 1 + y ( x n1 ) + y ( x n 1 ) + y ( x n 1 ) . 1! 2! 3! Evident, erorile se acumuleaz.
Exemplul 4. Fie ecuaia y = 1
1 3 Atunci y (1) = f 1, = , y (1) = 2 , y (1) = 6 . 2 2 Deci x0 = 1 , x1 = 1.1 . Aproximm y(1.1) cu y1 dat de (0.1) 3 3 0.1 1 (0.1) 2 2+ ( 6) . y1 = + + 2 1! 2 2! 3! Obinem y1 = 1.459 . Pe de alt parte, soluia exact a problemei este y = deci y(1.1) = 1.459090 . Dezavantajul metodei Taylor const n faptul c presupune calculul derivatelor y(2), y(3), ... , y(k), ... , la fiecare pas, ceea ce este dificil de realizat. Aceast deficien este nlturat de metodele care urmeaz. Dac p = 1 se obine metoda lui Euler (1707-1783). n acest caz valorile aproximative yn ale lui y(xn) sunt date de y n = y n 1 + h f ( x n 1 , y n1 ) , n 1 , (15) unde, evident, y0 = y(x0) . x 1 + , 2 x
198
Metoda lui Euler are o interpretare geometric foarte simpl: dac s-a determinat valoarea yn-1, pentru a determina yn , se consider soluia ecuaiei (1) care trece prin (xn-1, yn-1) (deci care satisface y(xn-1)=yn-1 ) ; se duce apoi tangenta la graficul acestei soluii, n punctul (xn-1, yn-1) ; se intersecteaz aceast tangent cu dreapta x=xn , obinndu-se yn. Din acest motiv, metoda lui Euler se mai numete i metoda liniilor poligonale. Dup cum se observ din figura de mai jos, erorile se acumuleaz.
y y2 y (x 2) y1 y (x 1 ) y0
x0
x x01
x2
Exemplul 5. Folosind metoda Euler s se determine soluia aproximativ a urmtoarei probleme Cauchy y 1 = y2 y x 4x 2 y (1) = 0.5 n punctul x=2 n doi pai. n acest caz x0=1 , y0=0.5 , n=2 , h = 0.5 , x1=1+0.5=1.5 , x2=2. Atunci: 0.5 1 = 0.25 , y1 = y 0 + h f ( x0 , y 0 ) = 0.5 + 0.5 0.5 2 1 4 12 y 2 = y1 + h f ( x1 , y1 ) = 0.14236 . Metodele Runge-Kutta se deosebesc de metoda lui Taylor prin faptul c nlocuiesc calculul derivatelor funciei f, prin evaluri ale lui f n diverse puncte. Metoda a fost introdus de matematicianul german Carl David Runge n 1895 i dezvoltat de un alt matematician german, Wilhelm Kutta, n 1901. Vom analiza n detaliu
199
metoda Runge-Kutta de ordinul doi. Valorile aproximative yn ale lui y(xn) sunt date de y n = y n 1 + a1h f ( x n1 , y n 1 ) + a 2 h f ( x n1 + b1h, y n 1 + (16) + b2 h f ( x n1 , y n 1 )) , n 1 , iar y0 = y(x0) . Constantele a1, a2, b1, b2 urmeaz a fi determinate. Dac notm f f ( x n 1 , y n 1 ) , atunci, din f = f ( x n 1 , y n1 ) , f x = ( x n 1 , y n1 ) , f y = x y formula lui Taylor pentru funcii de dou variabile, obinem
y n = y n 1 + a1 h f + a 2 h f + b1 h f x + b2 h f y f + O(h 2 ) =
= y n 1 + (a1 + a 2 ) f h + a 2 b1 f x + a 2 b2 f f y h 2 + O(h 3 ) . Pe de alt parte, din metoda lui Taylor, avem h h2 y n = y n 1 + f + f x + f y f + O(h 3 ) . (18) 1! 2! Identificnd coeficienii lui h i h2 din (17) i (18), rezult a1 + a 2 = 1 1 (19) a 2 b1 = 2 1 . a 2 b2 = 2 Deoarece sistemul (19) are 3 ecuaii i 4 necunoscute, una din necunoscute poate fi aleas arbitrar. De exemplu, dac alegem b2 = , atunci b1 = , deci a1 + a 2 = 1 1 a 2 = 2 , b2 = astfel c formulele (16) se mai scriu
(17)
200
y n = y n 1 + h(a1 g1 + a 2 g 2 ) , n 1 g = f ( x , y ) n 1 n 1 1 (20) g 2 = f ( x n1 + h , y n 1 + h g1 ) a1 + a 2 = 1 1 a 2 = . 2 1 Pentru a1 = a 2 = , = 1 , se obine metoda Euler mbuntit 2 h y n = y n 1 + [ f (x n1 , y n 1 ) + f (x n1 + h, y n 1 + h f (x n1 , y n 1 ))] , n 1 . 2 (21) 1 Pentru a1 = 0, a2 = 1 , = , se obine metoda Euler modificat 2 h h (22) y n = y n 1 + h f x n 1 + , y n 1 + f ( x n 1 , y n 1 ) , n 1 . 2 2
Exemplul 6. Folosind metoda Euler mbuntit s se determine soluia aproximativ a urmtoarei probleme Cauchy y 1 = y2 y x 4x 2 y (1) = 0.5 n punctul x=2 n doi pai. n acest caz x0=1 , y0=0.5 , h = 0.5 , x1=1.5 , x2=2. h Cum y1 = y 0 + [ f (x 0 , y 0 ) + f (x 0 + h, y 0 + h f ( x 0 , y 0 ) )] , prin calcul 2 se obine y1 = 0.32118 . Similar h y 2 = y1 + [ f ( x1 , y1 ) + f (x1 + h, y1 + h f ( x1 , y1 ) )] = 2 = 0.32118 + 0.25 ( 0.22207 0.12341) = 0.23481. Exemplul 7. Folosind metoda Euler modificat s se determine soluia aproximativ a problemei Cauchy din Exemplul 6, n punctul x=2 n doi pai.
201
h h n acest caz y1 = y 0 + h f x 0 + , y 0 + f ( x 0 , y 0 ) , deci y1 = 0.34031 , iar 2 2 h h y 2 = y1 + h f ( x1 + , y1 + f ( x1 , y1 )) = 0.25868 . 2 2 n continuare prezentm metoda Runge-Kutta de ordinul patru n forma particular sub care este cel mai des utilizat ( W.Kutta - 1901). h y n = y n 1 + (g1 + 2 g 2 + 2 g 3 + g 4 ) , n 1 , (23) 6 unde g1 = f ( x n 1 , y n1 ), h h g 2 = f ( x n 1 + , y n 1 + g1 ), 2 2 h h g 3 = f ( x n 1 + , y n 1 + g 2 ), 2 2 g 4 = f (x n1 + h, y n 1 + hg 3 ), i y0 = y(x0).
Exemplul 8. Folosind metoda Runge-Kutta de ordinul 4 s se determine soluia aproximativ a problemei Cauchy din Exemplul 6, n punctul x=2 n doi pai. Folosind notaiile din Exemplul 6 se obine: g1 = f ( x 0 , y 0 ) = 0.5 , h h g 2 = f ( x 0 + , y 0 + g1 ) = f (1.25, 0.5 0.25 0.5) = 0.31937 , 2 2 h h g 3 = f ( x 0 + , y 0 + g 2 ) = f (1.25, 0.5 0.25 0.31937) = 0.31959 , 2 2 g 4 = f ( x 0 + h, y 0 + h g 3 ) = f (1.5, 0.5 0.5 0.31959) = 0.22218 , deci h y1 = y 0 + [g1 + 2 (g 2 + g 3 ) + g 4 ] = 0.33332 . 6 Pentru y 2 calculm mai nti g1 = f ( x1 , y1 ) = 0.22222 , h h g 2 = f ( x1 + , y1 + g1 ) = 0.1632 , 2 2 h h g 3 = f ( x1 + , y1 + g 2 ) = 0.16322 , 2 2 g 4 = f ( x1 + h, y1 + h g 3 ) = 0.125 . n consecin
202
y 2 = y1 +
h [g1 + 2 (g 2 + g 3 ) + g 4 ] = 0.24999 . 6
Aceast metod se poate aplica i pentru sisteme de ecuaii difereniale. Fie sistemul de ecuaii difereniale dy1 dx = f1 ( x, y1 , y 2 ) (24) dy 2 = f ( x, y , y ), 2 1 2 dx cu condiia iniial y1 ( x 0 ) = y10 . (25) y 2 ( x 0 ) = y 20 Formulele (23) se scriu n acest caz astfel y1n y1,n 1 h g11 h g 21 h g 31 h g 41 + + , n 1, + + y =y 2n 2,n 1 6 g12 3 g 22 3 g 32 6 g 42
unde: g11 = f1 ( x n1 , y1,n 1 , y 2,n 1 ) g12 = f 2 ( x n 1 , y1,n 1 , y 2,n 1 ) h h h g 21 = f1 x n 1 + , y1,n1 + g11 , y 2,n 1 + g12 2 2 2 h h h g 22 = f 2 x n 1 + , y1,n 1 + g11 , y 2,n 1 + g12 2 2 2 h h h g 31 = f1 x n 1 + , y1,n1 + g 21 , y 2,n 1 + g 22 2 2 2 h h h g 32 = f 2 x n1 + , y1,n 1 + g 21 , y 2,n1 + g 22 2 2 2 g 41 = f1 x n 1 + h, y1,n 1 + hg 31 , y 2,n 1 + hg 32 (27)
203
Orice metod direct pentru rezolvarea probelemei Cauchy poate fi scris sub forma general y n = y n 1 + h ( x n 1 , y n 1 , h) , n 1, (28) y0 = y(x0) , unde funcia ( x, y, h) se numete funcie de cretere. Pentru h 0, relaia (28) se scrie sub forma y n y n 1 = ( x n 1 , y n 1 , h) . (29) h
Definiie. Dac y(x) este soluia exact a problemei Cauchy (1)-(2), se numete eroare de trunchiere a metodei, funcia y ( x + h) y ( x ) t ( x, h ) = ( x, y ( x), h), (30) h unde x [x 0 , b ) i h > 0 astfel ca x+h b . Definiie. Se spune c formula (28) d o aproximare consistent a problemei (1), (2), dac t(x,h) 0 cnd h 0 , uniform n raport cu x [x 0 , b ) .
x0 xb
Propoziia 1. Metoda lui Taylor de ordin p este consistent de ordin p. Metodele Runge-Kutta de ordinul p dat sunt metode consistente de ordinul p. Demonstraie. Pentru metoda dat de formula lui Taylor de ordinul p, avem hp t ( x, h ) = y ( p +1) ( ) , unde x < < x + h . ( p + 1)! 1 y ( p +1) ( x) , rezult consistena de ordinul p. Alegnd N = sup ( p + 1)! x0 xb
Spre exemplu, metoda lui Euler este consistent de ordinul 1. Pentru metodele Runge-Kutta este dificil s obinem o form explicit a lui N. Pn acum am considerat erorile de trunchiere, adic erorile ce apar prin discretizarea ecuaiei difereniale. Ne intereseaz ns, n ce msur soluia ecuaiei
204
cu diferene, adic a ecuaiei obinut prin discretizare (deci irul (yn)n), aproximeaz soluia y(x) a ecuaiei difereniale. Aadar, vom aborda problema convergenei soluiei ecuaiei cu diferene la soluia ecuaiei difereniale. Aceast convergen trebuie definit cu atenie. De exemplu, dac analizm comportarea irului (yn)n, cnd h 0 , pentru n fixat, nu vom obine un concept util, deoarece, n acest caz x n = x 0 + nh x 0 , iar pe noi ne intereseaz ce se ntmpl pentru x x 0 . Deci trebuie s considerm comportarea irului (yn)n cnd h 0, cu x = xn = x0+nh fixat. Pentru a obine o soluie pentru valoarea x x 0 fixat, trebuie s mrim numrul de pai cerui pentru a ajunge la x din x0, dac pasul h descrete.
Definiie. Metoda numeric direct se numete convergent dac pentru orice x[x0, b] , avem lim y n = y ( x) (31)
h 0
x=xn=x0+nh . Aceast definiie se datoreaz lui G. Dahlquist. n studiul convergenei metodelor directe, este util urmtoarea lem.
Lema 1. Au loc inegalitile: 1 + x e x , () x R ,
m mx
(32)
0 (1 + x ) e , () x 1 , m N . (33) Demonstraie. Cum (33) este consecin imediat a lui (32), este suficient s justificm (32). Dar (32) este consecin imediat a formulei lui Taylor, deoarece x2 ex =1+ x + e , 2 unde este ntre 0 i x. n continuare, vom analiza convergena metodelor directe. Fie e n = y ( x n ) y n , n 0 . Deci en reprezint eroarea global dintre soluia exact i soluia aproximativ n nodurile xn . Din (30), obinem y ( x n ) = y ( x n 1 ) + h ( x n 1 , y ( x n 1 ), h) + ht ( x n 1 , h) . Scznd (28) din aceast egalitate, avem e n = e n 1 + h[ ( x n1 , y ( x n 1 ), h) ( x n 1 , y n 1 , h] + ht ( x n 1 , h) (33) Evident e0 = 0 . Din nefericire, faptul c t(xn-1,h) este mic, nu este suficient pentru a asigura c en este mic. Ar trebui s artm c max e n C max t ( x n , h) ,
n n
205
unde constanta C este independent de h ; este ceea ce numim stabilitatea metodei de aproximare. n cele ce urmeaz, presupunem c funcia de cretere satisface condiia lui Lipschitz ( x, y , h ) ( x, z, h ) K y z , x [x0 , b] , y , z R , h > 0 . (34) i c metoda este consistent de ordin p cu constanta N. Considerm mai nti cazul K > 0. Atunci din (33) rezult c exist h0 > 0 astfel ca pentru h(0,h0] s avem e n e n 1 (1 + hK ) + Nh p +1 .
Aplicnd aceast inegalitate recursiv rezult e n (1 + hK )n e0 + Nh p +1[1 + (1 + hK ) + ... + (1 + hK ) n 1 ] Deoarece e0 = 0, din Lema 1, rezult c
e n Nh p
Aceast teorem s-a obinut pornind de la principiu important al analizei numerice, care se poate enuna astfel: CONSISTEN + STABILITATE CONVERGEN
Definiie. O metod numeric direct se numete convergent de ordinul p N
dac exist C > 0 astfel nct y ( x n ) y n Ch p , oricare ar fi xn = x[x0, b]. Teorema 3 spune c o metod numeric consistent de ordinul p N i pentru care funcia de cretere satisface condiia Lipschitz (34) este convergent de ordinul p . Numrul p introdus de Teorema 3 nu este unic determinat (dac
206
exist): dac h < 1 i p este ordin de convergen, atunci i p cu 0< p < p este un ordin de convergen pentru aceast metod. Se poate pune problema determinrii unui ordin de convergen maximal pentru o metod dat. n practic este suficient s se determine un ordin de convergen convenabil. Metodele prezentate mai sus au ordine de convergen diferite. Spre exemplu se poate arta c metoda lui Euler mbuntit are ordin de convergen 2, dac exist L > 0 astfel nct f ( x, y ) L , ( )( x, y ) [a, b] J . y n funcie de L, se poate determina K din (34). innd seama de (21) pentru aceast metod avem 1 ( x, y , h) = [ f ( x, y ) + f ( x + h, y + h f ( x, y ))] . 2 Atunci 1 ( x , y , h ) ( x , z , h ) f ( x, y ) f ( x, z ) + 2 1 + f ( x + h, y + h f ( x, y )) f ( x + h, z + h f ( x, z )) 2
L2 h0 1 1 L y z + L[ y z + h f ( x , y ) f ( x , z ) ] ( L + ) y z , h h0 , 2 2 2 L2 h0 . 2 n acest caz, din formula Taylor rezult
deci K = L +
t ( x, h) = h 2 ( R3 ( x) + Q3 ( x, h)), unde R3(x) este eroarea de la formula Taylor, iar Q3(x,h) eroarea care se face oprind termenii de ordinul doi din formula Runge-Kutta. Dac derivatele lui y i ale lui f sunt mrginite, atunci metoda Euler mbuntit are ordinul de consisten 2. n ncheiere, menionm c metoda folosit n studiul stabilitii soluiei problemei Cauchy se poate aplica i n cazul metodei Euler. Considerm metoda numeric (analoag problemei Cauchy): z n = z n1 + h[ f ( x n 1 , z n 1 ) + ( x n 1 )] , n 1 (36) z0 = y0 + . Comparm cele dou soluii numerice ( z n ) n , ( y n ) n , cnd h 0. Fie en = zn-yn , n 0. Atunci z0 = . Scznd (15) din (36), obinem e n = e n 1 + h[ f ( x n 1 , z n1 ) f ( x n 1 , y n1 )] + h ( x n 1 ), care are aceeai form ca (23). Utiliznd acelai procedeu ca ndemonstraia Teoremei 3, rezult
207
Aceast inegalitate este analoag inegalitii (8) din cazul problemei Cauchy iniiale. Aadar metoda Euler este stabil numeric. De altfel, toate metodele numerice pentru problema Cauchy au aceast form de stabilitate, imitnd stabilitatea problemei iniiale. Analiza se poate simplifica, lund (x) = 0 i considernd numai efectul perturbrii iniiale y0 . Nu vom analiza aici problema erorilor de rotunjire.
y ( x n+1 ) y ( x n ) = f ( x, y ( x))dx.
xn
xn +1
(38)
Pentru a calcula integrala, folosim o metod numeric, de exemplu o metod Newton-Ctes pentru nodurile echidistante xn-m, ..., xi, ..., xn, m n, xi = xn+(i-n)h, i = n m, n . Dac x[xn, xn+1], atunci exist t[0,1] astfel nct x = xn + th. (39) Fie Pm polinomul de interpolare Lagrange corespunztor tabelului x xn-m ... xi ... xn y fn-m ... fi ... fn
unde fi = f(xi,yi), i = n m, n . Vom aproxima valoarea exact y(xn+1) prin y n +1 = y n + Pm ( x)dx.
xn n x n+1
(40)
i=nm
Li ( x) f ( xi , yi ), unde
208
Li ( x) =
j = n m xi j i
x xj xj
=
j i
(t j + n)h = j = n m (i j ) h (1) n i (t + k )
m
(t + m)...(t + n i + 1)(t + n i 1)...t k =0 . = (i n + m)...1(1)...[ (n i )] (i n + m)!(n i )!(t + n i ) Fcnd schimbarea de variabil (39) n (40), obinem: y n +1 = y n + (
1
(1) n i (t + k )
k =0
0 i = n m (i n + m)!( n i )!(t + n i )
h f i )dt
(t + k )
(41)
Ai f i ,
(42)
cunoscut sub numele de formula Adams-Bashforth. n continuare vom explicita formula (42) pentru valori particulare ale lui m. Astfel pentru m = 1, deci cnd se folosesc nodurile xn i xn-1, formula (42) devine y n +1 = y n + An 1 f n 1 + An f n , unde conform (41) (1) 1 h 1 t (t + 1) t2 An 1 = dt = h 0!1! 0 t + 1 2
1
=
0 1
h , 2
t2 (1) 0 h 1 t (t + 1) 3 An = dt = h + t = h . 2 t 1! 0! 0 0 2 n consecin pentru m = 1, formula lui Adams-Bashforth se scrie h y n +1 = y n + (3 f n f n 1 ) . (43) 2 Similar, pentru m = 2 se obine h y n +1 = y n + (23 f n 16 f n 1 + 5 f n 2 ) , (44) 12 iar pentru m = 3 h (55 f n 59 f n 1 + 37 f n 2 9 f n 3 ) . y n +1 = y n + (45) 24
209
n ceea ce privete evaluarea erorii, scznd (40) din (38) obinem y ( x n+1 ) y n +1 = y ( x n ) y n + [ f ( x, y ( x)) Pm ( x)]dx ,
xn xn +1
Deci eroarea din metoda lui Adams-Bashforth este mai mic dect suma dintre eroarea din metoda Runge-Kutta folosit n calculul lui yn i eroarea de la integrarea numeric. n cazul m = 1, se obine folosind schimbarea de variabil (39) :
x n+1 xn
f ( x, y ( x)) Pm ( x) dx
= unde
5 3 h M2, 12
M 2 = sup f ( x, y ( x)) .
x[a , b ]
Deci eroarea de integrare n acest caz este de ordinul h3. S menionm acum c integrnd (1) pe [xn-1, xn+1], n locul lui (38) se poate considera y ( xn +1 ) = y ( x n 1 ) + f (x, y ( x) )dx .
x n1 x n+1
(46)
Se poate proceda apoi ca mai sus. Aceast metod este atribuit lui E. J. Nystrm (1925). Pentru m = 1, de exemplu, se obine (47) yn+1 = yn-1 + 2hf(xn, yn). Metodele Adams-Bashforth i Nystrm sunt cunoscute ca metode explicite, deoarece relaia de recuren (42) sau cea corespunztoare pentru metoda Nystrm nu conin f(xn+1, yn+1); ele exprim explicit yn+1 n funcie de yn, yn-1, ... , yn-m.
Exemplul 1. Folosind metoda Adams-Bashforth de ordin trei s se determine soluia aproximativ a urmtoarei probleme Cauchy 1 y = y2 y x 4x2 y (1) = 0.5 n punctul x=2.25, determinnd soluia n x=2 cu metoda Runge-Kutta de ordinul patru n patru pai.
210
Pentru a aplica metoda Runge-Kutta de ordin patru lum: x0=1 , y0=0.5, x x0 = 0.25 , x1=x0+h=1+0.25=1.25, x2=1.5 , x3=1.75 , x4=2 x=2 , n=4 , h = n i obinem y1=0.4 , y2=0.33333 , y3=0.28571 , y4=0.25 . Pentru a determina valoarea aproximativ a soluiei n x=2.25 folosim metoda Adams-Bashforth de ordin trei
y5 = y 4 +
h (55 f 4 59 f 3 + 37 f 2 9 f1 ) , 12
unde f 2 = f ( x2 , y 2 ) = 0.22222, f 3 = f ( x3 , y3 ) = 0.16327 , f 4 = f ( x 4 , y 4 ) = 0.125, obinndu-se y(2.25)y5=0.22307 ( soluia exact fiind y(2.25)=0.22222).
Metoda Adams-Moulton. Presupunem c printr-o metod direct am determinat valorile aproximative y1, ..., yn n nodurile xk = x0+kh, k = 1, n i c xn+1 < b. Fie Pm+1 polinomul de interpolare Lagrange corespunztor tabelului xn+1 x xn-m ... xn f fn-m ... fn fn+1
(48)
Bi f i , i=nm
n +1
(49)
cunoscut sub numele de formula Adams-Moulton. Vom particulariza acum aceast formul. Pentru m = 0 se obine h y n +1 = y n + ( f n +1 + f n ), (51) 2 pentru m = 1 h y n +1 = y n + (5 f n +1 + 8 f n f n 1 ), (52) 12 pentru m = 2 h y n +1 = y n + (9 f n +1 + 19 f n 5 f n 1 + f n 2 ) . (53) 24
211
Deoarece fn+1 = f(xn+1, yn+1), necunoscuta yn+1 apare i n membrul drept, deci, n general nu se poate explicita.De aceea metoda Adams-Moulton este o metod implicit. De obicei (49) trebuie rezolvat ca o ecuaie algebric printr-o metod iterativ. Se alege
( y n0 )1 , +
apoi se calculeaz
() ( ( () y n1+1 = F ( y n0)1 ) , y n2)1 = F ( y n1+1 ) etc., + + unde F apare din scrierea convenabil a lui (49) sub forma yn+1 = F(yn+1).
Pentru a calcula o aproximaie bun y n +1 , explicit, de exemplu, Adams-Bashforth. Se poate demonstra urmtoarea teorem.
Teorema 4. Fie irul recurent
( y nk +1) = y n + +1 i =nm ( Bi f i + Bn +1 f ( xn +1, ynk+)1 ) , n
( 0)
k N .
(54)
y n +1 = y n +
Bi f i i=nm
212
Presupunem c printr-o metod direct am determinat valorile aproximative y1, ..., yn n nodurile x1, ..., xn. Fie m1, m2 n i xn+1 = xn+h b. n prima etap (etapa predictor) se determin valoarea aproximativ yn+1 cu metoda Adams-Bashforth, pentru m = m1. Valoarea astfel determinat se noteaz cu
( y n0)1 , +
i este folosit n
continuare n etapa a doua (etapa corector) pentru determinarea valorii yn+1 cu metoda Adams-Moulton cu m = m2. Cele mai utilizate metode predictor-corector sunt: h ( 0) (m1 = 1) y n +1 = y n + 2 (3 f n f n 1 ) 1) y ( k +1) = y + h f x , y ( k ) + f (m2 = 0) n n +1 n +1 n n +1 2 h ( 0) (m1 = 2) y n +1 = y n + 12 (23 f n 16 f n 1 + 5 f n 2 ) 2) y ( k +1) = y + h 5 f x , y ( k ) + 8 f f (m2 = 1) n n +1 n +1 n n 1 n +1 12 h ( 0) (m1 = 3) y n +1 = y n + 24 (55 f n 59 f n1 + 37 f n 2 9 f n 3 ) 3) y ( k +1) = y + h 9 f x , y ( k ) + 19 f 5 f (m2 = 2) . n n +1 n +1 n n 1 + f n 2 n +1 24
[(
) ]
( (
( (
Exemplul 3. Folosind metoda Adams-Bashforth-Moulton de ordin (3,2) s se determine soluia aproximativ a urmtoarei probleme Cauchy y 1 = y2 y x 4x2 , y (1) = 0.5 n punctul x=2.25, considernd soluia y(0)(2.25) obinut n exemplul 1. Ca i n exemplul 1 avem: x0=1 , y0=0.5 , x=2 , n=4, h = 0.25 , x1=x0+h=1+0.25=1.25, x2=1.5 , x3=1.75 , x4=2 i obinem y1=0.4 , y2=0.33333 , y3=0.28571 , y4=0.25 . Pentru a determina valoarea aproximativ a soluiei n x=2.25 folosim metoda Adams-Bashforth de ordin trei
y5 = y 4 +
h (55 f 4 59 f 3 + 37 f 2 9 f1 ) , 12
213
si obinem
n continuare vom aborda un anumit tip de stabilitate pentru a ilustra anumite idei, care nu pot fi prezentate n cazul metodei Euler. Am artat la metoda Euler, c metodele numerice pentru problema Cauchy au o anumit form de stabilitate, imitnd stabilitatea problemei Cauchy. n particular acest tip de stabilitate caracterizeaz i metoda (47) dat de y n +1 = y n 1 + 2h f ( x n , y n ) , n 1 . Din pcate, aceast stabilitate nu este satisfctoare pentru scopuri practice. Vom arta aceast metod nu este convenabil n raport cu un anumit sens de stabilitate pe care o vom defini. Deoarece relaia de recuren depinde de f(x,y) este greu s dm rezultate generale privind stabilitatea numeric a unei astfel de metode. Este instructiv s cutm, cu metoda de mai sus, soluia numeric a problemei y = y , y (0) = 1 , R , (55) a crei soluie este y ( x) = e x . Aceast problem o vom utiliza ca problem model. Dac o metod numeric se comport ru cu o problem att de simpl ca (55), este puin probabil ca aceasta s fie bun pentru ecuaii difereniale mai complicate. n acest caz (47) devine y n +1 = y n 1 + 2hy n , n 1 . (56) Vom calcula soluia exact a acestei ecuaii i o vom compara cu soluia
exact a ecuaiei (55), y ( x) = e x . Ecuaia (56) este un exemplu de ecuaie liniar cu diferene de ordin 2. Exist o teorie general pentru ecuaii liniare cu diferene de ordin p. Multe metode pentru rezolvarea ecuaiilor difereniale au un analog n rezolvarea ecuaiilor cu diferene, fiind un ghid n a rezolva (56). Vom ncepe cutnd soluii liniar independente pentru ecuaii cu diferene. Acestea sunt combinate sub forma soluiei generale. Similar cu soluiile exponeniale ale ecuaiilor difereniale liniare, cutm soluii pentru (56) de forma
yn = r n , n 0 , (57) pentru un anumit r necunoscut. nlocuind n (56), pentru a gsi condiii necesare pentru r , obinem r n +1 = r n 1 + 2hr n . mprind cu r , rezult r 2 = 1 + 2hr . (58) Este valabil i reciproca. Dac r satisface (58), atunci yn dat de (57) satisface (56). Ecuaia (58) se numete ecuaie caracteristic pentru metoda (47). Rdcinile sale sunt
n 1
214
(59)
n y n = 0 r0 + 1r1n , n 0 . (60) Coeficienii 0 i 1 din (60) se determin din condiiile ca y0 i y1 s coincid cu ce se obine din (60) pentru n = 0 i n = 1. 0 + 1 = y 0 0 r0 + 1r1 = y1 . Soluia acestui sistem este y ry y r y 0 = 1 1 0 , 1 = 0 0 1 . r0 r1 r0 r1 h Dar y0 = 1, y1 = e (acestea sunt valorile soluiei exacte). Atunci, folosind formula lui Taylor, obinem e h r1 0 = = 1 + O ( h 2 2 ) 2 2 2 1+ h
1 =
r0 e h
2 2
= O(h 33 ) .
1 0 ,
cnd
h 0 . n
1r1n
1 + O(h ) . ntr-adevr
1 2 2 h + O(h 4 ), 2 1 e h = 1 + h + 2 h 2 + O (h 3 ) . 2 r0 = h + 1 + Atunci r0 = e h + O( h 3 ) = e h 1 + O (h 3 ) ,
e xn .
De fapt
n r0 = e xn [1 + nO (h 3 )] = e xn (1 + O (h 2 )) .
Pentru a vedea dificultatea utilizrii formulei (60) n rezolvarea numeric a ecuaiei (55), s examinm cu atenie, valorile relative ale lui r0 i r1. Pentru 0 < < are loc r0 > r1 > 0, ()h .
215
n Atunci termenul r1n va crete mai puin rapid dect r0 i termenul corect n vom avea 0 < r0 < 1 , r1 < -1 , n (60), 0 r0 va domina. Totui pentru < 0 , n h > 0. n consecin, 1r1n va domina 0 r0 cnd n crete pentru h fixat, n necontnd ct de mic este h ales iniial. Termenul 0 r0 0 cnd n , pe
cnd termenul 1r1n crete n magnitudine, alternnd ca semn cnd n crete. Termenul 1r1n se numete soluie parazit a metodei numerice (56), deoarece nu corespunde unei soluii a ecuaiei difereniale originale y = y . Ecuaia original are o familie de soluii cu un parametru, depinznd de valoarea iniial y0, dar aproximaia (56) are familia de soluii (60), cu doi parametri, care depinde de y0 i y1. Noua soluie 1r1n este o creaie a metodei numerice; pentru problema (55) cu < 0 ea face ca soluia numeric s se deprteze de soluia corect cnd xn +. Din cauza acestei comportri, spunem c metoda (47) este slab stabil.
Exemplul 4. Fie problema model y = y cu y(0) = 1 i h = 0.25 . Se aplic metoda (47) cu y0 = 1 i y1 determinat cu metoda Euler. Pentru xn = 2.25 soluia yn devine negativ i alterneaz ca semn la fiecare pas. f Se constat c dac are semn negativ, atunci instabilitatea slab apare y uzual n rezolvarea problemei Cauchy prin metoda (47). xk yk y(xk) xk yk y(xk) 0 1 1 1.75 0.89844 0.173774 0.25 0.75 0.77880 2 0.244141 0.135353 0.5 0.625 0.606531 2.25 -0.32227 0.105399 0.75 0.4375 0.472367 2.5 0.260254 0.082085 1 0.40625 0.367879 2.75 -0.162354 0.063928 1.25 0.234375 0.286505 3 0.341431 0.049787 1.5 0.289063 0.223130 Exemplul 5. Fie problema
y = x y 2 ,
y(0) = 0.
difereniale este strict cresctoare pentru x 0. Dar f ( x, y ) = x y 2 , deci f = 2 y < 0 pentru y > 0. Ne ateptm la o anumit instabilitate. Lund h = y 0.25 se constat c de la xn=2.25 soluia numeric ncepe s descreasc, ajungnd n xn = 3.25 s fie negativ.
xk
yk
xk
yk
216
Integrarea numeric a ecuaiilor difereniale de ordinul nti n MATLAB n MATLAB funciile ode23(fxy,x0,x,y0) i ode45(fxy,x0,x,y0) sau ode23(fxy,x0,x,y0,err,urma) i ode45(fxy,x0,x,y0,err,urma) rezolv ecuaii difereniale de ordinul nti y = f(x,y), y(x0) = y0, prin metoda Runge-Kutta de ordinul doi, respectiv patru, parametrii avnd
urmtoarele semnificaii: fxy este numele fiierului de tip m care conine funcia f(x,y) , (x0,y0) sunt coordonatele punctului iniial, iar x este punctul n care se cere valoarea aproximativ a soluiei y , err este precizia soluiei, implicit 10-3, respectiv 10-6 , urma atunci cnd are valoare diferit de zero se tipresc rezultatele intermediare.
Exemplu. S se determine valoarea aproximativ a soluiei urmtoarei probleme Cauchy y = xy2+x3+1, y(0) = 1 , n punctul x = 2 , pasul fiind stabilit n mod automat de funcia ode23 (ode45) . Se creeaz fiierul de tip m numit fxy care conine f(x,y) cu secvena % Fisierul cu functia f(x,y) este de tip m function f=fxy(x,y) f=x*y^2+x^3+1; dup care se apeleaz funcia ode45 astfel [x,y]=ode45(fxy,0,2,1,0.0001,1) ; disp(Solutia aproximativa intre x0 si x); disp(x); disp(y);
217
Exerciii
Folosind metoda Taylor de ordinul 3 s se gseasc soluia aproximativ a urmtoarelor probleme Cauchy n punctele menionate. y = xy n 4 pai. 1. y (0) = 1 n x = 1 R. h = 0.25 x x0=1 x1=1.25 x2=1.5 x3=1.75 x4=2 y' 0 0.25781 0.56772 1.00432 y' ' 1 1.16106 1.70316 2.84558 y' ' ' 0 1.3374 3.26439 6.7164 y 1 1.03125 1.13544 1.3391 1.69659 4x y = n 4 pai. 2. y y (1) = 2 n x = 2 R. h = 0.25 x x0=1 x1=1.25 x2=1.5 x3=1.75 x4=2 y' 2 2.05128 2.07279 1.00432 y' ' -2 -1.81149 -1.5867 2.84558 y' ' ' 0 0.335864 0.3667 6.7164 y 2 2.4375 2.89465 3.36421 3.84191 S se determine soluia aproximativ a ecuaiilor difereniale urmtoare folosind metoda Euler i Euler mbuntit. 2x y = y 3. y y (0) = 1 n x = 1 cu pasul h = 0.2 . R. Cu metoda Euler pentru xi = x0+ih , yi+1 = yi+hf(xi,yi) , i=0, 1, ... n , n=5 , obinem: i xi yi f(xi,yi) 0 0 1 1 1 0.2 1.2 0.8667 2 0.4 1.3733 0.7805 3 0.6 1.5294 0.7458 4 0.8 1.6786 0.7254 5 1 1.8237 Cu metoda Euler mbuntit h y i +1 = y i + [ f ( xi 1 , y i 1 ) + f ( xi 1 + h , y i 1 h f ( xi 1 , y i 1 ))] 2
218
obinem: xi 0 yi 1
0.2 1.1867
0.4 1.3484
0.6 1.4938
0.8 1.6272
1 1.7542
2 y = y 2 x 4. 2 y (1.5) = n x = 2.5 cu pasul h = 0.2 . 3 R. Cu metoda Euler pentru xi = x0+ih , yi+1 = yi+hf(xi,y) , i=0, 1, ... n , n=5 , obinem: xi 1.5 1.7 1.9 2.1 2.3 yi 0.66667 0.75556 0.77979 0.76898 0.74142 Cu metoda Euler mbuntit h y i = y i 1 + [ f ( xi 1 , y i 1 ) + f ( xi 1 + h, y i 1hf ( xi 1 , y i 1 ))] 2 obinem: xi 1.5 1.7 1.9 2.1 2.3 yi 0.66667 0.72323 0.73822 0.72971 0.70865
2.5 0.70709
2.5 0.68148
Folosind metoda Runge-Kutta de ordinul patru s se determine soluia aproximativ a urmtoarelor ecuaii difereniale de ordinul nti n condiiile precizate n fiecare caz n parte. y 8 2 y = + y 2 5. n 5 pai. x x y (1) = 2 n x = 2 R. x g1 g2 g3 g4 y 6. R. h = 0.2 x1=1.2 x0=1 -2 -1.39534 -1.73521 -1.23279 -1.61511 -1.17043 -1.34582 -1.01161 2 1.66512 2 y = 0.25 y + x 2 y (0) = 1 n x = 1 h = 0.25 x2=1.4 -1.03432 -0.92905 -0.89411 -0.7942 1.42467 n 4 pai. x3=1.6 -0.80563 -0.73552 -0.71505 -0.65032 1.24218 x4=1.8 -0.65645 -0.60971 -0.59759 -0.55593 1.09694 x5=2
0.97604
219
x g1 g2 g3 g4 y
x4=1
-0.49547
7. Folosind metoda Adams-Bashforth de ordin 3 s se determine soluia aproximativ a urmtoarei probleme Cauchy : y2 y 3 y' = x x2 3 y (3) = 1 n punctul x=3.5, lund h=0.1 i determinnd cu metoda Runge-Kutta de ordin 4 valaorea lui y(3.4). R. Folosind metoda Runge-Kutta de ordin 4 se determin y(3.4)=0.88235, i aplicnd formula Adams Bashforth pentru m=3 gsim y(3.5)=0.85714 8. Folosind metoda Adams-Bashforth de ordin 3 s se determine soluia aproximativ a urmtoarei probleme Cauchy : y y' = x y (2) = 0.5 n punctul x=2.5, lund h=0.1 i determinnd cu metoda Runge-Kutta de ordin 4 valoarea lui y(2.4). R. Folosind metoda Runge-Kutta de ordin 4 se determin y(2.4)=0.41666, i aplicnd formula Adams Bashforth pentru m=3 gsim y(2.5)=0.40000 . 9. Folosind metoda Adams-Moulton de ordin 2 s se determine soluia problemei 2y 2 2 y' = y Cauchy x x2 y (1) = 2 n punctul x=2.25, lund h=0.25 i determinnd cu metoda Runge-Kutta de ordin 4 valoarea lui y(2.25). R. Cu metoda Runge-Kutta de ordin 4 se determin valoarea aproximativ y(2.25)=0.88717, iar dup 3 iteraii cu metoda Adams-Moulton se obine rezultatul y(2.25)=0.88704.
220
10. Folosind metoda Adams-Moulton de ordin 2 s se determine soluia problemei Cauchy y2 y 3 y' = 3 x x2 y (3) = 1 n punctul x=3.5, lund h=0.1 i determinnd cu metoda Euler mbuntit valoarea lui y(3.4). 11. Folosind metoda Adams-Bashforth-Moulton pentru m1=3 i m2=2 s se determine soluia aproximativ dup 3 iteraii a problemei Cauchy de la exerciiul 9.