Sunteți pe pagina 1din 13

CURS 11+12:METODE

NUMERICE UTILIZATE N SIMULAREA SISTEMELOR DINAMICE

Noiunea de sistem dinamic. Clasificri. Noiunea de simulare

Un sistem dinamic este o entitate care se caracterizeaz printr-un mod specific de transformare a unui semnal de intrare (cauza) ntr-un semnal de ieire (efectul). Matematic, aceste semnale sunt funcii de timp (figura 1).
u(t)
SISTEM DINAMIC (MODEL)

y(t)

Fig. 1

Reprezentarea de tip cutie neagr a unui sistem dinamic

Dac mulimea momentelor de timp n care evolueaz un sistem este o submulime a: mulimii numerelor reale, , sistemul este cu timp continuu (sistem continuu); mulimii numerelor ntregi, , atunci sistemul se numete cu timp discret (sistem discret sau sistem cu eantionare). n modelarea sistemelor dinamice se utilizeaz legi specifice de conservare de mas i energie, descriind fenomene de acumulare i de dezacumulare, exprimate matematic sub forma ecuaiilor de bilan, care sunt ecuaii difereniale. Aadar, se poate spune c prima imagine asupra comportamentului temporal al unui sistem dinamic este dat de modelul de tip ecuaie diferenial. Ecuaiile difereniale sunt fie ordinare la care variabila de derivare este timpul, t fie cu derivate pariale la care mai apare nc cel puin o variabil de derivare pe lng timp (de exemplu, o coordonat spaial). Fiecare tip de ecuaie diferenial este asociat respectiv unei clase de sisteme: sistemele cu parametri concentrai sunt descrise de ecuaii difereniale ordinare (exemplul 1); sistemele cu parametri distribuii sunt descrise de ecuaii difereniale cu derivate pariale (exemplul 2.). E x e m p lu l 1 : Se consider sistemul mecanic din figura 2 a), unde un corp de mas M, legat de un perete printr-un resort de constant de elasticitate k, se deplaseaz cu frecare vscoas, caracterizat de coeficientul de frecare fv, sub aciunea unei fore variabile n timp, f(t).

Modelarea ca sistem dinamic ncepe cu identificarea drept cauz (intrare) a forei f(t) i drept efect (ieire) a deplasrii x(t) (figura 2 b)). Cele dou mrimi sunt legate prin legea de conservare a energiei mecanice, descris de ecuaia diferenial ordinar de ordinul al II-lea: (1)

d 2 x(t ) dt
2

+ fv

dx(t ) + k x(t ) = f (t ) , dt

care este un model al sistemului.

x (t )

f( t)
f (t )

SISTEM DINAMIC (MODEL)

x(t)

M
fv

b)

a)
Fig. 2

Sistem mecanic cu resort: a) reprezentare fizic; b) simbolizare ca sistem dinamic

Sistemul mecanic descris este, deci, un sistem dinamic cu parametri concentrai. Exemplul 2: Se consider o bar de lungime L, a crei temperatur se modific drept urmare a aplicrii la un moment dat, t0, la capetele ei a unor temperaturi cu variaie cunoscut n timp, 0(t) i L(t) (figura 3). Se cunosc constantele de material: densitatea materialului barei, [kg/m3], cldura lui specific, c [kcalgrd/kg] i conductibilitatea termic, [kcalgrd/m/h], precum i distribuia de temperaturi de-a lungul barei la momentul t0, 0(x).
0(t) 0 x (x,t) L L(t) x

Fig. 3

Sistem guvernat de transferul unidirecional de cldur

Temperatura n punctele barei este funcie i de timp, dar i de deprtarea de capetele barei, deci de coordonata spaial, notat cu x. Lund ca origine a coordonatei spaiale captul din stnga al barei, se noteaz cu (x,t) temperatura n punctul aflat la abscisa x la momentul de timp t (figura 4.3). (x,t) este efectul datorat cauzelor 0(t) i L(t) (numite i foraje de temperatur). Evoluia temperaturii (x,t) este descris de ecuaia transferului unidirecional de cldur, care este o ecuaie diferenial cu derivate pariale: (2)

( x, t ) 2 ( x , t ) = a , t 2 x

