You are on page 1of 30

Rezolvarea numeric a problemei Cauchy pentru ecuaii difereniale

191

6. Rezolvarea numeric a problemei Cauchy pentru ecuaii difereniale


6.1. Generaliti
Ecuaiile difereniale reprezint unul dintre cele mai importante instrumente matematice, necesar pentru nelegerea unor rezultate din mecanic, fizic, etc. n acest capitol prezentm metode numerice pentru rezolvarea problemei Cauchy pentru ecuaii difereniale. Fie D = [a, b] x J R2, f : D R i (x0, y0)D. Problema Cauchy pentru ecuaia diferenial y = f ( x, y ) , (1) const n determinarea unei soluii a ecuaiei (1) , adic a unei funcii derivabile y : I [a, b] R astfel ca pentru orice xI, (x, y(x))D i y = f ( x, y ( x)) , () x I care satisface condiia iniial (2) y(x0) = y0 . Dup cum este cunoscut, gsirea soluiei exacte a problemei (1)-(2) nu este posibil dect n anumite cazuri. De exemplu, determinarea soluiei exacte, prin tehnici clasice, a ecuaiei aparent simple y = x 2 + y 2 , y (0) = 1 , nu este posibil. Se justific astfel necesitatea recurgerii la metode aproximative pentru rezolvarea problemei Cauchy. Reamintim, pentru nceput, cteva rezultate privind existena, unicitatea i stabilitatea soluiei acestei probleme. Definiie. Funcia f : D R se numete lipschitzian n raport cu yJ, dac exist o constant L > 0 astfel ca pentru orice (x, y)D i (x, z)D are loc inegalitatea f ( x, y ) f ( x , z ) L y z . (3)

192

Bazele Analizei Numerice

Observaie. Dac

f exist i este mrginit pe D, atunci f este lipschitzian y

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

Rezolvarea numeric a problemei Cauchy pentru ecuaii difereniale

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

............................................................ x x 2 x3 xn + + ... + . y n ( x) = 1 + + 1! 2! 3! n! y n y = ex, care este soluia exact a problemei.

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

Bazele Analizei Numerice

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

Rezolvarea numeric a problemei Cauchy pentru ecuaii difereniale

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

Bazele Analizei Numerice

6.2. Metode directe


Metoda lui Taylor (1685-1731). Fie nodurile echidistante xn = x0+nh , i y=y(x) soluia exact a problemei (1)-(2). Aadar y ( x) = f ( x, y ( x)) , y ( x 0 ) = y 0 . Presupunem c f este difereniabil de un numr suficient de ori. Cum x1 = x0+h , din formula lui Taylor rezult h h2 h p ( p) y ( x1 ) = y ( x 0 + h) = y ( x 0 ) + y ( x 0 ) + y ( x 0 ) +....+ y ( x 0 ) + R p +1 , 1! 2! p! unde y ( p +1) ( ) p +1 R p +1 = h , ( x 0 , x1 ) . ( p + 1)! Din y ( x) = f ( x, y ( x)) rezult succesiv f f y ( x) = ( x, y ( x)) + ( x, y ( x)) y ( x) = x y f f = ( x, y ( x)) + ( x, y ( x)) f ( x, y ( x)) , x y

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!

Rezolvarea numeric a problemei Cauchy pentru ecuaii difereniale

197

Aproximm soluia exact n x1 , deci y(x1) , cu y1 = y 0 + eroarea fiind dat de h h2 h3 y ( x0 ) + y ( x 0 ) + y ( x 0 ), 1! 2! 3!

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

y 3 , y (1) = . Alegem h = 0.1 . n acest caz 2 x 2 1 2f f f y y 2y 2 f 1 f = f ( x, y ) = 1 , = , = , , = , =0 . x x x 2 y x x 2 y 2 x 3 xy x 2

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

Bazele Analizei Numerice

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

Rezolvarea numeric a problemei Cauchy pentru ecuaii difereniale

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

Bazele Analizei Numerice

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.

Rezolvarea numeric a problemei Cauchy pentru ecuaii difereniale

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

Bazele Analizei Numerice

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)

g 42 = f 2 x n 1 + h, y1,n 1 + hg 31 , y 2,n1 + hg 32 i y1,0 = y1 ( x 0 ) . y 2, 0 = y 2 ( x 0 )

Rezolvarea numeric a problemei Cauchy pentru ecuaii difereniale

203

Asupra consistenei, stabilitii i convergenei metodelor directe

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 ) .

Din (30) se vede c, pentru o metod consistent, avem y ( x) = ( x, y ( x),0) = f ( x, y ( x)) .


Definiie. Se spune c formula (28) d o aproximare consistent de ordin p , dac exist N 0 , h0 > 0 i un ntreg pozitiv p astfel ca sup t ( x, h) N h p ,

pentru orice h(0, h0].

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

Bazele Analizei Numerice

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

Rezolvarea numeric a problemei Cauchy pentru ecuaii difereniale

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

(1 + hK ) n 1 e ( xn x0 ) K 1 e nhK 1 . Nh p = Nh p K K K Pentru K = 0, se obine imediat e n ( x n x 0 )Nh p . Am demonstrat deci urmtoarea teorem.


