Documente Academic
Documente Profesional
Documente Cultură
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
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
x (t )
f( t)
f (t )
x(t)
M
fv
b)
a)
Fig. 2
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
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 ]
... 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 ,
(6)
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)):
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
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
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)!
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 ) ,
( )
( )
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
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
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