unde a = ( c) se numete difuzabilitate termic [m2/s]. Sistemul descris este, deci, un sistem dinamic cu parametri distribuii. Dac un sistem rspunde printr-o ieire mrginit unui semnal de intrare mrginit, atunci se spune c sistemul este stabil (intrare-ieire). O clas important de sisteme sunt cele liniare, crora li se asociaz ecuaii difereniale liniare (a se vedea exemplul 1). Sistemele liniare stabile sunt caracterizate prin aceea c las neschimbat forma semnalelor armonice; cu alte cuvinte, dac la intrarea unui sistem liniar stabil se aplic semnal sinusoidal, atunci ieirea lui va fi tot sinusoidal. Majoritatea sistemelor reale nu verific aceast proprietate; se spune c sunt neliniare. Termenul de simulare este asociat evoluiei temporale a unui sistem dinamic descris printr-un model adecvat, atunci cnd sistemului i se aplic un semnal de intrare cunoscut; n particular, se pune problema determinrii ieirii sistemului, numite i rspuns (la o anume intrare cunoscut). De exemplu, simularea sistemului din exemplul (1) const n a afla cum
2

variaz deplasarea corpului n timp, x(t), atunci cnd se cunoate f(t), forma de variaie a forei aplicate la un moment dat, t0. Pentru aceasta este necesar integrarea numeric a ecuaiei difereniale (1) n condiii iniiale cunoscute, x ( t0 ) i x ( t0 ) . Simularea sistemului din exemplul (2) presupune integrarea numeric a ecuaiei (2) n condiii iniiale cunoscute, (x,t0)=0(x), pentru x [0;L]. A simula un sistem dinamic este echivalent cu a rezolva (integra) ecuaia diferenial care l descrie, n condiii iniiale cunoscute, care reprezint starea iniial a sistemului. Acest capitol este dedicat metodelor de integrare numeric a ecuaiilor difereniale, ca prim metod de simulare numeric a sistemelor dinamice. O mare parte din problematica determinrii rspunsului sistemelor se reduce la gsirea soluiei ecuaiei difereniale (sistemului de ecuaii difereniale) ca soluie (unic) a problemei cu timp iniial (problemei Cauchy). Deoarece ecuaiile difereniale care modeleaz procesele din lumea real sunt adesea neliniare i de ordin superior, gsirea unei soluii analitice (exacte) a problemei Cauchy este dificil. Alternativa o constituie gsirea unei soluii aproximative, i anume prin folosirea unui algoritm executabil pe o main de calcul. Astfel, soluia gsit prin aplicarea unei metode numerice este un ir de aproximaii ale valorilor soluiei exacte, calculate la momente discrete de timp, de obicei egal distanate.
.

Simularea sistemelor cu parametri concentrai. Integrarea numeric a ecuaiilor difereniale ordinare i a sistemelor de ecuaii difereniale ordinare Fundament teoretic

2.1

n aceast seciune sunt rezumate principalele rezultate teoretice care stau la baza metodelor numerice de rezolvare a ecuaiilor difereniale ordinare (EDO) i a sistemelor de ecuaii difereniale ordinare. n vederea rezolvrii numerice a EDO sau a sistemelor de EDO, indiferent de metoda folosit, mai nti se procedeaz la scrierea acestora sub forma standard: (3)
dy dt = f t , y , t [t0 ; t f ], y ( t0 ) = y , 0
T

( )

unde y = [ y1 ... yn ]

i condiia iniial, y0 = y10

... yn0

, sunt vectori de

dimensiune n, unde n este ordinul ecuaiei sau al sistemului considerat, f = [ f1 ... este o funcie vectorial de aceeai dimensiune, iar [t0 ; t f ] este intervalul de integrare.

fn ]

Scrierea (3) este posibil oricare ar fi ordinul ecuaiei sau al sistemului considerat, n virtutea unui rezultat cunoscut din matematic: orice ecuaie diferenial de ordinul n>1, printr-o schimbare de variabil, poate fi scris ca un sistem de n ecuaii difereniale de ordinul I. Aceast echivalare se face introducnd n noi variabile, al cror mod de alegere nu este unic, dup cum se arat mai jos. Pentru o ecuaie diferenial de ordin n>1, dat sub forma:
3

dn y

(4)

. .. t , y , y , y,... y ( n 1) = f , t t0 ; t f , n dt

y ( t0 ) = y10 , y ( t0 ) = y20 ,..., y ( n 1) ( t0 ) = yn0 se poate opta pentru alegerea noilor variabile astfel: (5) y (i 1) (t ) = zi (t ), i = 1, n ,

