METODE NUMERICE DE SOLU|IONARE A ECUA|IILOR DIFEREN|IALE - PREZENTARE GENERAL{

50
METODE NUMERICE DE METODE NUMERICE DE SOLU|IONARE A ECUA| SOLU|IONARE A ECUA| IILOR DIFEREN|IALE - IILOR DIFEREN|IALE - PREZENTARE GENERAL{ PREZENTARE GENERAL{

description

METODE NUMERICE DE SOLU|IONARE A ECUA|IILOR DIFEREN|IALE - PREZENTARE GENERAL{. INTRODUCERE. - PowerPoint PPT Presentation

Transcript of METODE NUMERICE DE SOLU|IONARE A ECUA|IILOR DIFEREN|IALE - PREZENTARE GENERAL{

Page 1: METODE NUMERICE DE SOLU|IONARE A ECUA|IILOR DIFEREN|IALE - PREZENTARE GENERAL{

METODE NUMERICE DE METODE NUMERICE DE SOLU|IONARE A ECUA|SOLU|IONARE A ECUA|IILOR DIFEREN|IALE - IILOR DIFEREN|IALE -

PREZENTARE GENERAL{PREZENTARE GENERAL{

Page 2: METODE NUMERICE DE SOLU|IONARE A ECUA|IILOR DIFEREN|IALE - PREZENTARE GENERAL{

INTRODUCEREINTRODUCERE

O ecua\ie diferen\ial[ poate s[ nu posede solu\ie sau, chiar dac[ are solu\ie, nu totdeauna aceasta se poate explicita. #n multe situa\ii, mai ales @n cazul ecua\iilor diferen\iale neliniare, trebuie s[ ne consider[m mul\umi\i dac[ ob\inem o aproxima\ie a solu\iei ecua\iei diferen\iale. #n cele ce urmeaz[, utiliz`nd metode numerice, se vor ob\ine seturi de puncte care, atunci c`nd se utilizeaz[ discretiz[ri suficient de fine pot aproxima solu\ia ecua\iei diferen\iale considerate, a]a cum se prezint[ @n fig. 1.

Page 3: METODE NUMERICE DE SOLU|IONARE A ECUA|IILOR DIFEREN|IALE - PREZENTARE GENERAL{

Fig. 1 Discretizare @n vederea aproxim[rii solu\iei ecua\iei diferen\ialeFig. 1 Discretizare @n vederea aproxim[rii solu\iei ecua\iei diferen\iale

Page 4: METODE NUMERICE DE SOLU|IONARE A ECUA|IILOR DIFEREN|IALE - PREZENTARE GENERAL{

Se face men\iunea c[ @n cadrul acestui Se face men\iunea c[ @n cadrul acestui capitol interesul va fi direc\ionat numai capitol interesul va fi direc\ionat numai @nspre ecua\ii diferen\iale de ordinul 1: @nspre ecua\ii diferen\iale de ordinul 1:

dat fiind faptul c[ ecua\iile diferen\iale de ordin dat fiind faptul c[ ecua\iile diferen\iale de ordin superior pot fi reduse la sisteme de ecua\ii superior pot fi reduse la sisteme de ecua\ii diferen\iale de ordinul 1.diferen\iale de ordinul 1.

,,yxfxdyd

Page 5: METODE NUMERICE DE SOLU|IONARE A ECUA|IILOR DIFEREN|IALE - PREZENTARE GENERAL{

#ntr-adev[r, consider`nd ecua\ia diferen\ial[:#ntr-adev[r, consider`nd ecua\ia diferen\ial[:

(1)(1)]i introduc`nd variabilele:]i introduc`nd variabilele:

(2)(2)rezult[ c[:rezult[ c[:

(3)(3)#n acest fel ecua\ia diferen\ial[ de ordinul #n acest fel ecua\ia diferen\ial[ de ordinul nn scris[ sub forma (1) se scris[ sub forma (1) se poate echivala cu urm[torul sistem de poate echivala cu urm[torul sistem de n n ecua\ii diferen\iale de ecua\ii diferen\iale de ordinul 1:ordinul 1:

d y

d t

a

ay

a

ay

a

ay f t

n

nn n

n

n

n 0 1 1 1

,

y x y x y x y x xnn

1 2 31, , , ,

y x x y x x y x xn

n n1 2 2 31

1, , ,

Page 6: METODE NUMERICE DE SOLU|IONARE A ECUA|IILOR DIFEREN|IALE - PREZENTARE GENERAL{

(4)(4)

x x

x x

x x

x x

xa

ax

a

ax

a

ax f t

n n

nn n

n

nn

1 2

2 3

3 4

1

0

1

1

2

1

.

Page 7: METODE NUMERICE DE SOLU|IONARE A ECUA|IILOR DIFEREN|IALE - PREZENTARE GENERAL{

METODA METODA EULEREULER

Aceasta este una dintre cele mai Aceasta este una dintre cele mai simple tehnici de solu\ionare numeric[ a simple tehnici de solu\ionare numeric[ a ecua\iilor diferen\iale, fiind cunoscut[ ]i ecua\iilor diferen\iale, fiind cunoscut[ ]i sub denumirea de sub denumirea de metoda tangentelormetoda tangentelor. .

Se consider[ ecua\ia diferen\Se consider[ ecua\ia diferen\ial[ (inclusiv condi\ia ini\ial[ aferent[):ial[ (inclusiv condi\ia ini\ial[ aferent[):

(5)(5)

y f x y y x y, , 0 0

Page 8: METODE NUMERICE DE SOLU|IONARE A ECUA|IILOR DIFEREN|IALE - PREZENTARE GENERAL{

Dac[ se consider[ pe axa Ox o diviziune Dac[ se consider[ pe axa Ox o diviziune echidistant[ de pas echidistant[ de pas hh se poate g[si un se poate g[si un punct ( xpunct ( x11 , y , y11 ) = ( x ) = ( x00+h , y+h , y11 ) pe tangenta la ) pe tangenta la curba ce reprezint[ solu\ia ecua\iei diferen\curba ce reprezint[ solu\ia ecua\iei diferen\iale @n punctul ( xiale @n punctul ( x00 , y , y00 ), a]a cum se ), a]a cum se prezint[ @n fig. 2. Se poate scrie:prezint[ @n fig. 2. Se poate scrie:

(6)(6)

y y

x h xy y y h y

1 0

0 0

0 1 0 0

Page 9: METODE NUMERICE DE SOLU|IONARE A ECUA|IILOR DIFEREN|IALE - PREZENTARE GENERAL{

unde:unde:

Fig. 2 Modalitatea de g[sire a punctului (xFig. 2 Modalitatea de g[sire a punctului (x11,y,y11) ce aproximeaz[ punctul (x) ce aproximeaz[ punctul (x11,y(x,y(x11))))

.

y f x y0 0 0 ,

Page 10: METODE NUMERICE DE SOLU|IONARE A ECUA|IILOR DIFEREN|IALE - PREZENTARE GENERAL{

Fig. 3 Aproximarea solu\iei ecua\iei diferen\ialeFig. 3 Aproximarea solu\iei ecua\iei diferen\iale

Page 11: METODE NUMERICE DE SOLU|IONARE A ECUA|IILOR DIFEREN|IALE - PREZENTARE GENERAL{

Dac[ se noteaz[ xDac[ se noteaz[ x00+h = x+h = x11, atunci punctul de coordonate , atunci punctul de coordonate ( x( x11 , y , y11 ) situat pe tangenta considerat[ reprezint[ a ) situat pe tangenta considerat[ reprezint[ a aproxima\ie a punctului de coordonate ( xaproxima\ie a punctului de coordonate ( x11 , y(x , y(x11) ) situat ) ) situat pe curba ce reprezint[ solu\ia ecua\iei diferen\iale. Este pe curba ce reprezint[ solu\ia ecua\iei diferen\iale. Este evident faptul c[ eroarea metodei este cu at`t mai redus[ evident faptul c[ eroarea metodei este cu at`t mai redus[ cu c`t valoarea pasului diviziunii considerate- cu c`t valoarea pasului diviziunii considerate- hh este mai este mai mic.mic.Se poate construi astfel un proces iterativ:Se poate construi astfel un proces iterativ:

(7)(7)a c[rui reprezentare grafic[ se prezint[ @n fig. 3.a c[rui reprezentare grafic[ se prezint[ @n fig. 3. y y h y y h f x y x x n hn n n n n n n 1 0, ,

Page 12: METODE NUMERICE DE SOLU|IONARE A ECUA|IILOR DIFEREN|IALE - PREZENTARE GENERAL{

ExempluExempluConsider`nd ecua\ia diferen\ial[:Consider`nd ecua\ia diferen\ial[:

]i condi\ia ini\ial[ y(1)=1, s[ se ob\in[ o aproxima\ie pentru a ]i condi\ia ini\ial[ y(1)=1, s[ se ob\in[ o aproxima\ie pentru a g[si valoarea lui y @n punctul de abscis[ x=1.5, utiliz`nd un g[si valoarea lui y @n punctul de abscis[ x=1.5, utiliz`nd un pa]i h cu valorile 0.1, 0.05 ]i 0.01, apoi s[ se calculeze ]i pa]i h cu valorile 0.1, 0.05 ]i 0.01, apoi s[ se calculeze ]i erorile relative raportate la valoarea exact[, cu 4 zecimale.erorile relative raportate la valoarea exact[, cu 4 zecimale.

Solu\ieSolu\ieSolu\ia analitic[ a ecua\iei diferen\iale considerate esteSolu\ia analitic[ a ecua\iei diferen\iale considerate este::

y x y2

y x ex 2 1 y x ex 2 1 y x ex 2 1

y x ex 2 1

Page 13: METODE NUMERICE DE SOLU|IONARE A ECUA|IILOR DIFEREN|IALE - PREZENTARE GENERAL{

Tab. 1 Valorile ob\inute pentru h=0.1Tab. 1 Valorile ob\inute pentru h=0.1  

 

xn yn Exact Eroare Eroare %

1.001.101.201.301.401.50

1.00001.20001.46401.81542.28742.9278

1.00001.23371.55271.99372.61173.4904

0.00000.03370.08870.17840.32440.5625

0.002.735.718.95

12.4216.12

 

Page 14: METODE NUMERICE DE SOLU|IONARE A ECUA|IILOR DIFEREN|IALE - PREZENTARE GENERAL{

Tab. 2 Valorile ob\inute pentru h=0.05Tab. 2 Valorile ob\inute pentru h=0.05

xn yn Exact Eroare Eroare %

1.001.101.201.301.401.50

1.00001.21551.50441.89552.43113.1733

1.00001.23371.55271.99372.61173.4904

0.00000.01820.04830.09820.18060.3171

0.001.473.114.937.989.08

Page 15: METODE NUMERICE DE SOLU|IONARE A ECUA|IILOR DIFEREN|IALE - PREZENTARE GENERAL{

Tab. 3 Valorile ob\inute pentru h=0.01Tab. 3 Valorile ob\inute pentru h=0.01

 

xn yn Exact Eroare Eroare %

1.001.101.201.301.401.50

1.00001.22981.54231.97232.57193.4197

1.00001.23371.55271.99372.61173.4904

0.00000.00390.01040.02140.03980.0707

0.000.310.671.071.522.03

 

Page 16: METODE NUMERICE DE SOLU|IONARE A ECUA|IILOR DIFEREN|IALE - PREZENTARE GENERAL{

#n continuare se prezint[ programul cu ajutorul c[ruia au fost ob\inute #n continuare se prezint[ programul cu ajutorul c[ruia au fost ob\inute rezultatele numerice prezentate mai sus, realizat @n Turbo Pascal rezultatele numerice prezentate mai sus, realizat @n Turbo Pascal v.7.0.v.7.0.

Program ED;Program ED;  varvar x0,t0,tfin,pas: real; i,nmax: integer;x0,t0,tfin,pas: real; i,nmax: integer; x,t: array[0..300] of real;x,t: array[0..300] of real; fis: text;fis: text;  {Definirea ecuatiei diferentiale}{Definirea ecuatiei diferentiale}Function eul1(xe,te:real): real;Function eul1(xe,te:real): real;beginbegin eul1:=2*xe*te;eul1:=2*xe*te;end;end;  

Page 17: METODE NUMERICE DE SOLU|IONARE A ECUA|IILOR DIFEREN|IALE - PREZENTARE GENERAL{

beginbegin

Assign(fis,'eul3.dat'); {Nume fisier}Assign(fis,'eul3.dat'); {Nume fisier}

Rewrite(fis);Rewrite(fis);

x0:=1.0; {Conditia initiala}x0:=1.0; {Conditia initiala}

t0:=1.0;tfin:=1.5; {Intervalul de integrat}t0:=1.0;tfin:=1.5; {Intervalul de integrat}

pas:=0.01; {Pasul de integrare}pas:=0.01; {Pasul de integrare}

nmax:=50; {Numarul de pasi}nmax:=50; {Numarul de pasi}

x[0]:=x0; t[0]:=t0;x[0]:=x0; t[0]:=t0;

Page 18: METODE NUMERICE DE SOLU|IONARE A ECUA|IILOR DIFEREN|IALE - PREZENTARE GENERAL{

for i:= 0 to nmax-1 do {Incepere proces iterativ}for i:= 0 to nmax-1 do {Incepere proces iterativ} begin {metoda EULER}begin {metoda EULER} t[i+1]:=t[i]+pas;t[i+1]:=t[i]+pas; x[i+1]:=x[i]+pas*eul1(x[i],t[i]);x[i+1]:=x[i]+pas*eul1(x[i],t[i]); end;end; for i:= 0 to nmax dofor i:= 0 to nmax do begin {Scriere fisier}begin {Scriere fisier} writeln(fis,t[i]:6:2,' ',x[i]:6:4);writeln(fis,t[i]:6:2,' ',x[i]:6:4); end;end; Close(fis);Close(fis);end.end.

Page 19: METODE NUMERICE DE SOLU|IONARE A ECUA|IILOR DIFEREN|IALE - PREZENTARE GENERAL{

METODA METODA EULER-HEUNEULER-HEUN

Aceast[ metod[ este cunoscut[ ]i sub denumirea de Aceast[ metod[ este cunoscut[ ]i sub denumirea de metoda Euler @mbun[t[\it[metoda Euler @mbun[t[\it[, situa\ia fiind , situa\ia fiind prezentat[ @n fig. 4 pentru primul pas de integrare. prezentat[ @n fig. 4 pentru primul pas de integrare. Procesul iterativ pentru solu\ionarea numeric[ este Procesul iterativ pentru solu\ionarea numeric[ este descris de rela\ia urm[toare:descris de rela\ia urm[toare:

(8)(8)

y y h

f x y f x y

y y h f x y

n n

n n n n

n n n n

1

1 1

1

2

, ,,

, .

*

*

Page 20: METODE NUMERICE DE SOLU|IONARE A ECUA|IILOR DIFEREN|IALE - PREZENTARE GENERAL{

Fig. 4 Ilustrarea metodei Euler-Heun pentru primul interval Fig. 4 Ilustrarea metodei Euler-Heun pentru primul interval al diviziunii considerateal diviziunii considerate

Page 21: METODE NUMERICE DE SOLU|IONARE A ECUA|IILOR DIFEREN|IALE - PREZENTARE GENERAL{

Analiz`nd fig. 4 se poate constata c[ valoarea Analiz`nd fig. 4 se poate constata c[ valoarea lui ylui y11 este mai apropiat[ de solu\ie dec`t este mai apropiat[ de solu\ie dec`t

valoarea ob\inut[ pentru yvaloarea ob\inut[ pentru y11**, ceea ce poate , ceea ce poate

@ncadra aceast[ metod[ @n clasa metodelor @ncadra aceast[ metod[ @n clasa metodelor predictor-corector. predictor-corector. #ntr-adev[r, aceast[ situa\ie #ntr-adev[r, aceast[ situa\ie se poate interpreta @n felul urm[tor:se poate interpreta @n felul urm[tor:

Pasul Pasul predictorpredictor

y y h f x y1 0 0 0* ,

Page 22: METODE NUMERICE DE SOLU|IONARE A ECUA|IILOR DIFEREN|IALE - PREZENTARE GENERAL{

Pasul Pasul corectorcorector

#n continuare, cu referire la ecua\ia diferen\#n continuare, cu referire la ecua\ia diferen\ial[ considerat[ anterior, se prezint[ rezultatele ob\inute ial[ considerat[ anterior, se prezint[ rezultatele ob\inute prin aplicarea acestei metode pentru diferi\i pa]i de prin aplicarea acestei metode pentru diferi\i pa]i de integrare ]i programul folosit pentru solu\ionarea integrare ]i programul folosit pentru solu\ionarea numeric[.numeric[.

y y h

f x y f x y1 0

0 0 1 1

2

, , *

Page 23: METODE NUMERICE DE SOLU|IONARE A ECUA|IILOR DIFEREN|IALE - PREZENTARE GENERAL{

Tab. 4 Valorile ob\inute pentru h=0.1Tab. 4 Valorile ob\inute pentru h=0.1

 

xn yn Exact Eroare Eroare %

1.001.101.201.301.401.50

1.00001.23201.54791.98322.59083.4509

1.00001.23371.55271.99372.61173.4904

0.00000.00170.00480.01060.02090.0394

0.000.140.310.530.801.13

 

Page 24: METODE NUMERICE DE SOLU|IONARE A ECUA|IILOR DIFEREN|IALE - PREZENTARE GENERAL{

Tab. 5 Valorile ob\inute pentru h=0.05Tab. 5 Valorile ob\inute pentru h=0.05

 

xn yn Exact Eroare Eroare %

1.001.101.201.301.401.50

1.00001.23321.55141.99092.60603.4795

1.00001.23371.55271.99372.61173.4904

0.00000.00040.00130.00290.00570.0108

0.000.040.080.140.220.31

 

Page 25: METODE NUMERICE DE SOLU|IONARE A ECUA|IILOR DIFEREN|IALE - PREZENTARE GENERAL{

Tab. 6 Valorile ob\inute pentru h=0.01Tab. 6 Valorile ob\inute pentru h=0.01

 

xn yn Exact Eroare Eroare %

1.001.101.201.301.401.50

1.00001.23371.55271.99362.61153.4899

1.00001.23371.55271.99372.61173.4904

0.00000.00000.00000.00010.00020.0005

0.000.000.00

0.0050.0100.025

 

Page 26: METODE NUMERICE DE SOLU|IONARE A ECUA|IILOR DIFEREN|IALE - PREZENTARE GENERAL{

Program ED;Program ED;  varvar x0,t0,tfin,pas: real;x0,t0,tfin,pas: real; i,nmax: integer;i,nmax: integer; x,t: array[0..300] of real;x,t: array[0..300] of real; fis: text;fis: text;  {Definirea ecuatiei diferentiale}{Definirea ecuatiei diferentiale}Function eul1(xe,te:real): real;Function eul1(xe,te:real): real;beginbegin eul1:=2*xe*te;eul1:=2*xe*te;end;end;

Page 27: METODE NUMERICE DE SOLU|IONARE A ECUA|IILOR DIFEREN|IALE - PREZENTARE GENERAL{

beginbegin Assign(fis,'heu3.dat'); {Nume fisier}Assign(fis,'heu3.dat'); {Nume fisier} Rewrite(fis);Rewrite(fis); x0:=1.0; {Conditia initiala}x0:=1.0; {Conditia initiala} t0:=1.0;tfin:=1.5; {Intervalul de integrat}t0:=1.0;tfin:=1.5; {Intervalul de integrat} pas:=0.01; {Pasul de integrare}pas:=0.01; {Pasul de integrare} nmax:=50; {Numarul de pasi}nmax:=50; {Numarul de pasi} x[0]:=x0; t[0]:=t0;x[0]:=x0; t[0]:=t0;

Page 28: METODE NUMERICE DE SOLU|IONARE A ECUA|IILOR DIFEREN|IALE - PREZENTARE GENERAL{

for i:= 0 to nmax-1 do {Incepere proces iterativ}for i:= 0 to nmax-1 do {Incepere proces iterativ} begin {metoda EULER-HEUN}begin {metoda EULER-HEUN} t[i+1]:=t[i]+pas; t[i+1]:=t[i]+pas;

x[i+1]:=x[i]+pas*eul1(x[i],t[i])/2+pas*eul1(x[i]+x[i+1]:=x[i]+pas*eul1(x[i],t[i])/2+pas*eul1(x[i]+pas*eul1(x[i],t[i]),t[i]+pas)/2;pas*eul1(x[i],t[i]),t[i]+pas)/2;

end;end; for i:= 0 to nmax dofor i:= 0 to nmax do begin {Scriere fisier}begin {Scriere fisier} writeln(fis,t[i]:6:2,' ',x[i]:6:4);writeln(fis,t[i]:6:2,' ',x[i]:6:4); end;end; Close(fis);Close(fis);end.end.

Page 29: METODE NUMERICE DE SOLU|IONARE A ECUA|IILOR DIFEREN|IALE - PREZENTARE GENERAL{

METODA DEZVOLT{RII #N METODA DEZVOLT{RII #N SERIE TAYLORSERIE TAYLOR

Aceast[ metod[ nu prezint[ o larg[ aplicabilitate deoarece, Aceast[ metod[ nu prezint[ o larg[ aplicabilitate deoarece, @n principal, rezultatele sunt comparabile cu cele ob\@n principal, rezultatele sunt comparabile cu cele ob\inute prin aplicarea metodei Euler-Heun @n condi\iile inute prin aplicarea metodei Euler-Heun @n condi\iile unor calcule mai laborioase.unor calcule mai laborioase.A]a cum se ]tie, dezvoltarea unei func\ii y(x) @n jurul A]a cum se ]tie, dezvoltarea unei func\ii y(x) @n jurul unui punct x=a are expresia:unui punct x=a are expresia:

(9)(9)

y x y a y a

x ay a

x a

1 2

2

! !

Page 30: METODE NUMERICE DE SOLU|IONARE A ECUA|IILOR DIFEREN|IALE - PREZENTARE GENERAL{

Pentru a apropia forma (9) de problema curent[, dac[ se Pentru a apropia forma (9) de problema curent[, dac[ se consider[ cazul @n care a=xconsider[ cazul @n care a=xnn ]i x=x ]i x=xnn+h, se ob\ine:+h, se ob\ine:

(10)(10)

Dac[ se presupune c[ func\ia y(x) este solu\ia ecua\iei diferen\iale:Dac[ se presupune c[ func\ia y(x) este solu\ia ecua\iei diferen\iale:

(11)(11)

y x h y x y x h y xh

n n n n 2

2

y f x y,

Page 31: METODE NUMERICE DE SOLU|IONARE A ECUA|IILOR DIFEREN|IALE - PREZENTARE GENERAL{

Oprind numai doi termeni din (10) se poate Oprind numai doi termeni din (10) se poate scrie:scrie:

(12)(12)

y x h y x y x h

y x h y x f x y x h

n n n

n n n n

, .

Page 32: METODE NUMERICE DE SOLU|IONARE A ECUA|IILOR DIFEREN|IALE - PREZENTARE GENERAL{

Se observ[ faptul c[ dac[ @n (12) se Se observ[ faptul c[ dac[ @n (12) se @nlocuie]te y(x@nlocuie]te y(xnn+h) cu y+h) cu yn+1n+1 ]i y(x ]i y(xnn) cu y) cu ynn se ob\ se ob\

ine formula ce caracterizeaz[ metoda Euler:ine formula ce caracterizeaz[ metoda Euler:

(13)(13)

.

y y h f x yn n n n 1 ,

Page 33: METODE NUMERICE DE SOLU|IONARE A ECUA|IILOR DIFEREN|IALE - PREZENTARE GENERAL{

Oprind trei termeni @n (10) ]i f[c`nd Oprind trei termeni @n (10) ]i f[c`nd @nlocuirile antemen\ionate se ob\ine @nlocuirile antemen\ionate se ob\ine urm[toarea formul[:urm[toarea formul[:

(14)(14)Metoda poate fi considerat[ drept Metoda poate fi considerat[ drept cheia de cheia de bolt[bolt[ a majorit[\ii metodelor de solu\ionare a majorit[\ii metodelor de solu\ionare numeric[ a ecua\iilor diferen\iale.numeric[ a ecua\iilor diferen\iale.

y y y h y hn n n n 1

2

Page 34: METODE NUMERICE DE SOLU|IONARE A ECUA|IILOR DIFEREN|IALE - PREZENTARE GENERAL{

METODE TIP RUNGE-KUTTAMETODE TIP RUNGE-KUTTAAceast[ clas[ de metode reprezint[ una dintre cele Aceast[ clas[ de metode reprezint[ una dintre cele mai folosite @n abordarea numeric[ a ecua\iilor mai folosite @n abordarea numeric[ a ecua\iilor diferen\iale, @mbin`nd num[rul relativ redus de diferen\iale, @mbin`nd num[rul relativ redus de opera\ii elementare cu acurate\ea rezultatelor.opera\ii elementare cu acurate\ea rezultatelor.Metoda Runge-Kutta de ordinul II const[ @n Metoda Runge-Kutta de ordinul II const[ @n g[sirea constantelor a, b, g[sirea constantelor a, b, astfel @nc`t astfel @nc`t expresia:expresia:

(15)(15)

y y a k b kn n 1 1 2

Page 35: METODE NUMERICE DE SOLU|IONARE A ECUA|IILOR DIFEREN|IALE - PREZENTARE GENERAL{

cu:cu:

(16)(16)

s[ se apropie de dezvoltarea @n serie Taylor pentru s[ se apropie de dezvoltarea @n serie Taylor pentru c`t mai mul\i termeni posibili. Meritul principal al c`t mai mul\i termeni posibili. Meritul principal al acestei clase de metode rezid[ deci @n aceea c[ se acestei clase de metode rezid[ deci @n aceea c[ se apropie de acurate\ea unei dezvolt[ri @n serie apropie de acurate\ea unei dezvolt[ri @n serie Taylor f[r[ @ns[ a fi nevoie s[ se calculeze ]i Taylor f[r[ @ns[ a fi nevoie s[ se calculeze ]i derivatele de ordin superior.derivatele de ordin superior.

k h f x y

k h f x h y k

n n

n n

1

2 1

, ,

, .

Page 36: METODE NUMERICE DE SOLU|IONARE A ECUA|IILOR DIFEREN|IALE - PREZENTARE GENERAL{

Se fac urm[toarele observa\ii:Se fac urm[toarele observa\ii:

a) Dac[:a) Dac[:

atunci (15) reprezint[ dezvoltarea @n serie atunci (15) reprezint[ dezvoltarea @n serie Taylor, oprind primii trei termeni, a func\iei Taylor, oprind primii trei termeni, a func\iei considerate.considerate.

a b b b 11

2

1

2, ,

Page 37: METODE NUMERICE DE SOLU|IONARE A ECUA|IILOR DIFEREN|IALE - PREZENTARE GENERAL{

b) Dac[:b) Dac[:

atunci (15) se reduce la expresia metodei atunci (15) se reduce la expresia metodei Euler-Heun.Euler-Heun.

c) Se poate constata c[ metoda Euler este de c) Se poate constata c[ metoda Euler este de fapt o procedur[ Runge-Kutta de ordinul I.fapt o procedur[ Runge-Kutta de ordinul I.

a b b 1

2

1

21 1, , ,

Page 38: METODE NUMERICE DE SOLU|IONARE A ECUA|IILOR DIFEREN|IALE - PREZENTARE GENERAL{

Folosind acelea]i considera\ii se determin[ astfel algoritmul de Folosind acelea]i considera\ii se determin[ astfel algoritmul de calcul ]i @n cazul metodei Runge-Kutta de ordinul IV (se opresc calcul ]i @n cazul metodei Runge-Kutta de ordinul IV (se opresc primii patru termeni din dezvoltarea @n serie Taylor):primii patru termeni din dezvoltarea @n serie Taylor):

(17)(17)

y y k k k k

k h f x y

k h f x h y k

k h f x h y k

n n

n n

n n

n n

1 1 2 3 4

1

2 1

3 2

1

62 2

1

2

1

2

1

2

1

2

,

,

, ,

, ,

k h f x h y kn n4 3 ,

Page 39: METODE NUMERICE DE SOLU|IONARE A ECUA|IILOR DIFEREN|IALE - PREZENTARE GENERAL{

#n continuare se prezint[ rezultatele numerice ob\inute @n cazul #n continuare se prezint[ rezultatele numerice ob\inute @n cazul aplic[rii acestei metode pentru rezolvarea ecua\iei diferen\iale aplic[rii acestei metode pentru rezolvarea ecua\iei diferen\iale considerate anterior ]i programul folosit @n acest scop. considerate anterior ]i programul folosit @n acest scop.

Tab. 7 Valorile ob\inute pentru h=0.1Tab. 7 Valorile ob\inute pentru h=0.1  

xn yn Exact Eroare Eroare %

1.001.101.201.301.401.50

1.00001.23371.55271.99372.61163.4902

1.00001.23371.55271.99372.61173.4904

0.00000.00000.00000.00000.00010.0002

0.000.000.000.00

0.00380.0076

Page 40: METODE NUMERICE DE SOLU|IONARE A ECUA|IILOR DIFEREN|IALE - PREZENTARE GENERAL{

Tab. 8 Valorile ob\inute pentru h=0.05Tab. 8 Valorile ob\inute pentru h=0.05

xn yn Exact Eroare Eroare %

1.001.101.201.301.401.50

1.00001.23371.55271.99372.61173.4903

1.00001.23371.55271.99372.61173.4904

0.00000.00000.00000.00000.00000.0001

0.000.000.000.000.00

0.0028

Page 41: METODE NUMERICE DE SOLU|IONARE A ECUA|IILOR DIFEREN|IALE - PREZENTARE GENERAL{

Tab. 9 Valorile ob\inute pentru h=0.01Tab. 9 Valorile ob\inute pentru h=0.01

xn yn Exact Eroare Eroare %

1.001.101.201.301.401.50

1.00001.23371.55271.99372.6117

3.4903429

1.00001.23371.55271.99372.61173.4904

0.00000.00000.00000.00000.0000

0.0000571

0.000.000.000.000.00

0.0016

Page 42: METODE NUMERICE DE SOLU|IONARE A ECUA|IILOR DIFEREN|IALE - PREZENTARE GENERAL{

Program ED;Program ED;  varvar x0,t0,tfin,pas: real;x0,t0,tfin,pas: real; i,nmax: integer;i,nmax: integer; x,t,k1,k2,k3,k4: array[0..300] of real;x,t,k1,k2,k3,k4: array[0..300] of real; fis: text;fis: text;  {Definirea ecuatiei diferentiale}{Definirea ecuatiei diferentiale}Function eul1(xe,te:real): real;Function eul1(xe,te:real): real;beginbegin eul1:=2*xe*te;eul1:=2*xe*te;end;end;

Page 43: METODE NUMERICE DE SOLU|IONARE A ECUA|IILOR DIFEREN|IALE - PREZENTARE GENERAL{

beginbegin

Assign(fis,'rk43.dat'); {Nume fisier}Assign(fis,'rk43.dat'); {Nume fisier}

Rewrite(fis);Rewrite(fis);

x0:=1.0; {Conditia initiala}x0:=1.0; {Conditia initiala}

t0:=1.0;tfin:=1.5; {Intervalul de integrat}t0:=1.0;tfin:=1.5; {Intervalul de integrat}

pas:=0.01; {Pasul de integrare}pas:=0.01; {Pasul de integrare}

nmax:=50; {Numarul de pasi}nmax:=50; {Numarul de pasi}

x[0]:=x0; t[0]:=t0;x[0]:=x0; t[0]:=t0;

Page 44: METODE NUMERICE DE SOLU|IONARE A ECUA|IILOR DIFEREN|IALE - PREZENTARE GENERAL{

for i:= 0 to nmax-1 do {Incepere proces iterativ}for i:= 0 to nmax-1 do {Incepere proces iterativ} begin {metoda RUNGE-KUTTA begin {metoda RUNGE-KUTTA

IV}IV} t[i+1]:=t[i]+pas;t[i+1]:=t[i]+pas; k1[i]:=eul1(x[i],t[i]);k1[i]:=eul1(x[i],t[i]); k2[i]:=eul1(x[i]+pas/2*k1[i],t[i]+pas/2);k2[i]:=eul1(x[i]+pas/2*k1[i],t[i]+pas/2); k3[i]:=eul1(x[i]+pas/2*k2[i],t[i]+pas/2);k3[i]:=eul1(x[i]+pas/2*k2[i],t[i]+pas/2); k4[i]:=eul1(x[i]+pas*k3[i],t[i]+pas);k4[i]:=eul1(x[i]+pas*k3[i],t[i]+pas); x[i+1]:=x[i]+pas/6*(k1[i]+2*k2[i]+2*k3[i]+k4[i]);x[i+1]:=x[i]+pas/6*(k1[i]+2*k2[i]+2*k3[i]+k4[i]); end;end;

Page 45: METODE NUMERICE DE SOLU|IONARE A ECUA|IILOR DIFEREN|IALE - PREZENTARE GENERAL{

for i:= 0 to nmax dofor i:= 0 to nmax do

begin {Scriere fisier}begin {Scriere fisier}

writeln(fis,t[i]:6:2,' ',x[i]:6:4);writeln(fis,t[i]:6:2,' ',x[i]:6:4);

end;end;

Close(fis);Close(fis);

end.end.

Page 46: METODE NUMERICE DE SOLU|IONARE A ECUA|IILOR DIFEREN|IALE - PREZENTARE GENERAL{

METODA METODA MILNEMILNE

Aceasta este o metod[ care lucreaz[ @n doi Aceasta este o metod[ care lucreaz[ @n doi pa]i.pa]i.

Pasul Pasul predictorpredictor

(18)(18)unde:unde:

y yh

y y y nn n n n n

1 3 1 2

4

32 2 3* ,

Page 47: METODE NUMERICE DE SOLU|IONARE A ECUA|IILOR DIFEREN|IALE - PREZENTARE GENERAL{

(19)(19)

y f x y

y f x y

y f x y

n n n

n n n

n n n

, ,

, ,

, .

1 1 1

2 2 2

Page 48: METODE NUMERICE DE SOLU|IONARE A ECUA|IILOR DIFEREN|IALE - PREZENTARE GENERAL{

Pasul Pasul corectorcorector

(20)(20)

unde:unde:

(21)(21)

y yh

y y yn n n n n

1 1 1 13

4 ,

y f x yn n n 1 1 1, *

Page 49: METODE NUMERICE DE SOLU|IONARE A ECUA|IILOR DIFEREN|IALE - PREZENTARE GENERAL{

Se remarc[ faptul c[ valorile pentru ySe remarc[ faptul c[ valorile pentru y00, y, y11, y, y22 ]i ]i

yy33 trebuie cunoscute pentru demararea trebuie cunoscute pentru demararea

procesului iterativ. Acestea se pot calcula cu procesului iterativ. Acestea se pot calcula cu oricare dintre metodele anterioare, oricare dintre metodele anterioare, recomand`ndu-se @ns[ ca acest calcul ini\ial recomand`ndu-se @ns[ ca acest calcul ini\ial s[ se fac[ cu un nivel @nalt de acurate\e.s[ se fac[ cu un nivel @nalt de acurate\e.

Page 50: METODE NUMERICE DE SOLU|IONARE A ECUA|IILOR DIFEREN|IALE - PREZENTARE GENERAL{

CONCLUZIICONCLUZII

Aplicarea uneia sau alteia dintre aceste Aplicarea uneia sau alteia dintre aceste metode @n vederea solu\ion[rii unei metode @n vederea solu\ion[rii unei probleme concrete implic[ o analiz[ atent[ probleme concrete implic[ o analiz[ atent[ a erorilor induse, @n vederea realiz[rii a erorilor induse, @n vederea realiz[rii unui compromis acceptabil @ntre unui compromis acceptabil @ntre precizie ]i efortul de calcul cerut.precizie ]i efortul de calcul cerut.