metode numerice de solu|ionare a ecua|iilor diferen|iale - prezentare general{

Post on 14-Jan-2016

43 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

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

PREZENTARE GENERAL{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.

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

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

#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, , ,

(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

.

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

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

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 ,

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

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, ,

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

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

 

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

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

 

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

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;

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.

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

, ,,

, .

*

*

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

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* ,

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

, , *

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

 

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

 

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

 

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;

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;

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.

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

! !

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,

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

, .

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 ,

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

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

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

, ,

, .

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, ,

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, , ,

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 ,

#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

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

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

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;

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;

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;

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.

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* ,

(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

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, *

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.

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.

top related