obinndu-se un sistem de ecuaii difereniale n variabila z:

(6)

. z1 = z2 . z = z , 3 2 ... . z n = f ( t , z1, z2 ,..., zn )


T

cu condiia iniial z ( t0 ) = z10 = y10 ... zn0 = yn0 . Ca urmare a acestei schimbri de variabil, sistemul (6) este de tipul (1): (7)
unde: (8)
fz = z2 z3 ... f ( t , z1, z2 ,..., zn )
T

dz = f z ( t , z ) , z ( t0 ) = z 0 , dt

Observaie:

Schimbarea de variabil (5) reprezint numai una dintre posibilitile de a transforma o ecuaie diferenial de ordin superior ntr-un sistem de ecuaii difereniale de ordinul I, obinndu-se astfel forma standard (1), care face obiectul metodelor numerice de simulare a rspunsului sistemelor. Se pot utiliza i alte schimbri de variabil care au acelai efect, evident cu expresii diferite pentru funcia vectorial f z .
T e o r e m a 1 (unicitatea soluiei problemei (3)):

Fie mulimea convex D = ( t , y ) t0 t t f , y n

i funcia vectorial f ( t , y )

continu pe D. Dac exist o constant L>0 astfel nct f ( t , y1 ) f ( t , y2 ) L y1 y2 adic f este lipschitzian (notaia desemneaz norma vectorial) atunci soluia problemei

(3), y ( t ) , este unic pentru t t0 ; t f . Se pune acum problema consecinelor pe care le au asupra soluiei ecuaiei (4.3) eventualele perturbaii datorate erorilor de rotunjire aprute n condiiile iniiale sau/i n funcia f. Se consider problema perturbat: (9)
dz = f (t, z ) + (t ) , t t0 ; t f , z ( t0 ) = y ( t0 ) + 0 , dt

care admite soluia (exact) z(t). Se demonstreaz urmtorul rezultat. T e o r e m a 2 (soluia problemei perturbate):
4

Dac f este continu i lipschitzian pe t0 ; t f , atunci pentru orice > 0 , cu > max { 0 , (t )} , exist k ( ) > 0 pentru care este ndeplinit relaia:

(10)

z ( t ) y ( t ) < k ( ) , t t0 ; t f ,

unde y(t) este soluia (exact a) problemei neperturbate. Se spune c problema (4.3) este bine formulat. Metodele numerice de integrare a ecuaiilor difereniale furnizeaz soluii ale problemelor perturbate, aceasta datorit erorilor de rotunjire.

2.2

Elemente necesare pentru integrarea numeric a EDO

Aceste elemente trebuie vzute drept date de intrare care sunt furnizate unei metode numerice de integrare. Ele sunt listate mai jos: 1) EDO de rezolvat trebuie mai nti adus la forma (3) printr-o schimbare de variabil adecvat (n particular se poate utiliza schimbarea de variabil (5)); rezult astfel funcia vectorial f z , de dimensiune egal cu ordinul ecuaiei, n, care descrie legtura dintre derivatele celor n noi variabile, z i , i valorile lor nederivate, zi ; 2) intervalul de integrare dat prin capetele acestuia, t0 i t f ; 3) condiiile iniiale, sub forma unui vector de dimensiune n, y0 = y10 ... yn0 ; 4) pasul de integrare, notat cu h n toate metodele de integrare se consider o diviziune de ordinul m a intervalului t0 ; t f (o mprire a acestui interval n intervale de aceeai lungime, h), n ale crei puncte, tk = t0 + k h, k {0,..., n} , se calculeaz valorile soluiei numerice a ecuaiei, notate cu yk , care sunt aproximri ale valorilor exacte, y ( tk ) ; este
T .

intuitiv evident c soluia numeric se apropie cu att mai mult de soluia exact cu ct diviziunea este mai fin (pasul de integrare, h, este mai mic); 5) un subprogram (funcie) care calculeaz valoarea funciei f z pentru orice moment de timp, t, i care va fi apelat la fiecare pas de integrare, tk , de programul unde este implementat metoda de integrare numeric; 6) alte date care se constituie ca parametri constani n funcia f z .

2.3

Metode unipas (directe)

