Documente Academic
Documente Profesional
Documente Cultură
Metode Numerice Cu Aplicatii in Energetica
Metode Numerice Cu Aplicatii in Energetica
Introducere
Acest tip de probleme provine din cadrul vast al analizei funcionale. Ecuaiile difereniale sau cu derivate
pariale constituie modelele matematice pentru majoritatea problemelor inginereti: studiul eforturilor la care
sunt supuse elementele de rezisten: bare, grinzi, plci subiri, groase, conducte; studiul problemelor de cmp
electric n dielectrici, cmp magnetic, cmp termic, propagarea undelor, curgerea fluidelor etc.
Odat stabilit fenomenul fizico-tehnic i ecuaiile difereniale care l guverneaz, ca form, coeficieni,
condiii la limit (pe frontier) rmne de rezolvat ultima problem: rezolvarea acestui model matematic. Din
diverse motive: neomogenitile fizice, frontiere cu geometrie dificil, numr de necunoscute, etc., rezolvarea o
vom face cutnd o soluie aproximativ cu ajutorul unui cod numeric, folosind calculatorul.
O ecuaie diferenial este o ecuaie n care necunoscuta este o funce i n care intervine funcia
necunoscut, derivatele ei de diverse ordine i variabile independente de care depind aceste funcii.
In cazul n care funcia necunoscut depinde de o singur variabil independent, ecuaia se numete
ecuaie diferenial ordinar, iar n situaia n care funcia necunoscut depinde de mai multe variabile
independente, ecuaia se numete cu derivate pariale.
Ordinul unei ecuaii difereniale este cel mai nalt ordin a derivatei funciei necunoscute ce figureaz n
ecuaia respectiv.
Expresia general a unei ecuaii difereniale, sub form implicit este:
unde y = y (x) .
dy d 2 y
dny
F x, y, , 2 ,..., n = 0
dx dx
dx
dny
dy d 2 y
d n 1 y
f
x
y
,
,
,
,...,
=
dx dx 2
dx n
dx n 1
xi , i = 0,1,... .
Vom expune n continuare principalele metode numerice al cror algoritm are un cost de calcul redus i se
preteaz la implementarea pe calculator pentru rezolvarea numeric a ecuaiilor difereniale.
Pentru ecuaii difereniale ordinare acestea se pot clasifica n dou mari tipuri:
- metode unipas (de tip Euler, Runge-Kutta) n care determinarea valorii aproximative a soluiei n fiecare
punct se va obine direct, pe baza informaiilor din punctul precedent;
- metode multipas, n care valoarea soluiei exacte n fiecare punct este aproximat folosind informaiile
din mai multe puncte anterioare.
Evident este vorba de soluii aproximative pe care nu avem cum s le comparm cu o soluie exact,
deoarece practic aceasta este imposibil de gsit.
De aceea n practic trebuie s procedm cu atenie pentru alegerea algoritmilor cei mai potrivii pentru
problema concret de rezolvat.
1. METODE DE TIP EULER
1.1. Metoda Euler
Se consider ecuaia diferenial:
y = (x, y)
(1)
cu condiia iniial:
y(x0) = y0,
unde funcia este definit ntr-un domeniu D din planul xOy.
Perechea (1),(2) constituie o problem Cauchy.
Presupunem asigurate existena i uniciitatea soluiei.
(2)
Se
definete
un
cmp
de
direcii
n
D
dac
n
fiecare
punct
M(x, y) D se ia direcia = arctg (x, y) ( fiind unghiul format de direcie cu sensul pozitiv al axei Ox).
Acest cmp de direcii are urmtoarea interpretare: graficul soluiei ecuaiei (1) cu condiia (2) trece prin
punctul M(x0, y0) i este tangent n orice punct al su direciilor cmpului.
Metoda lui Euler propune aproximarea soluiei printr-o linie poligonal n care fiecare segment este
coliniar cu direcia cmpului definit de extremitatea sa stng. Astfel se consider nodurile echidistante xi = x0
+ ih, i = 0, n . n punctul M0(x0, y0) se calculeaz direcia cmpului definit de M0 i se scrie ecuaia dreptei
determinate de M0 i de aceast direcie:
y = y0 + (x0, y0)(x x0)
(3)
Funcia (3) se propune ca aproximant a soluie problemei
(1)+(2) pe [x0,x1]. Valoarea aproximativ a
soluiei n x1 este dat de:
y1 = y0 + (x0, y0)(x1 x0) = y0 + oh
Repetm procedeul i presupunnd c n xi s-a calculat valoarea aproximativ yi, atunci pe intervalul [xi,
xi+1] se aproximeaz soluia cu:
y = yi + (xi, yi)(x xi) = yi + i(x xi),
iar n punctul xi+1 se obine valoarea aproximativ:
yi+1 = yi + hi.
Aproximarea este justificat i de urmtoarea teorem:
Teorem.
h
y( x + h ) y ( x )
= y' ( x ) + y' ' (1 )
2
h
h
y( x ) y( x h )
b) Dac y C2[a, b], atunci () 2 (x h, x) cu proprietatea
= y ' ( x ) y ' ' ( 2 )
2
h
y( x ) y( x h )
h
= y ' ( x ) y ' ' ( 2 )
h
2
Deci
y( x + h ) y( x )
y( x ) y( x h )
+ 1 ( h ) ; y ' ( x ) =
+ 2 (h )
h
h
Considernd cunoscut aproximarea yi a soluiei problemei (1)+(2) n xi, procedeul de aproximare Euler, poate fi
acum rezumat astfel:
y' ( x ) =
f i = f ( xi , y i )
xi +1 = xi + h i = 0,1,...
y = y + hf
i
i
i +1
(4)
Observaii:
(i).Neglijarea termenilor de ordin superior n (4) face ca metoda s fie comod n calcul, dar puin precis, erorile
cumulndu-se la fiecare pas.
(ii).Metoda se poate aplica i dac nodurile xi nu sunt echidistante, avnd la fiecare iteraie alt pas h n acest caz.
In general o metod unipas poate fi scris sub forma:
yi +1 = yi + h( xi , yi ; h)
Pentru y = y (x) soluie a problemei Cauchy (1)+(2) (i pentru orice i {0,1,2,..., n 1} ) considerm:
i ( h) =
1
( y ( xi+1 ) y ( xi ) ) ( xi , y ( xi ); h)
h
Cantitatea de mai sus se numete eroare de consisten a metodei n xi i reprezint o msur a calitii metodei
de aproximare.
Pentru metoda Euler, innd cont de algoritmul acesteia, de expresia erorii de consisten i de faptul c
( xi , y i ; h) f ( xi , y i ) obinem c
1
2
Exemplul 1
Se consider problema Cauchy:
2x
y' = y
y
y(0) = 1, x [0,1]
Ne propunem s determinm o soluie aproximativ a acestei probleme folosind metoda Euler cu pasul h =
0,2.
Rezolvare
Folosind
formulele
(4)
pentru
x3 = 0,6; x4 = 0,8; x5 = 1 i y0 = 1, obinem:
2x 0
y1 = y0 + hf(x0, y0); f(x0, y0) = y0
= 1.
y0
Deci y1 = 1 + 0,2 1 = 1,2.
x0
0;
x1
0,2;
x2
0,4;
y2
y1+0,2f(x1,
y 1)
2x
y1+0,2 y1 1 =
y1
1,2
0,20,8667
= 1,3733.
Obinem n final urmtorul tabel, ultima coloan reprezentnd valorile exacte ale soluiei problemei
propuse (y = 2 x + 1 ).
xi
0
0,2
0,4
0,6
0,8
1
yi(Euler)
1
1,2
1,3733
1,5294
1,6786
1,8237
yi (exact)
1
1,1832
1,3416
1,4832
1,6124
1,7320
Considerm pe [xi, xi+1] ca direcie a segmentului MiMi+1 direcia definit de punctul de la mijlocul
segmentului (nu de extremitatea stng ca n formula iniial) se obine metoda Euler modificat. Dac xi, yi sunt
valori calculate, procesul iterativ este urmtorul:
h
x i = x 0 + ih; f i = f ( x i , y i ); x i + 1 = x i + 2 ;
2
y = y + h f ; f = f x , y ; y = y + hf ;
i
i
1
i
1
i+ 1
i + 1 i + 1 i +1
i+
i+
2
2
2
2
2
2
y' = y
y , x [0,1] , h = 0,2
y ( 0) = 1
Rezolvare
x0 = 0; x1 = 0,2; x2 = 0,4; x3 = 0,6; x4 = 0,8; x5 = 1;
2x
f(x,y) = y
y
h
h
x1/2 = x0 + = 0,1; y1/2 = y0 + f(x0, y0) = 1,1
2
2
f(x1/2, y1/2) = 0,9182 = f1/2
y1 = y0 + hf1/2 = 1 + 0,2 0,9182 = 1,1836
Continund n acelai mod obinem tabelul:
xi
0,
0,2
yi (Euler modificat)
1
1,1836
yi (exact)
1
1,1832
0,4
0,6
0,8
1
1,3426
1,4850
1,6152
1,7362
1,3416
1,4832
1,6124
1,7320
Introducnd y ca o nou variabil, se poate nlocui ecuaia diferenial (1) cu urmtorul sistem de ecuaii:
dy
= y'
dx
y' = f ( x , y).
xi = x0 + ih se obine:
Integrnd prima ecuaie a sistemului de la xi la xi+1, unde
x i +1
y i +1 = y i + y' dx;
xi
'
y i = f ( x i , y i )
Folosind metoda dreptunghiului pentru aproximarea integralei din prima ecuaie obinem:
(5)
yi+1 = yi + hyi = yi + h(xi, yi).
Dac aplicm metoda trapezului pentru aproximarea aceleiai integrale se obine:
h
h
yi+1 = yi + ( yi' + yi' +1 ) = yi + (f ( x i , y i ) + f ( x i +1 , y i +1 )) =
2
2
h
= yi + ( f i + f i +1 ) .
(6)
2
Ecuaia (6) poate fi rezolvat iterativ, relativ la necunoscuta yi+1. Dac se alege ca aproximaie iniial yi(+01)
dat de (5), obinem pentru yi+1 valoarea:
h
yi(+1)1 = yi + ( f ( xi , yi ) + f ( xi +1 , yi(+01) )) .
(7)
2
Deci pentru construirea liniei poligonale care aproximeaz soluia problemei (1) + (2) este dat algoritmul
EulerCauchy:
xi +1 = xi + h;
(0)
y i +1 = y i + hf i ;
i = 0,1,...
f i +( 01) = f ( xi +1 , y i(+01) );
y = y (1) = y + h ( f + f ( 0 ) ).
i +1
i
i
i +1
i +1
2
Pentru aceast metod i (h) este de ordinul O(h 2 ) .
Observaie: In scopul ameliorrii aproximaiilor se pot utiliza metodele prezentate de o manier iterativ. Astfel,
metode euler-Cauchy ne conduce la urmtorul algoritm de calcul:
yi(+01) = yi + hf i ;
y i(+k1) = y i +
h
( f i + f i +( k11) ) , k = 1, 2,
2
cu f i(+k11) = f x i +1 , y i(+k11)
Se demonstreaz c dac funcia este lipsichitzian n y, de constant L i dac h este suficient de mic cu
hL < 2 atunci yi(+k1) yi +1 , pentru k .
n practic, se continu iteraiile dup indicele k pn cnd un criteriu de eroare impus de exemplu:
y i(+k1) y i(+k11)
< , impus, y i(+k1) 0, este satisfcut.
y i(+k1)
Exemplul 3
S se gseasc soluia aproximativ a problemei Cauchy:
y' = x + y
y(0) = 1, x [0,1]
folosind metoda Euler-Cauchy i o precizie de 10-4.
Rezolvare
Vom folosi pasul h = 0,05; x0 = 0; x1 = 0,05; y0 = 1;
f(x, y) = x + y;
y1( 0 ) = y0 + hf(x0, y0) = 1 + 0,05 1 = 1,05
h
y1(1) = y0 +
f ( x 0 , y 0 ) + f x 1 , y1( 0) =
2
0,05
(1 + 1,1) = 1,0525
=1+
2
0,05
y1( 2) + y 0 +
f (x 0 , y 0 ) + f x 1 , y1(1) =
2
0,05
(1 + 1,1025) = 1,0525625
=1+
2
Deci fiind stabile primele 4 zecimale rezult: y1 = 1,0525.
Similar cu x2 = 0,1 obinem:
y (20 ) = y1 + hf ( x 1 , y1 ) =1,1077
))
))
yi +1 = yi + f ( xi , yi ) + 3 f xi + h, yi + hf ( xi , yi .
3
3
4
1. Sunt metode directe, adic pentru determinarea aproximrii soluiei la pasul i+1 avem nevoie de
informaiile existente n punctul precedent xi, yi.
2. Sunt identice cu seriile Taylor pn la termenii hn, unde h este pasul curent iar n este diferit pentru
metode diferite din aceast familie i definete ordinul metodei.
3. n procesul de calcul nu necesit dect evaluarea funciei din memebrul drept pentru diverse valori x i
y . Nu este nevoie de calculul derivatelor acesteia.
Metodele de tip Euler pot fi i ele incluse n familia Runge-Kutta i putem astfel observa c metoda Euler
este o metod R-K de ordinul nti iar metodele Euler-Cauchy i Euler-Heun sunt metode R-K de ordinul 2.
Ne ocupm n special de rezolvarea ecuaiilor difereniale ordinare cu condiii iniiale. Adic pentru
ecuaii difereniale ordinare de ordinul nti ne intereseaz rezolvarea problemei Cauchy:
y' ( x ) = f ( x , y( x ))
(8)
, x [a, b], x0 = a
y( x 0 ) = y 0
Metodele Runge-Kutta constau n aproximarea soluiei problemei (8) astfel:
m
y ( x + h) z ( h) = y ( x ) + c i k i ( h)
i =1
k1 (h) = hf ( x, y )
k (h) = hf ( x + a h, y + b k )
2
2
21 1
unde
........................
k m (h) = hf ( x + a m h, y + bm1 k1 + bm 2 k 2 + ... + bm ,m1 k m1
i ai =
i 1
b
j =1
ij
, i = 2,3,..., m
c
i =1
(h )
(h) =
(p + 1)!
k = 0 k!
(h) =
h p +1 ( p +1)
(h ) , 0 < < 1
(p + 1)!
(9)
= 1.
1) Dac m = 1, atunci:
(h) = y(x+h) y(x) c1k1(h) = y(x+h) y(x) c1hf(x,y)
Se verific uor c (0) = 0 pentru orice funcie f.
(h) = y(x+h) c1f(x,y)
Obinem (0) = y(x) c1f(x,y) = (1 c1)f(x,y).
Se observ c pentru c1 = 1, (0) = 0 pentru orice funcie f.
(h) = y(x+h), deci (0) = y(x) = fx(x,y) + f(x,y) fy(x,y)
Se observ c (0) 0 pentru o anumit funcie f.
De exemplu, pentru f(x,y) = y se obine (0) = y. Deci p = 1.
Astfel, pentru c1 = 1, se obine formula:
y(x+h) = y(x) + hf(x,y)
care, este formula din metoda Euler. Eroarea este de ordinul lui h.
2) Dac m = 2, atunci:
(h)
=
y(x+h)
y(x)
c1k1(h)
c2k2(h)
c1hf(x,y) c2hf(x + a2h, y + b21k1)
Se verific uor c (0) = 0 pentru orice funcie f.
(h) = y(x+h) c1f(x,y) c2f(x + a2h, y + b21k1)
-c2h [ a 2 f x +a 2h (x + a 2 h, y + b 21k1 ) + b 21f (x, y)f y+b21k1 (x + a 2 h, y + b 21k1 ) ]
y(x+h)
y(x)
(x + a2h, y + b21k1)] .
c2h[ f hh
Obinem: (0) = y(x) 2c2[a2fx (x,y) + b21f(x,y) fy(x,y)] =
=(fx + ffy) 2c2(a2fx + b21f fy) = (1 2c2a2)fx + (1 2c2b21)ffy
( x + a 2 h , y + b 21k1 )]
(h) = y(x+h) 3c2 [f hh
( x + a 2 h , y + b 21k1 )]
c2h [f hhh
Obinem: (0) = y(x)3c2( a 22 fxx+a2b21ffxy+a2b21ffyx+ b 221 f2fyy) =
= (fxx + ffxy + ffyx + fxfy + ff2y + f2fyy) 3c2( a 22 fxx + a2b21ffxy+ a2b21ffyx + b 221 f2fyy) = (1 3c2 a 22 ) fxx + (1
3c2a2b21) ffxy+
+ (1 3c2a2b21)ffyx + (1 3c2 b 221 ) f2 fyy + fxfy + f f y2
Dac:
1 c1 c 2 = 0
c1 + c 2 = 1
(10)
1
1 2c 2 a 2 = 0 sau
1 2c b = 0
a 2 = b 21 = 2c
2
2 21
1
Astfel, o soluie a sistemului (10) este: c1 = c2 = , a2 = b21= 1, i pentru aceast soluie se obine formula
2
Runge-Kutta simpl:
1
y( x + h ) = y( x ) + 2 ( k 1 + k 2 )
(10)
k 1 = hf ( x , y)
k = hf ( x + h , y + k )
1
2
y( x + h ) y( x ) =
x+h
y' ( t )dt =
f (t)dt
x
Din cele dou relaii de mai sus rezult formula trapezului (vezi 5.1.).
x +h
f (t )dt = 2 [f (x ) + f (x + h )]
x
alt
formul
Runge-Kutta
de
ordinul
2
se
obine
pentru
1
3
2
c1 = , c2 = , a2 = b21 = i anume:
4
4
3
1
y( x + h ) = y( x ) + (k 1 + 3k 2 )
4
(11)
k 1 = hf ( x , y)
k 2 = hf x + 2 h , y + 2 k 1
3
3
3.
y' = xy
Se consider problema Cauchy:
y(0) = 1
Folosind o formul Runge-Kutta de ordinul 2, s se aproximeze soluia problemei date n xi = 0.1i, 1 i
Rezolvare
f(x,y) = xy;
x0 = 0; y0 = 1;
h = 0.1
/2
. Deci
y(0,1) 1,005013
y(0,2) 1,020201
y(0,3) 1,046027
Vom ntocmi urmtorul tabel:
I
0
1
xi
0
0.1
yi
1
1.005
f(xi,yi)
0
0.1005
k1 = hf(xi,yi)
0
0.01005
xi + h
0.1
0.2
yi + k1
1
1.01505
f(xi + h, yi + k1)
0.1
0.20301
k2= hf(xi+h, yi+k1) 0.01 0.020301
(k1 + k2) /2
0.005 0.0151755
2
3
0.2
0.3
1.0201755 1.0459859
0.2040351
0.0204035
0.3
1.040579
0.3121737
0.0312174
0.0258104
3) Pentru m = 3, avem:
(h) = y(x + h) y(x) c1k1 c2k2 c3k3, unde:
k1 = hf(x,y); k2 = hf(x+a2h, y+b21k1); k3 = hf(x+a3h, y+b31k1 + b32k2)
Efectund calcule asemntoare ca n cazul 2) se constat c (0) = (0) = (0) = (0) = 0, f, dac:
1
1
2
2
c1 + c 2 + c 3 = 1; c 2 a 2 + c 3 a 3 = 2 ; c 2 a 2 + c 3 a 3 = 3
a = b + b ; a = b ; c a b = 1
31
32
2
21 3 2 32
3
6
care este de asemenea un sistem compatibil nedeterminat cu o infinitate de soluii.
O soluie a acestui sistem este:
1
2
1
1
c1 = ; c2 = ; c3 = ; a2 = , a3 = 1
6
3
6
2
1
b21 = , b31 = -1, b32 = 2
2
obinndu-se urmtoarea formul Runge-Kutta de ordinul 3:
y ( x + h ) = y ( x ) + 6 ( k1 + 4 k 2 + k 3 )
k1 = hf ( x, y )
k 2 = hf x + h , y + k1
2
2
k 3 = hf ( x + h, y k1 + 2k 2 )
(12)
y ( x + h) = y ( x) + 4 (k1 + 3k3 )
k1 = h f ( x, y )
k = h f x + h , y + k1
2
3
3
2
2
k3 = h f x + 3 h, y + 3 k2
(13)
h
h
x
x
1
y ( x + h) = y ( x) + (k1 + 2k2 + 2k3 + k4 )
6
k1 = h f ( x, y )
h
k1
k 2 = h f x + , y +
2
2
1
1
k3 = h f x + h, y + k2
2
2
k = h f ( x + h, y + k )
3
4
(14)
1
y ( x + h) = y ( x) + (k1 + 3k2 + 3k3 + k4 )
8
k1 = h f ( x, y )
h
k1
k 2 = h f x + , y +
3
3
2
1
k3 = h f x + h, y k1 + k2
3
3
k = h f ( x + h, y + k k + k )
1
2
3
4
(15)
formula Kutta-Simpson
Observaie. Aceste formule sunt de ordinul patru.
.
Pentru calculul aproximativ al soluiei unei probleme Cauchy (8), pe un interval [a, b], cu pasul h
procedm astfel:
ba
x0 = a, xi = x0 + ih, i = 0, N cu xN = b , deci h =
N
cunoscnd pentru xi, valorile yi (yi y(xi)) de exemplu pentru i = 0, cunoatem x0, y0.
Calculm:
xi+1 = xi + h
1
yi+1 = yi + (k1 +2k2 + 2k3 + k4)
6
k1 = hf(xi, yi)
k
h
k2 = hf x i + , y i + 1
2
2
k
h
k3 = hf x i + , y i + 2
2
2
k4 = hf(xi + h, yi +k3)
Exemplul 5
y' = xy
Se consider problema Cauchy:
.
y(0) = 1
S
aproximm
soluia
acestei
ecuaii
i = 1,9 , h = 0.1, folosind o metod Runge-Kutta de ordin 4.
xi
yi
valoarea soluiei exacte
0.1
1.005013
1.005013
0.2
1.020202
1.020201
2
0.3
1.046028
1.046027
y(x) = e x / 2
0.4
1.083287
1.083286
0.5
1.133148
1.133148
0.6
1.197217
1.197217
0.7
1.277621
1.277620
0.8
1.377128
1.377128
0.9
1.499303
1.499303
punctele
xi
ih,
y i +1 = y i + h ( xi , y i ; h)
m
( xi , y i ; h) = c j k j
j =1
k j = f ( x + ha j , y + h b js k s , j = 1,2,..., m
s =1
a j = b js , j = 1,2,..., m
s =1
Comparativ cu metodele explicite, funciile kj numai sunt definite explicit, ci printr-un set de m m
ecuaii implicite, n general neliniare. n practic, se folosete cazul metodelor Runge-Kutta implicite cu m
=2
Astfel:
kj = f(x + haj, y + bj1hk1 + bj2hk2), j = 1,2
Considernd k1, k2 dezvoltabile sub forma
kj = Aj + hBj + h2Cj + h3Dj + O(h4), j = 1,2
pe baza dezvoltrii n serie Taylor n raport cu (x, y) a lui kj, j = 1,2 se obine prin identificarea puterilor lui
h:
1
3
1
3
; a2 = m
a 1 =
2 6
2 6
1
b = b = ; b = a 1 ; b = a 1
22
12
1
21
2
11
4
4
4
(16)
Observaie. Prin simetrie se observ faptul c valorile date prin alternarea semnelor, n relaiile
(16), conduc la aceeai metod.
n concluzie, o metod Runge-Kutta implicit de ordinul patru, este dat de formulele:
y = y + h (k + k )
i
1
2
i +1
2
1
1
3
1
3
h, yi + k1 + +
k1 = f xi + +
4 6 k 2
2
6
4
xi + 1 3 h, yi + 1 3 k1 + 1 k 2
k
f
=
2
2 6
4 6
(17)
Remarc. Este important precizarea existenei unei metode Runge-Kutta de tip semi-explicit de ordinul
patru, descris de relaiile de mai jos:
yi +1 = yi + 6 (k1 + 4k2 + k3 )
k1 = f ( xi , yi )
k2 = f xi + 1 h, yi + 1 k1 + 1 k2
2
4
4
k3 = f ( xi + h, yi + k2 )
(18)
y ' ( x ) = f ( x, y )
x [a, b], x0 [a, b]
y ( x0 ) = y 0
i diviziunea intervalului [a, b] dat de: a x 0 < x1 < ... < x n b .
(19)
Forma general a unei metode multipas este dat printr-o relaie de recuren ce exprim valoarea y i +1 n
raport cu valorile lui y (x) i y ' ( x) n xi +1 i n punctele precedente:
yi +1 = am 1 yi + am 2 yi 1 + ... + a0 yi +1 m +
+ h(bm f ( xi +1 , yi +1 ) + bm 1 f ( xi , yi ) + ... + b0 f ( xi +1 m , yi +1 m ) )
i = m 1, m,..., m N *
(20)
1
( y ( xi +1 ) a m1 y ( xi 1 ) ... a0 y ( xi +1m ) )
h
bm f ( xi +1 , y ( xi +1 )) bm 1 f ( xi , y ( xi )) .. b0 f ( xi +1m , y ( xi +1 m ))
i ( h) =
(21)
Printre metodele explicite multipas, cele mai utilizate sunt cele de tip Adams-Bashforth:
(i). de ordinul trei, cu trei pai:
y i +1 = y i +
h
(23 f ( xi , y i ) 16 f ( xi 1 , y i 1 ) + 5 f ( xi 2 , y i 2 ))
12
i = 2,3,...
(22)
yi +1 = yi +
h
(55 f ( xi , yi ) 59 f ( xi 1 , yi 1 ) + 37 f ( xi 2 , yi 2 ) 9 f ( xi 3 , yi 3 ))
24
i = 3,4,...
(23)
Cele mai cunoscute metode implicite, multipas, sunt cele de tip Adams-Moulton:
(i). de ordinul trei, cu doi pai:
y i +1 = y i +
h
(5 f ( xi +1 , y i +1 ) + 8 f ( xi , y i ) f ( xi 1 , y i 1 ))
12
i = 1,2,...
(24)
yi +1 = yi +
h
(9 f ( xi +1 , yi +1 ) + 19 f ( xi , yi ) 5 f ( xi 1 , yi 1 ) + f ( xi 2 , yi 2 ))
24
i = 2,3,...
(25)
O metod nmeric de tip predictor-corector este o combinaie ntre o metod numeric explicit i o
metod numeric implicit. Metoda explicit permite predicia unei valori aproximative i cea implicit
corecteaz (odat sau de mai multe ori) aceast predicie.
Metodele predictor-corector, ofer o precizie superioar fa de metodele prezentate n paragrafele
anterioare, fr a implica sporiri ale numrului de operaii aritmetice.
n ceea ce privete comportarea metodelor de tip predictor-corector, acestea au eroarea de procedeu mai
mic, dar sunt puternic afectate de eventualele erori ale valorilor de pornire necesare algoritmului.
Cea mai simpl metod de acest tip este cea prezentat sub numele de Euler-Cauchy.
Astfel pentru xi = x0 + ih predictorul ne d valoarea
y i(+01) = y i + f i ,
f i = f ( x, y )
y i(+k1) = y i +
h
( f i + f i +( k11) ), k = 1,2,...
2
(k )
i +1
( k 1)
i +1
sau
y i(+k1) y i(+k11)
y
(k )
i +1
xi +1 = xi + h
4h
(0)
(2 fi 2 fi 1 + 2 fi )
yi +1 = yi 3 +
3
(0)
yi +1 = yi 1 + 3 f i 1 + 4 f i + f i +1
= f ( xi +1 , y i(+01) ) .
unde f i +( 01)
(26)
Observatii:
(i). este o metod de ordinul O(h 4 ) ;
(ii). In scopul ameliorrii rezultatelor putem aplica formulele de calcul de manier iterativ:
yi(+k1) = yi 1 +
h
f i 1 + 4 f + f i (+k11) i , k = 1,2,...
3
y ' ( x ) = f ( x, y )
x [a, b], x0 [a, b]
y ( x0 ) = y 0
predictorul este representat de metoda Adams-Bashforth de ordinul patru:
y i(+01) = y i +
h
(55 f ( xi , y i ) 59 f ( xi 1 , y i 1 ) +
24
+ 37 f ( xi 2 , y i 2 ) 9 f ( xi 3 , y i 3 ))
i = 3,4,...
(27)
Corectm aproximarea genert mai sus prin intermediul corectorului dat de metoda Adams-Moulton de
ordinul patru:
yi(+k1) = yi +
h
(9 f ( xi +1 , yi(+k11) ) + 19 f ( xi , yi ) 5 f ( xi 1 , yi 1 ) + f ( xi 2 , yi 2 ))
24
i = 2,3,..., k = 1,2,...
BIBLIOGRAFIE
Metodele numerice uilizate pentru o singur ecuaie diferenial, anterior prezentate, se pot extinde i n cazul
sistemelor de ecuaii difereniale. Considerm situaia metodelor numerice de tip Runge-Kutta.
Metodele Runge-Kutta, prezentate pentru ecuaii difereniale, pot fi aplicate cu uurin i la sisteme de ecuaii
difereniale.
Fie sistemul de ecuaii difereniale:
y1 = f1 ( x , y1 ,..., y n ),
(1)
................................
y = f ( x , y ..., y )
n
1
n
n
i urmrim s determinm soluia care satisface condiiile iniiale:
yi(x0) = yi,0 , i = 1, n
(2)
Presupunnd c dispunem de soluia problemei (1) + (2) la pasul i: y1,i , ..., yn,i metoda Runge-Kutta de ordinul 4
calculeaz soluia n pasul i+1 cu formulele:
y1,i+1 = y1,i + y1,i
...........................
(3)
yn,i+1 = yn,i + yn,i
Coreciile: y1,i , y2,i , ... , yn,i care intervin n formulele precedente se calculeaz cu ajutorul relaiilor:
1
1
1
1
y1,i = k 11 + k 12 + k 13 + k 14 ;
3
3
6
6
....................................................
1
1
1
1
yn,i = k 1n + k n2 + k 3n + k n4 ;
3
3
6
6
1
1
n
n
iar coeficienii k 1 ,..., k 4 ,..., k 1 ,..., k 4 au urmtoarea form:
k 1j = hf j ( x i , y1,i ...., y n ,i ) , j = 1, n ;
k1
kn
h
k 2j = hf j x i + , y1,i + 1 ,..., y n ,i + 1 , j = 1, n ;
2
2
2
k1
kn
h
k 3j = hf j x i + , y1,i + 2 ,..., y n ,i + 2 , j = 1, n ;
2
2
2
k 4j = hf j x i + h , y1,i + k 13 ,..., y n ,i + k 3n , j = 1, n ;
Exemple
Folosind o formul Runge-Kutta de ordinul 4, s se rezolve problema Cauchy:
y = x / y
2
2
2
z = z( x + y ) /( xy )
y(1) = 1
z(1) = 1
pentru x [0, 1].
Rezolvare
Considerm 10 noduri echidistante xi pe [0, 1], de pas h = 0.1. Din (14), pentru fiecare i = 0, 1, , 9, avem :
yi+1 = yi +
1 1
k1 + 2k12 + 2k13 + k14
6
zi+1 = zi +
1 2
k1 + 2k 22 + 2k 32 + k 24
6
unde:
k1j = hf j ( x i , y i , z i ) ; j = 1, 2
h
k1
k2
, y i + 1 , z i + 1 ) ; j = 1, 2
2
2
2
1
h
k
k2
k 3j = hf j ( x i + , y i + 2 , z i + 2 ) ; j = 1, 2
2
2
2
j
1
2
k 4 = hf j ( x i + h , y i + k 3 , z i + k 3 ) ; j = 1, 2
k 2j = hf j ( x i +
y( x ) = x
z ( x ) = x
pentru
, deci
(4)
y ( x0 ) = t 0
y' ( x ) = t
0
1
..........
........
y ( n 1) ( x ) = t
0
n 1
(5)
cu condiiile asociate
Introducem notaiile
z j ( x) = y ( j 1) ( x),
Remarc: z 'j ( x) = z j +1 ( x),
j = 1,2,.., n
(6)
z1' ( x) = z 2 ( x)
'
z 2 ( x) = z 3 ( x)
......................
z ' ( x) = z ( x)
n
n 1
'
z n ( x) = f ( x, z1 ( x),..., z n ( x))
(7)
j = 1,2,.., n 1
respectiv:
z1 ( x0 ) = t 0
z ( x ) = t
2 0
1
..................
z n ( x0 ) = t n 1
(8)
In concluzie (7) i (8) reprezint un sistem avnd n ecuaii difereniale ordinare cu n condiii iniiale. Putem
astfel s l rezolvm cu tehnica prezentat mai sus.
7. Folosind o formul Runge-Kutta de ordinul 4 s se rezolve problema Cauchy:
y ( 0) = 1
y ' ( 0) = 1
y' = f1 ( x , y, z) = z; y(0) = 1
z' = f 2 ( x , y, z) = x + y z; z(0) = 1
Considerm 10 noduri echidistante xi pe [0,1] de pas h = 0.1.
Din (14), pentru fiecare i = 0, 1, , 9 avem:
1
y i +1 = y i + k 11 + 2k 12 + 2k 13 + k 14
6
1
z i +1 = z i + k 12 + 2k 22 + 2k 32 + k 24 - variabile auxiliare
6
unde
k 1j = hf j ( x i , y i , z i ) ; j = 1,2
k1
k2
h
, y i + 1 , z i + 1 ) ; j = 1,2
2
2
2
1
2
k
k
h
k 3j = hf j ( x i + , y i + 2 , z i + 2 ) ; j = 1,2
2
2
2
j
1
2
k 4 = hf j ( x i + h , y i + k 3 , z i + k 3 ) ; j = 1,2
k 2j = hf j ( x i +
Sunt tehnici utilizate pentru controlul erorii unei metode numerice pentru rezolvarea numeric a unei
probleme de tip Cauchy:
y ' ( x) = f ( x, y ( x)), x [ x0 , x0 + h]
y ( x0 ) = y0
fcnd apel la o manier eficient de alegere a mulimii de puncte n care se va aproxima soluia exact y (x) .
Ideea de baz este utilizarea unor metode numerice de ordine diferite n scopul caracterizrii erorii de consisten
alegerii pasului de integrare astfel nct eroarea global s fie inferioar unei anumite precizii impuse.
Considerm n continuare dou metode numerice care conduc la aproximaiile urmtoare ale soluiei exacte
y (x) n xi +1 = xi + h :
yi +1 = yi + h ( xi , yi , h), i > 0
(a)
~
yi +1 = ~
yi + h ( xi , ~
yi , h), i > 0
(b)
Presupunem c y ( xi ) yi = ~
yi i c (a) i (b) sunt obinute cu acelai pas h .
Atunci:
y ( xi +1 ) yi +1 = y ( xi +1 ) yi h ( xi , yi , h)
y ( xi +1 ) y ( xi ) h ( xi , y ( xi ), h) = h i +1 (h)
i +1 (h)
1 ~
( yi +1 yi +1 )
h
(c)
de unde
i +1 (h) kh n
(d)
k constant ce nu depinde de h .
In consecin pentru un nou pas de integrare qh :
i +1 (qh) q n i +1 (h)
Impunnd i +1 (qh) obinem:
h
q ~
y y
i +1
i +1
1/ n
126
6656
28561
9
2
~
yi +1 = yi +
k1 +
k3 +
k 4 k5 + k 6
135
12825
56430
50
55
n scopul estimrii erorii de consisten pentru o metod Runge-Kutta de ordin 4:
25
1408
2197
1
~
yi +1 = yi +
k1 +
k3 +
k 4 k5
unde
216
2565
4104
5
k1 = h f ( xi , yi )
k = h f x + h , y + 1 k
i
i
1
2
4
4
k = h f x + 3h , y + 3 k + 9 k
i
i
1
2
3
8
32
32
12h
1932
7200
7296
439
3680
845
k1 8k2 +
k3
k4
k5 = h f xi + h, yi +
216
513
4104
h
3544
1859
11
8
k3 +
k 4 k5
k6 = h f xi + , yi k1 + 2k2
2
27
2565
4104
40
4. ECUATII DIFERENTIAL-ALGEBRICE
M ( x) y ' ( x) = A( x) y ( x) + f ( x)
Exemplu:
Dndu-se
ecuaia
diferenial-algebric
u ' = 7u 6v + 4 x
4x
7 6 0
1 0 0
M ( x) y ' ( x) = A( x) y ( x) + f ( x) , unde M = 0 1 0 , A = 4 2 9 , f = 0
24
1 1 1
0 0 0
c y( x
=0
i +1
F ( xi +1 , y i +1 , ci y i +1 ) = 0
=0
).
adic o ecuaie neliniar n raport cu y i +1 y ( xi +1 ) . Rezolvarea acesteia se va efectua prin intermediul metodei
Newton sau metodei aproximaiilor succesive, sau a oricrei metode specifice acestui tip de ecuaii.
(P) y ( a ) =
y (b) =
x [ a, b]
Teorem: Dac:
(i). p ( x), q ( x), r ( x) sunt continue pe [a, b] ;
(ii). q ( x) > 0, () x [a, b]
atunci problema (P) admitt o soluie unic.
o
diviziune
Fie
xi = a + ih, 0 i n cu xn = b.
echidistant
de
pas
Teorem
a)
Fie
y
C3
[a,
b],
x
x h, x + h (a, b). Atunci () (x h, x + h) astfel nct:
h2
y( x + h ) y ( x h )
= y' ( x ) +
y ' ' ' ( )
6
2h
b)
Fie
y
C4
[a,
b],
x
(a,
(a,
lui
b),
b),
[a,
h
h 2 IV
y( x + h ) 2 y ( x ) + y ( x h )
=
y
'
'
(
x
)
+
y ()
12
h2
Demonstraie. Se folosete formula dezvoltrii n serie Taylor i Teorema de medie
y ( xi +1 ) y ( xi 1 )
y ( xi +1 ) 2 y ( xi ) + y ( xi 1 )
= p ( xi )
+ q( xi ) y ( xi ) + r ( xi )
2
2h
h
y( x 0 ) =
iar condiiile (25) devin
y( x n ) =
>
>
b],
0
x0
a,
astfel
nct
astfel
nct
y yi 1
yi +1 2 yi + yi 1
- pi i +1
- qi yi = ri , 1 i n 1
2
2h
h
y0 = , y n =
unde pi = p ( xi ), qi = q ( xi ), ri = r ( xi ), yi = y ( xi ) ()i ,
care reprezint un sistem liniar de n-1 ecuaii i n-1 necunoscute y1, y2, ..., yn-1, matricea sistemului fiind
tridiagonal dominant diagonal.
Exemplu:
Fie problema
y II = 4 y I + 4 y + e3 x , x [0,1]
y (0) = 1
y (1) = 2
1 2
1 2
2
3 xi
h 2 + h yi 1 + h 2 4 yi + h 2 h yi +1 = e , i = 1,3
y0 = 1
y = 2
4
y1 = 0,6468
BIBLIOGRAFIE i Webografie:
1. Berbente C., Mitran S., Zancu, S., Metode Numerice, Editura Tehnic, Bucureti, 1997
2. R. Burden, J. Faires, Numerical Analysis, PWS-Kent, 2005.
3. C. Carasso, Analyse Numrique, Lidec, Canada, 1970.
4. P.Ciarlet, J.Lions, Finite Difference Methods, North-Holland, Amsterdam, 1989.
5. B. Demidovitch. I. Maron, lments de Calcul Numrique, Mir, Moscow, 1973.
6. D. Ebnc, Metode de Calcul Numeric, Editura Sitech, Craiova, 1994.
7. Kinkaid, D., Cheney, W., Numerical Analysis Mathematics of Scientific Computing,