Teorema 3. Dac metoda (28) este consistent de ordin p, cu constanta N, iar funcia satisface condiia lui Lipschitz (34), atunci exist h0>0, astfel ca pentru h(0, h0] avem e ( xn x0 ) K 1 Nh p , dac K 0 y( xn ) y n (35) K p dac K = 0 , ( x n x 0 ) Nh , unde y(x) este soluia exact a problemei Cauchy. Deci metoda este convergent.

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

Bazele Analizei Numerice

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

Rezolvarea numeric a problemei Cauchy pentru ecuaii difereniale

207

e (b x0 ) L 1 . L n n consecin, exist constantele k1, k2 , independente de h, astfel ca max z n y n k1 + k 2 . (37) max z n y n e (b x0 ) +


n

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.

6.3. Metode indirecte (cu mai muli pai)


Metoda Adams-Bashforth. S presupunem c printr-o metod direct (de exemplu, de tip Runge-Kutta) s-au determinat valorile y1, ..., yn n nodurile x1, ..., xn, unde yk y(xk). Se pune problema determinrii unei valori aproximative yn+1 pentru y(xn+1) (y(x) este soluia exact a problemei Cauchy). Integrnd (1) pe intervalul [xn, xn+1], obinem:

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)

Dup cum se tie Pm ( x) =

i=nm

Li ( x) f ( xi , yi ), unde

208

Bazele Analizei Numerice


n

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

Dac notm cu Ai = obinem y n +1 = y n +


i=nm
1 ( 1) n i h dt , k =0 (i n + m)!(n i )! 0 t + n i

(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

Rezolvarea numeric a problemei Cauchy pentru ecuaii difereniale

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 y ( x n +1 ) y n +1 y ( x n ) y n + f ( x, y ( x)) Pm ( x) dx.


xn x n+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

M 2 x n+1 M2 1 3 ( x xn )( x xn 1 )dx = h t (t + 1)dt = 2 x 2 0


n

= 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

Bazele Analizei Numerice

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

Formula corespunztoare lui (40) este: y n +1 = y n + Pm +1 ( x)dx .


xn xn+1

(48)

Procednd ca mai sus, obinem y n +1 = y n + unde


(t + k ) 1 (1) n +1i h k = 1 dt , i = n m, n + 1 , (50) Bi = (i n + m)! (n + 1 i )! t + n i
0 m

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

Rezolvarea numeric a problemei Cauchy pentru ecuaii difereniale

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)

se poate utiliza o formul

k N .

(54)

Dac funcia f satisface condiiile Teoremei 1 i h este ales astfel nct


( Bn +1 L < 1, L fiind constanta lui Lipschitz, atunci irul y nk ) este convergent i +1 ( limita sa y n +1 = lim y nk ) satisface ecuaia +1 k n +1

y n +1 = y n +

Bi f i i=nm

Eroarea din metoda Adams-Moulton se poate estima ca i n cazul metodei Adams-Bashforth.


Exemplul 2. Folosind metoda Adams-Moulton de ordin unu s se determine soluia aproximativ a urmtoarei probleme Cauchy 1 y = y2 y x 4x2 y (1) = 0.5 n punctul x=1.5, considernd soluia y(0)(1.5) obinut cu metoda Euler modificat, cu h = 0.05. Atunci y(0)(1.5) = 0.333406 i cum h ( y nk +1) = y n + (5 f n +1 + 8 f n f n 1 ) , k=0,1,2... +1 12 obinem
( ( y 51) = 0.333403 , y 52) = 0.333331

212

Bazele Analizei Numerice

Metoda predictor-corector ( Adams-Bashforth-Moulton )

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

Rezolvarea numeric a problemei Cauchy pentru ecuaii difereniale

213

si obinem

( y(2.25)y5=0.22307 . Notm y 50) = 0.22307 i aplicm n continuare

( ( metoda Adams-Moulton de ordin 2. Obtinem: y 51) = 0.22219 ; y 52) = 0.22219 .

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

Bazele Analizei Numerice

r0 = h + 1 + h 2 2 , r1 = h 1 + h 2 2 . Soluia general a lui (56) este

(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

2 1+ h Pentru aceste valori, 0 1 i consecin


n r0

1 =

r0 e h
2 2

= O(h 33 ) .

1 0 ,

cnd

h 0 . n

1r1n

n 0 cnd h0, deci din (60) rezult c termenul 0 r0 ar


2

trebui s corespund soluiei exacte =e


x n

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

deoarece e h = 1 + O (h) . n consecin

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 .

Rezolvarea numeric a problemei Cauchy pentru ecuaii difereniale

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.

Soluia acestei ecuaii

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

Bazele Analizei Numerice

0 0.25 0.5 0.75 1 1.25 1.5 1.75

0 0 0.125 0.242188 0.470673 0.631421 0.896326 0.979721

2 2.25 2.5 2.75 3 3.25 3.5 3.75

1.2914 1.145864 1.759889 0.847244 2.775987 -1.505808 3.267258 -5.093296

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);

Rezolvarea numeric a problemei Cauchy pentru ecuaii difereniale

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

Bazele Analizei Numerice

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

Rezolvarea numeric a problemei Cauchy pentru ecuaii difereniale

219

x g1 g2 g3 g4 y

x0=0 0.25 0.25024 0.25023 0.2822 -1

x1=0.25 0.28158 0.34354 0.34007 0.43109 -0.93612

x2=0.5 0.43039 0.54889 0.54305 0.68984 -0.84946

x3=0.75 0.68916 0.86348 0.85678 1.0619 -0.71178

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

Bazele Analizei Numerice

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.

You might also like