Metodele unipas de integrare numeric a EDO sunt metodele Taylor, care nu se folosesc, fiind complicate, i metodele Runge-Kutta (RK). Aceste metode au ca baz de pornire expresia dezvoltrii polinomiale n serie Taylor a funciei y(t), presupus derivabil de ordinul (p+1) i cu derivatele continue: (11)
y ( tk +1 ) = y ( tk ) + h y ( tk ) +
.

h 2 .. h p ( p) h p +1 ( p +1) y ( tk ) + + y ( tk ) + y ( k ) , p! 2! ( p + 1)!

unde k ( tk , tk +1 ) . nlocuind n (4.11) expresia derivatei de ordinul i a funciei y ( t ) : (12)


y (i ) ( t ) = f (i 1) ( t , y ( t ) ) , i = 1, ( p + 1)
5

n punctul tk , se obine: (13)


y ( tk +1 ) = y ( tk ) + hf ( tk , y ( tk ) ) + h2 . h p +1 ( p ) f ( tk , y ( tk ) ) + ... + f ( k , y ( k ) ) 2! ( p + 1)!

Relaia (13) este o ecuaie n diferene ce permite calculul soluiei n punctul tk +1 pe baza soluiei n punctul tk . Transpunerea numeric a acestei relaii conduce la calculul soluiei la un anume pas de integrare, yk +1 , n funcie de soluia la pasul anterior, yk . Aceast dependen, care ia n considerare istoria integrrii cu un singur pas n urm justific numele acestei clase de metode (unipas). n general, scopul final al oricrei metode numerice este s determine cu suficient acuratee o soluie aproximativ a problemei cu minimum de resurse de memorie i numr de operaii. Cea mai important msur a acurateii o constituie eroarea local de trunchiere. Aceasta reprezint la un anumit pas msura n care soluia exact a ecuaiei difereniale satisface ecuaia n diferene utilizat pentru calcul. Se demonstreaz c la metodele Taylor, care sunt bazate pe relaia (13), eroarea local de trunchiere este mrginit superior de un polinom de grad p n pasul de integrare, ceea ce nseamn c este de ordinul h p ( O h p ). Aceasta arat c, ntr-adevr, acurateea metodei crete odat cu micorarea lui h. Pe de alt parte, micorarea lui h antreneaz creterea numrului de operaii efectuate i, deci, a erorilor de rotunjire. Se demonstreaz c exist o valoare a lui h pentru care se atinge minimul erorii de trunchiere n prezena erorilor de rotunjire. Concluzia este c pasul de integrare, h, rezult dintr-un compromis ntre acurateea i precizia metodei. Pentru p=0 se obine metoda Taylor de ordinul 1, cunoscut i ca metoda Euler sau metoda Runge-Kutta de ordinul 1: (14)
yk +1 = yk + h f ( tk , yk ) ,

( )

la care minimizarea erorii de trunchiere se obine pentru: h = 2 M ,


unde este eroarea de rotunjire la fiecare pas de integrare, iar M este o constant care mrginete superior valorile derivatei a doua ale soluiei exacte a ecuaiei pe intervalul de
integrare: y ( t ) M , t t0 ; t f . Metodele Taylor de ordinul p>1 nu sunt folosite ca atare, deoarece necesit calculul expresiei analitice a derivatelor funciei din membrul drept din (4.3). Metodele RK elimin acest dezavantaj, pstrnd avantajul erorii locale de trunchiere mici. Metoda Runge-Kutta de ordinul 2 sau metoda punctului median care are o eroare de trunchiere de O h 2 , are la baz expresia: (15)
..

( )

h h yk +1 = yk + h f tk + , yk + f ( tk , yk ) 2 2

Alte dou metode cunoscute sub numele general de metode Runge-Kutta de ordinul 2 sunt metoda Euler modificat, care are relaia n diferene:
6

(16)

h yk +1 = yk + f ( tk , yk ) + f ( tk +1, yk + h f ( tk , yk ) ) 2
h yk +1 = yk + f ( tk , yk ) + 3 f 4 2 2 tk +1 + h, yk + h f ( tk , yk ) 3 3

i metoda Heun, cu relaia n diferene: (17)

Metoda RK de ordinul 3 este puin utilizat. Una dintre cele mai utilizate metode unipas este metoda Runge-Kutta de ordinul 4, creia i corespund urmtoarele formule de calcul: (18)

1 yk +1 = yk + ( k1 + 2k2 + 2k3 + k4 ) , 6 k2 = h k1 = h f ( tk , yk ) k = h f t + h , y + 1 k k = h 3 k 2 4 k 2 2 h 1 f tk + , yk + k1 2 2 f ( tk + h, yk + k3 )

unde:

(19)

Aceast metod are eroarea local de trunchiere O h 4 , iar funcia y(t) trebuie s fie de clas C 5 (continu i cu derivatele pn la ordinul 5 continue).
Exemplu: Sa se scrie un program Matlab care sa realizeze integrarea numerica a sistemului de ecuatii diferentiale: 1 = x2 x
1 ( 25 5 x2 25 x1 ) 2 Cerinte: - Se va utiliza metoda de integrare numerica Runge-Kutta de ordinal 4. - Se vor afisa grafic, in aceeasi figura, rezultatele obtinute prin integrare 2 = x

( )

Rezolvare: % program principal pentru integrare numerica clear all;close all; x=[7 10]; h=0.1; t0=0; tf=10; t(1)=0; i=1; for m=0.1:h:tf, k1=func(t,x(i,:)); k2=func(t+h/2,x(i,:)+h*k1/2); k3=func(t+h/2,x(i,:)+h*k2/2); k4=func(t+h,x(i,:)+h*k3); x(i+1,:)=x(i,:)+h/6*(k1+2*k2+2*k3+k4); t(i+1)=m;
7

i=i+1; end subplot(211); hold on; plot(t,x(:,1),'k'); subplot(212); hold on; plot(t,x(:,2),'k'); % implementare sistem de ecuatii diferentiale function xd=func(t,x) xd(1)=x(2); xd(2)=1/2*(25-5*x(2)-25*x(1));

2.4

Metode directe cu pas variabil

n general nu se poate determina eroarea global a unei metode directe de integrare, dar se tie c exist o strns legtur ntre aceasta i eroarea local de trunchiere. Prin utilizarea adecvat a metodelor directe de diferite ordine se poate predicta eroarea local de trunchiere i, mpreun cu variaia pasului, se poate controla eroarea global. Metodele directe cu pas variabil se mai numesc i cu pas adaptiv pentru c adapteaz numrul i poziia punctelor n care se face calculul astfel nct eroarea local de trunchiere s se menin inferioar unei limite impuse. Acest paragraf este dedicat manierei n care eroarea local de trunchiere poate fi controlat prin variaia pasului de integrare. Eroarea local de trunchiere produs prin aplicarea unei metode directe de ordin p poate fi controlat prin folosirea unui pas de integrare modificat. Presupunnd c aceast modificare este de forma hnou = hvechi , se demonstreaz c este suficient s se aleag: (20) , 2 y k +1 yk +1
1 p

k +1 unde cu s-a notat limita impus a erorii locale de trunchiere (tolerana impus), iar y reprezint soluia la pasul k+1 dat de o alt metod de integrare dect prima folosit. O metod cunoscut care utilizeaz aceast tehnic, de control al erorii globale prin variaia pasului de integrare, este metoda Runge-Kutta-Fehlberg. Aceast metod const n utilizarea unei metode Runge-Kutta cu eroarea local de trunchiere de ordinul cinci:

(21)

k +1 = yk + y

16 6656 28561 9 2 k1 + k3 + k4 k5 + k6 , 135 12825 56430 50 55 25 1408 2197 1 k1 + k3 + k4 k5 , 216 2565 4104 5

pentru a estima eroarea local de trunchiere a unei metode RK de ordinul 4 dat prin relaia: (22) unde: yk +1 = yk +

(23)

h 1 k1 = h f ( tk , yk ) k2 = h f tk + 4 , yk + 4 k1 3 3 9 h k3 = h f tk + , yk + k1 + k2 8 32 32 12h 1932 7200 7296 , yk + k1 k2 + k3 k 4 = h f tk + 13 2197 2197 2197 k = h f t + h, y + 439 k 8k + 3680 k 845 k k 1 2 3 4 k 5 216 513 4104 8 3544 1859 11 h k3 + k4 k5 k6 = h f tk + , yk k1 + 2k2 2 27 2565 4104 40

Un avantaj al acestei metode este c sunt necesare numai ase evaluri ale funciei f. Metodele RK de ordinul 4 i 5, utilizate mpreun necesit cel puin patru evaluri pentru cea de ordinul 4 i ase pentru cea de ordinul 5, deci n total cel puin zece evaluri. O valoare k +1 care, iniial pentru h la pasul k este utilizat pentru a gsi primele valori ale lui yk +1 i y la rndul lor, sunt utilizate n calculul lui . n mod practic, pentru alegerea unei valori iniiale pentru h se folosete o regul mai mult sau mai puin empiric. Pentru metoda RungeKutta-Fehlberg de ordinul 4 aceast valoare se poate obine particulariznd p=4 n relaia (4.20): 4 4 = 0.84 2 y y k +1 yk +1 k +1 yk +1 Algoritmul Runge-Kutta-Fehlberg (de calcul al soluiei ecuaiei difereniale (3) cu eroare local de trunchiere avnd o toleran dat, ) Date de intrare: t0, tf, y0, hmin, hmax, Pas 1. t = t0 , y = y0 , h = hmax , flag = 1 Pas 2. Ct timp flag = 1 repet paii 3-11. Pas 3. k1 h f ( tk , yk )
k2 h f ( tk + h / 4, yk + k1 / 4 ) k3 h f ( tk + 3h / 8, yk + 3k1 / 32 + 9k2 / 32 )
1 1

k4 h f ( tk + 12h /13, yk + 1932k1 / 2197 7200k2 / 2197 + 7296k3 / 2197 )

k5 h f ( tk + h, yk + 439k1 / 216 8k2 + 3680k3 / 513 845k4 / 4104 ) k6 h f ( tk + h / 2, yk 8k1 / 27 + 2k2 3544k3 / 2565 + 1859k4 / 4104 11k5 / 40 )

Pas 4.

R k1 / 30 128k3 / 4275 2197 k4 / 75240 + k5 / 50 11k6 / 40 h

Pas 5. Dac R , atunci t = t + h y = y + 25k1 / 216 + 1408k3 / 2565 + 2197 k4 / 4104 k5 / 5 Pas 7. Scrie t, y.
4 Pas 8. 0.84 R Pas 9. Dac 0.1 , atunci h = 0.1 h altfel, dac 4 , atunci h = 4 h altfel h = h
9
1

Pas 10. Dac h > hmax , atunci h = hmax Pas 11. Dac t t f ,

atunci flag = 0 altfel, dac t + h > t f , atunci h = t f t altfel, dac h > hmin , atunci flag = 0 altfel scrie Pas minim depit!

2.5

Metode multipas (indirecte)

2.5.1 Introducere Metodele unipas, discutate n capitolele anterioare, folosesc numai informaia de la momentul curent, tk , pentru a calcula soluia EDO la momentul urmtor, tk +1 . Dei aceste

metode folosesc i valori calculate n interiorul intervalului de integrare [tk , tk +1 ] , totui

eroarea local de trunchiere, yk y ( tk ) , crete odat cu k, atunci apare motivat dezvoltarea de metode care s foloseac informaia de la momentele de integrare anterioare. Aceste metode care, pentru a calcula soluia yk +1 , folosesc istoria integrrii cu cel puin doi pai n urm, se numesc metode multipas sau indirecte.
D e f i n i i a 4 . 1 : O metod multipas de ordinul m folosit pentru a determina soluia

acestea nu sunt reinute pentru utilizare ulterioar i, prin urmare, nu sunt disponibile utilizatorului. Deoarece informaia calculat la momentele t0 , t1,..., tk este disponibil i

aproximativ a problemei Cauchy (3) presupune calculul lui yk +1 cu relaia: (24) yk +1 = am 1 yk + am 2 yk 1 + ... + ao yk +1 m , + h ( bm f ( tk +1, yk +1 ) + bm 1 f ( tk , yk ) + + bo f ( tk +1 m , yk +1 m ) )

unde ai , bi , i = 0,..., m 1 sunt constante. Cnd bm = 0 , metoda se numete explicit sau deschis, n caz contrar ea se numete implicit sau nchis. Condiia iniial, y0 , este cunoscut. Folosirea relaiei (24) ntr-o structur de ciclare necesit ca urmtoarele m-1 valori care urmeaz condiiei iniiale, y1, y2 ,..., ym 1 , s fie calculate separat, nainte de a se intra n ciclare. De obicei, aceste valori se calculeaz printr-o metod direct, Runge-Kuta. Aceast operaiune poart denumirea de amorsare. Dup amorsare, valorile yk , yk 1,..., yk +1 m se calculeaz n ciclu utiliznd formula (24) particularizat pentru metoda multipas respectiv (aceast faz se numete integrarea propriu-zis). Metodele implicite sunt folosite n practic mai ales pentru a mbunti valoarea calculat la un pas de integrare printr-o metod explicit. Combinaia dintre metodele explicite i cele implicite d natere la aa numitele metode predictor-corector sau cu predicie i corecie. La aceste metode faza de integrare propriu-zis se mparte la fiecare pas n dou etape: calculul (predicia) valorii lui yk +1 prin formula explicit i, respectiv, corecia acestei valori cu formula implicit, pn la o anume precizie impus. Metodele cu predicie i corecie sunt singurele metode care permit controlul direct al preciziei de calcul.
10

n cele ce urmeaz, clasa metodelor predictor-corector este tratat separat de restul metodelor multipas, pe care le vom numi simple.
2.5.2 Metode multipas simple Paii majori ai integrrii numerice prin metode multipas simple sunt dai mai jos (notaia [] desemneaz partea ntreag). Algoritmul general de integrare numeric a EDO prin metode multipas simple Date de intrare: t0, tf, y0, h Pas 1. t = t0 , y = y0 Pas 2. Amorsarea: calculul valorilor y1, y2 ,..., ym 1 (printr-o metod direct, Runge-Kutta).
t f t0 Pas 3. Pentru k de la m-1 la 1 h yk +1 = ABm ( yk , yk 1,..., yk +1 m )

repet Expresiile de calcul pentru formulele de integrare multipas se deduc pornind de la integrala funciei y ( t ) pe intervalul [tk , tk +1 ] : (25)
y ( tk +1 ) y ( tk ) = y ( t ) dt = f ( t , y ( t ) ) dt
tk tk tk +1 . tk +1
.

Deoarece nu se poate integra f ( t , y ( t ) ) fr cunoaterea lui y ( t ) , se va utiliza un polinom de interpolare, P(t), care trece prin punctele

( tk +1 m , yk +1 m ) . Dac se presupune i y ( tk ) yk , atunci relaia (25) devine:


(26)
y ( tk +1 ) yk + P ( t ) dt
tk tk +1

( tk , yk ) , ( tk 1, yk 1 ) ,...,

n principiu, orice metod de interpolare este utilizabil pentru deteminarea lui P(t), dar cea mai des folosit este interpolarea Newton de tip diferen napoi. Eroarea local de trunchiere corespunztoare metodelor multipas se calculeaz similar metodelor unipas. Fr a detalia calculele, n tabelul 1 se prezint formulele de integrare i erorile de trunchiere pentru metoda multipas explicit de ordinul m, numit i Adams-Bashforth (AB), n cazurile m=2, 3, 4.

m
2

Formula de integrare

Eroarea local de trunchiere la pasul k+1

(27)

h yk +1 = yk + ( 3 f ( tk , yk ) f ( tk 1 , yk 1 ) ) 2 yk +1 = yk + h ( 23 f ( tk , yk ) 16 f ( tk 1 , yk 1 ) 12 +5 f ( tk 2 , yk 2 ) )

k +1 ( h ) =

5h 2 (3) y ( k ) , k ( tk 2 , tk 1 ) 12
3h3 (4) y ( k ) , k ( tk 2 , tk 1 ) 8

(28)

k +1 ( h ) =

11

(29)

yk +1 = yk +

h ( 55 f ( tk , yk ) 59 f ( tk 1 , yk 1 ) + 24 +37 f ( tk 2 , yk 2 ) 9 f ( tk 3 , yk 3 ) )

k +1 ( h ) =

251h 4 (5) y ( k ) , k ( tk 2 , tk 1 ) 720

Tabel 1 Caracteristicile metodei multipas Adams-Bashforth pentru diferite ordine Metodele multipas implicite, numite i Adams-Moulton (AM), utilizeaz perechea ( tk +1, f ( tk +1, yk +1 ) ) ca punct adiional al polinomului de interpolare n aproximarea

integralei f ( t , y ( t ) ) dt .
tk

tk +1

n tabelul 2 se prezint formulele de integrare i erorile de trunchiere pentru metodele AM de diferite ordine.
m
0 Formula de integrare Eroarea local de trunchiere la pasul k+1

(30)

h yk +1 = yk + ( f ( tk +1 , yk +1 ) + f ( tk , yk ) ) 2
yk +1 = yk + h ( 5 f ( tk +1 , yk +1 ) + 8 f ( tk , yk ) 12 f ( tk 1 , yk 1 ) ) h ( 9 f ( tk +1 , yk +1 ) + 19 f ( tk , yk ) 24 5 f ( tk 1 , yk 1 ) + f ( tk 2 , yk 2 ) )

k +1 ( h ) =

h3 (3) y ( k ) , k ( tk , tk +1 ) 12 h3 (4) y ( k ) , k ( tk 1 , tk +1 ) 24

(31)

k +1 ( h ) =

(32)

yk +1 = yk +

k +1 ( h ) =

19h 4 (5) y ( k ) , k ( tk 2 , tk +1 ) 720

Tabel 2 Caracteristicile metodei multipas Adams-Moulton pentru diferite ordine 2.5.3 Metode multipas corective (cu predicie i corecie) Pentru a schia algoritmul de integrare numeric folosind metode corective, se introduce

notaia ykj , care semnific soluia la pasul k de predicie i pasul j de corecie. Rezult c valoarea predictat la fiecare pas poate fi considerat drept o corecie la pasul 0 i se noteaz,
0 deci, cu yk . yk desemneaz valoarea final (dup predicie i corecie) a soluiei la pasul k. Presupunem c predicia se realizeaz cu o metod AB de ordinul m, iar corecia cu o metod AM de ordinul p (metoda corectiv rezultat se mai numete i Adams-BashforthMoulton). Precizia de corecie se noteaz cu , iar notaia desemneaz norma vectorial.

Algoritmul general de integrare numeric a EDO prin metode PC Date de intrare: t0, tf, y0, h, Pas 1. t = t0 , y = y0

Pas 2. Amorsarea: calculul valorilor y1, y2 ,..., ym 1 (printr-o metod direct, Runge-Kutta). t f t0 Pas 3. Pentru k de la m-1 la 1 h Predicia la pasul de integrare k+1:
0 yk +1 = ABm ( yk , yk 1,..., yk +1 m ) Corecia la pasul 1 al pasului de integrare k+1:

12

0 y1 k +1 = AM p yk +1, yk , yk 1,..., yk +1 p

j1
1 Ct timp ykj +1 ykj + 1 >

Corecia la pasul j al pasului de integrare k+1:


+1 j ykj + 1 = AM p yk +1, yk , yk 1,..., yk +1 p

j j+1 repet
+1 yk +1 ykj + 1 repet Acurateea metodelor multipas corective (PC) depinde de efectul pe care l are asupra erorilor cuplarea unei anumite formule de integrare explicite n faza de predicie cu o formul implicit n faza de corecie. Analiza numeric a acestui efect a condus la perechile predictorcorector optime sintetizate n tabelul 3.

Formulele de integrare

Comentarii predicia cu AB pentru m=2 i corecia cu AM pentru m=0

PC1

(33)

h 0 ( P) : yk +1 = yk + 2 ( 3 f ( tk , yk ) f ( tk 1 , yk 1 ) ) h +1 (C ) : ykj+ f tk +1 , ykj+1 + f ( tk , yk ) 1 = yk + 2

( (

PC2

(34)

h 0 ( P ) : yk +1 = yk + 12 ( 23 f ( tk , yk ) 16 f ( tk 1 , yk 1 ) +5 f ( t k 2 , y k 2 ) ) h j +1 (C ) : yk +1 = yk + 5 f tk +1 , ykj+1 + 8 f ( tk , yk ) 12 f ( tk 1 , yk 1 ) )

( (

predicia cu AB pentru m=3 i corecia cu AM pentru m=1

PC3

(35)

h 0 ( P) : yk +1 = yk + 24 ( 55 f ( tk , yk ) 59 f ( tk 1 , yk 1 ) + +37 f ( tk 2 , yk 2 ) 9 f ( tk 3 , yk 3 ) ) h j +1 (C ) : yk +1 = yk + 9 f tk +1 , ykj+1 + 19 f ( tk , yk ) 24 5 f ( tk 1 , yk 1 ) + f ( tk 2 , yk 2 ) )

( (

predicia cu AB pentru m=4 i corecia cu AM pentru m=2

Tabel 3 Formulele de integrare pentru cele mai utilizate metode predictor-corector

13

S-ar putea să vă placă și