Sunteți pe pagina 1din 22

INTEGRAREA ECUAŢIILOR DIFERENŢIALE CU CONDIŢII INIŢIALE

1. Metode cu paşi separaţi


Formularea problemei
Considerăm date:
- intervalul închis I  x0, x0  a  R ,
- funcţia continuă f : I  R  R, x, y   fx, y  ,
- ecuaţia diferenţială P : y   fx, y ,
Problema diferenţială de ordinul 1 constă în determinarea funcţiei derivabile
y : I  R, x  y x  ,
cu proprietatea că pentru  x  I avem yx  fx, yx .
Pentru un sistem de ecuaţii diferenţiale de ordinul 1 se cunosc funcţiile continue
fj : I x RnRn, (x,y1,...,yn)(z1,z2,...,zn), j  1 : n.
şi ecuaţiile diferenţiale
y1  f1 x, y1,  , y n  ,
y2  f2 x, y1,  , y n  ,

y n  fn x, y 1,  , y n  .
şi interesează determinarea funcţiilor derivabile
y j : I  R n, x  y j x  ,

astfel încât yjx   fjx, y1 x ,  , yn x , j  1 : n.

Integrarea unui sistem de ecuaţii diferenţiale de ordinul p


 
yj p  fj x, y1,  , yn, y1,  , yn, y1 p  1,  ynp  1 , j  1 : n ,

scris în notaţie vectorială simplificată sub forma


 
y p   f x, y, y,  y p  1 ,
cu fj : I  R  
n p
 R,
(sau f : I x (Rn)p → Rn),

presupune determinarea funcţiilor derivabile


yj : I  R n, x  yjx sau y : x  y x Sistemul de ecuaţii
diferenţiale de ordin p poate fi redus folosind substituţiile de mai jos:
y  v1 ,
y  v 2 ,

y p  1  v p .

la sistemul de ecuaţii diferenţiale de ordin 1


v 1  v 2 ,
v 2  v 3 ,


v p  f x, v 1, v 2,  , v p . 
Existenţa soluţiilor ecuaţiilor diferenţiale şi sistemelor de ecuaţii diferenţiale este condiţionată de o
suficientă “netezime” a funcţiilor f. Pentru unicitatea soluţiilor, şi prin urmare pentru o bună

1
formulare a problemei de integrare numerică, se impun condiţii suplimentare, cum sunt condiţiile
iniţiale, finale, etc.
Problema diferenţială cu condiţii iniţiale (problema Cauchy) constă din rezolvarea ecuaţiei (3)
P1 : y  fx, y , impunând condiţia iniţială
P2 : y x 0   λ , cu λ  R , dat.
Vom presupune în mod constant în cele ce urmează că funcţiile f satisfac o condiţie Lipschitz
 x  I,  u, v  R n,  L  0 , astfel încât
fx, u  fx, v   L  u  v .

Condiţia Lipschitz asigură existenţa şi unicitatea soluţiei problemei Cauchy.


Problema diferenţială cu condiţii iniţiale este echivalentă cu determinarea unei funcţii y continue pe
I, cu proprietatea că
x
y(x)  λ   f t, y(t) dt .
x0
echivalenţă cunoscută şi sub numele de metoda constructivă Picard
Metoda nu este aplicabilă analitic, deoarece f nu admite în general primitive. De cele mai multe ori
soluţia analitică nu este exprimabilă prin funcţii elementare, sau este foarte greu de găsit şi de aceea se
apelează la tehnici de integrare numerică ce oferă valori aproximative ale soluţiei într-o diviziu ne a lui
I. Câteva dintre cele mai importante metode numerice sunt prezentate în continuare.

Metoda lui Euler


Se împarte intervalul I  x0, x0  a în N intervale echidistante de lungime
a
h  ,
N
prin punctele de abscise
a
xi  x0  i  h  x0  i  ,
N
şi se aproximează soluţia yxi   Yi , în care
 Y0  λ,

Yi  1  Yi  h  fx i, y i , i  0 : N  1.
function y = Euler(x0, a, n, f, y0)
/* Intrări:
/*x0=capătul stâng al intervalului de integrare
/* a = lungimea intervalului
/* n = numărul de puncte
/* y0 = condiţia iniţială
/* f = funcţia de integrat y'=f(x,y)
/*Ieşiri:
/* y = vectorul aproximaţiilor soluţiei
y = zeros(n+1, 1);
y(1) = y0;
h = a / n
for i = 2 : n+1
x = x0 + i*h
y(i) =y(i-1) +h*f(x, y(i-1))
end

2
Consistenţă, stabilitate, convergenţă
O metodă cu paşi separaţi determină aproximaţia soluţiei în pasul următor Yi+1, folosind numai
informaţia din pasul curent i
 Y0  λ h,

 Yi  1  Yi  h  fh x i, Yi , i  0, 1, 

Eroarea într-un pas (în xi) se defineşte ca


ei  yxi   Yi ,
iar eroarea globală
E N  max ei .
i0 : N

O metodă cu paşi separaţi este consistentă dacă


lim fh x, y   fx, y  .
h 0

Stabilitatea unei metode cu paşi separaţi impune ca variaţia condiţiilor iniţiale să nu producă variaţii
mari în rezultate.
Fie problema diferenţială cu condiţii iniţiale
y  fx, y, yx0   λ ,
problema diferenţială perturbată
z  fx, z  δx, zx0   y0  ε0,
şi metodele cu paşi separaţi corespunzătoare
y i  1  y i  h  fx i, y i  ,
zi  1  zi  h  fh x i, y i    iN  .
Metoda cu paşi separaţi este stabilă dacă
lim εiN  0,  K 1, K 2  0 astfel încât
N

max yi  zi  K 1  y0  z0  K 2  max εiN .


0 i N 0 i N

Ilustratăm noţiunea de stabilitate a metodei pe problema simplă


y0  y0 ,

yx   A  yx, A  0.
având soluţia
yx  y0  e Ax .
Metoda Euler furnizează aproximaţia
Yn  1  hA n Y0 ,
Deoarece lim yt   0 este necesar ca lim Yn  0 ,
t n

care ne conduce la
2
1  hA  1  0  h  .
A
adică metoda Euler este condiţional stabilă, aceasta furnizează rezultate corecte numai dacă se alege
pasul h suficient de mic. Condiţia de mai sus defineşte A-stabilitatea metodei.

3
Pentru stabilirea convergenţei metodei Euler se scade din dezvoltarea în serie Taylor:
h2
yx i  1   yx i   h.fx i, yx i    y ξi 
2
cu ξi  [xi, xi+1] şi │y”(ξi)│  M.
relaţia lui Euler: yi+1 = yi + h.f(xi, yi)
ei+1 = ei + h[f(xi, y(xi))-f(xi, yi)]+ h2/2.│y”(ξi)│
│ei+1│  │ei│+ h│[f(xi, y(xi))-f(xi, yi)]│+ h2/2.M
│ei+1│  │ei│+ h.L.│ei│+ h2/2.M  (1+hL)│ei│+ h2/2.M
│e1│  h2/2.M
│e2│  (1+hL)│e1│ + h2/2.M  [(1+hL)+1].h2/2.M
│e3│  (1+hL)│e2│ + h2/2.M  [(1+hL)2+(1+hL)+1].h2/2.M
│en│  [1+(1+hL)+( 1+hL)2+...+(1+hL)n-1].h2/2.M

1  hLn  1 h2 M 1  hLn  1
en     hM
hL 2 2L
1+hL  e hL
 (1+hL)n  enhL = e(xn-x0)L

en 
hM
2L

 e x  x   1
n 0
  en = O(h)

Dacă y(x) este soluţia exactă şi y nh este aproximaţia lui y(x) pentru h dat, atunci:
x-x0 = nh
lim y nh  yx 
h 0
n

yx   y nh 
hM
2L
 0

h0

 e x  x L  1  lim y x   y nh  0
n

Metode de tip Runge - Kutta


O metodă de tip Runge-Kutta este o metodă cu paşi separaţi, în care funcţia fh x, y  se determină
astfel
 se împarte intervalul x i, x i  1  în q subintervale cu abscisele

xij  xi0ujh, 0  uj  1 , u0  0, u q  1 .

Numărul subintervalelor q defineşte rangul metodei.


 se calculează aproximaţiile soluţiei în punctele intermediare de forma
 yi0  yi,
 j 1
y  y  h   fxil, yil , j  1 : q.
 ij i  K jl
 l0

Punctele intermediare xij şi constantele Kjl se obţin din condiţia ca în dezvoltarea Taylor a lui yij
după puterile lui h, să coincidă cât mai mulţi termeni cu cei din dezvoltarea Taylor a soluţiei exacte.
Metoda este de ordinul p, dacă în cele două dezvoltări termenii coincid până la hp inclusiv.
Metoda Runge-Kutta de ordin 1 şi rang 1 este de forma
 yi0  yi,

 yi1  yi  h  K 10  fxi0, yi0 .
Dezvoltarea în serie Taylor a soluţiei exacte este

4
h h2
yxi  1   yxi  h  yi  yi     yi  hfxi0, yi0   
1! 2!
Din identificare se obţine K 10  1 ,care conduce la metoda lui Euler. Metoda nu este utilizată în mod
practic, deoarece eroarea într-un pas, de ordinul h2, este importantă.
In metodele cu paşi separaţi de rang 2 şi ordin 2 se ia
xij  xi0  ujh, j  0 : 2, u0  0, u1  0, 1, u2  1
 yi0  yi,
 j 1
y  y  h   fxil, yil , j  1, 2.
 ij i  K jl
 l0

Pentru j=1 avem


yi1  yi  hK10fxi0, yi0  .
Dezvoltarea Taylor a soluţiei este
yxi1   yxi0  u1h   yi  u1hyi    yi  u1hf0  

Din identificare rezultă K 10  u 1 .


Pentru j=2 avem
yi2  yi  hK 20fxi0, yi0   hK 21fxi1, yi1  .
în care fxi1, yi1  se înlocuieşte cu dezvoltarea în serie Taylor în vecinătatea punctului
xi0, yi0 
f f
fx i1, y i1   fx i0, y i0   x i1  x i0   y i1  y i0   
x y
f f
fx i1, y i1   f0  u 1 h  K 10 hf0  ,
x y
deci
f f
y i2  y i  K 20  K 21 hf0  u 1 h 2 K 21  h 2 K 21 K 10 f
x y

Dar:
y’(x) =f(x,y)
fx, y  fx, y 
yx   fx, y    yx   fx  f.fy
x y

yx  fxx  2fxy  f  fyy  f2  fy  fx  fy2  f

Dezvoltarea exactă este


h2 h 2  f f 
yxi2   yxi  h  yi  hyi  yi    y i  hf    f  ,
2 2  x y 
de unde rezultă
K 20  K 21  1 ,
1
u1K 21  .
2
1 1
Sistem care are soluţia K 20  1  , K 21  .
2u1 2u1
Relaţiile Runge-Kutta, au în acest caz forma

5
y i0  y i ,
yi1  yi  hu1fxi0, yi0  ,
 1  h
yi2  yi  h 1  fxi0, yi0   fxi1, yi1  .
 2u1  2u1

sau:
 1  1
yi  1  yi   1  K 1  K2
 2α  2α
K1=hf(xi,yi)
K2=hf(xi+h, yi+K1)
Prezintă interes practic următoarele cazuri particulare în raport cu valoarea lui u 1  0, 1 .
1
 metoda tangentei ameliorate, în care u 1  . Rezultă
2
h
x i1  x i0  u 1 h  x i  ,
2
h
yi1  yi  fxi, yi  ,
2
yi  1  yi  hfxi1, yi1  .
 h h 
y i  1  y i  h  f x i  , y i  fx i, y i 
 2 2 
 - metoda Euler-Cauchy, în care u 1  1
x i1  x i  h
yi1  yi  hfxi, yi 
h
yi  1  yi  fxi, yi   fxi1, yi1 
2
h
yi  1  yi  fx i, y i   fx i  h, y i  hfx i, y i 
2
2
 metoda Heun pentru u 1  care conduce la relaţiile
3
2
xi1  xi  h,
3
2
yi1  yi  hfxi1, yi1  ,
3
h 3h
yi  1  yi  fxi, yi   fxi1, yi1  .
4 4
Eroarea într-un pas în metodele Runge-Kutta de ordin 2 este
h3  3  3 f
ε  1  u 1  y ξ  u 1 y ξ .
6  2  2 y
In mod frecvent se utilizează o metodă de tip Runge-Kutta de ordin 4 de forma
K 1  h  fxi, yi  ,

 h K 
K 2  h  f xi  , yi  1  ,
 2 2

6
 h K 
K 3  h  f xi  , yi  2  ,
 2 2
K 4  h  fxi  h, yi  K 3  ,
K1  2K 2  2K 3  K4
yi  1  yi  .
6
a cărei implementare este.
function y = Runge_Kutta(a, b, n, y0, f)
% Intrări:
% a, b - intervalul de integrare
% n - numărul de puncte
% y0 - condiţia iniţială
% f - funcţia y'=f(x,y)
% Ieşiri:
% y - aproximarea soluţiei în punctele xi
h = (b-a)/n;
y = zeros(n+1,1);
y(1) = y0;
for k = 2 : n+1
x = a + i*h
K1 = h.f(x, y(i-1))
K2 = h.f(x + h/2, y(i-1) + K1/2)
K3 = h.f(x + h/2, y(i-1) + K2/2)
K4 = h.f(x + h, y(i-1) + K3)
y(k) = y(k-1)+(K1+2.K2+2.K3+K4)/6
end

Pentru ca metoda Runge-Kutta


yi  1  yi  h  φxi, yi, h
să fie convergentă către soluţia yt a problemei diferenţiale, atunci când h  0 este suficient ca 
să verifice o condiţie Lipschitz globală şi
φx, y,0  fx, y  .
Verificarea A-stabilităţii pentru metoda Runge-Kutta de ordinul 4 conduce la
K 1  h  ftn, yn    hAyn ,
 h K   K   hA 
K 2  hf tn  , yn  1    hA yn  1    hAyn  1  
 2 2  2  2 
 h K   hA h2 A 2 
K 3  hf t n  , y n  2    hAyn  1   ,
 2 2   2 4 
 h2 A 2 h3 A 3  ,
K 4  hft n  h, y n  K 3    hAyn  1  hA   
 2 4 
Prin înlocuire se obţine o ecuaţie recurentă de forma
K  2K 2  2K 3  K 4
yn  1  yn  1
6
 1 1
 y n 1  hA   hA 2   hA 3 
1
 hA 4  ,
 2 6 24 
yn  1  p4 hA   yn ,
cu soluţia

7
yn  p4 hA n ,
Întrucât
lim yt   0  lim y n  0 ,
t n

adică pasul de discretizare nu poate fi ales arbitrar


2.78
p4 hA   1  0  h  .
A
Efortul de calcul în metodele Runge-Kutta este legat, în principal, de evaluarea lui f. Metoda Runge-
 
Kutta de ordin 4 necesită 4 evaluări într-un pas, cu eroarea într-un pas de ordinul O h4

Controlul erorii - metode adaptive cu paşi separaţi


O metodă ideală cu paşi separaţi
yk  1  yk  hifh xi, yi, hi  ,

trebuie să ne asigure pentru o toleranţă  dată, un număr minim de puncte intermediare, astfel încât
eroarea globală să satisfacă următoarea condiţie
En  max yxi   yi  ε .
0 i n

Întrucât eroarea globală nu poate fi determinată, deoarece nu se cunoaşte valoarea exactă yx i  , vom
utiliza o estimare a erorii locale pe baza calculului soluţiei cu două metode de precizii diferite şi vom
folosi această estimare pentru ajustarea pasului h şi prin aceasta pentru “controlul erorii”.
In metoda Euler
y0  λ ,
yk  1  yk  h  fxk, yk  ,
eroarea într-un pas satisface ecuaţia
yxk  1   yxk 
ek  1   fxk, yxk  .
h
In metoda Euler modificată
y0  λ ,
h
yk  1  yk  fxk, yk   fxk  1, yk  hfxk, yk 
2
eroarea de trunchiere într-un pas, în ipoteza yk  yxk   yk este
yxk  1   yk  1  yxk  1   yk  hfxk, yk  
yxk  1   yxk   hfxk, yk   hek  1 ,
de unde obţinem estimarea
yxk  1   yk  1 yxk  1   yk  1 y  yk  1
ek  1    k1
h h h
yk  1  y k  1
ek  1  ek  1  ,
h
y  yk  1
ek  1  k  1 .
h
Această estimare a erorii poate fi folosită pentru exprimarea pasului optimal care să asigure o eroare
globală minimă.

8
Fie două metode cu paşi separaţi
 y0  λ,

 yk  1  yk  hkfh xk, yk, hk .
 y0  λ,

 yk  1  yk  hk fh xk, yk, hk  .
 
cu erorile locale de trunchiere ek  1  O hn şi respectiv  
ek  1  O hn  1 . Procedând ca mai
înainte avem
yk  1  y k  1
ek  1 
h
 
, cu ek  1  O hn de unde
yk  1  y k  1
C  h  n
,
h
y  yk
ek  1 qh  C  qhn  qnChn  qn k  1 .
h
Se alege q astfel încât
yk1  yk
e k  1 qh  ε  qn  ε,
h
rezultă condiţia
εh
q  n ,
yk  1  y k

Relaţiile de calcul devin


16 6656 28561 9 2
yk  1  y k  K1  K3  K4  K5  K6 ,
135 12825 56430 50 55
25 1408 2197 1
yk  1  yk  K1  K3  K4  K5 ,
216 2565 4104 5
unde
K 1  h  fxk, yk  ,
 h K 
K 2  h  f xk  , yk  1  ,
 4 4
 3h 3K1 9K 2 
K 3  h  f xk  , yk   ,
 8 32 32 
 12h 1932K 1 7200K 2 7296K 3 
K 4  hf xk  , yk    ,
 13 2197 2197 2197 
 439K 1 3680K 3 845K 4  ,
K 5  hf xk  h, yk   8K 2   
 216 513 4104 
 h 8 K1 3544 K 3 1859 K 4 11 K 5 
K6  hf xk  , yk   2 K2    .
 2 27 2565 4104 40 

Metoda prezintă avantajul că necesită numai 6 evaluări ale funcţiei f într-un pas în loc de 16 pentru
metodele convenţionale de ordin 4 şi 5.
Pornind cu un pas iniţial h , se determină y k  1 şi y k  1 , care ne conduc la q, calculul repetându-se
pentru pasul qh.

9
ε h ε h
q  4  0.84  4 .
2 yk  1  y k  1 yk  1  yk  1

Metoda elimină de asemeni variaţiile mari ale pasului limitând q şi h.


[n,x,y,OK]=RK_Fehlberg(a,b,,y0,hmin,hmax,f)
%Intrări: a, b - intervalul de integrare
% - toleranţa impusă pentru eroare
%hmin, hmax - limitele de variaţie ale pasului
%f - funcţia de integrat y'=f(x, y)
%Ieşiri:
% OK - indicator de reuşită/eşec al metodei
% n - numărul de puncte intermediare folosit
% x - tabloul punctelor intermediare
% y - aproximaţia soluţiei în punctele xk
qmin = 0.1; qmax = 4;
t = a; u = y0;
x(0) = t; y(0) = u;
h = hmax;
OK = true;
n = 0;
while t < b  OK
K1 = h*f(t, u);
K2 = h*f(t+1/4*h, u+1/4*K1);
K3 = h*f(t+3/8*h, u+3/32*K1+9/32*K2);
K4 = h*f(t+12/13*h, u+1932/2197*K1 -7200/2197* K2 +7296/2197*K3);
K5 = h*f(t+h, u+439/216*K1-8*K2+3680/513*K3-845/4104*K4);
K6 = h*f(t+1/2*h, u-8/27*K1+2*K2 -3544/2565*K3+1859/4104*K4-11/40*K5);
e = abs(1/360*K1-128/4275*K3-2197/75240*K4+1/50*K5-2/55*K6 );
q = 0.84.( / e)^0.25;
if e  
t = t+h;
u = u + 25/216*K1 + 1408/2565*K2 +2197/4104*K3 - 1/5*K5;
n = n+1;
x(n) = t;
y(n) =u;
end
if q < qmin
q = qmin;
if q > qmax
q = qmax;
h = q*h;
if h > hmax
h = hmax;
if h < hmin
OK = false;
end

Metode cu paşi legaţi.

Metodele cu paşi separaţi sunt utilizate frecvent datorită simplităţii lor şi faptului că necesită puţine
informaţii iniţiale. Ele prezintă totuşi dezavantajul lipsei de precizie.
Spre deosebire de acestea, metodele cu paşi legaţi (sau metodele multipas) folosesc mai multe
informaţii iniţiale, deci sunt mai precise.
S-a amintit mai înainte că problema diferenţială cu condiţii iniţiale

10
 yx0   λ,
 
 y  fx, y .
în care fx, y  satisface condiţia Lipschitz globală

fx, u  fx, v   L u  v ,

este echivalentă cu determinarea funcţiei


x
y x   λ  x ft, yt dt .
0

Pentru a o aplica, vom presupune cunoscute valorile aproximative


y k  yx k , fk  fx k, y k  ,
y k  1  yx k  1 , fk  1  fx k  1, y k  1  ,

y k  r  yx k  r , fk  r  fx k  r, y k  r  .

Aplicând relaţia pentru x k şi x k  1

 yx   λ  xk1
 k1 x ft, yt  dt,

0

 yx k   λ 
x
x ft, yt  dt,
k

 0

rezultă

yx k  1   yx k  
xk1
x ft, yt dt .
k

Pentru calculul integralei vom utiliza polinomul de interpolare P(t) a lui f dat sub forma celei de-a
treia formule de interpolare Newton-Gregory
r
  u
f x, y x  dx  
xk1 xk1
x x  1 j
   jfk 
k k
j 0  j 
xk1 f  r  1
ξk, yξk 
 x  x k   x  x k  r  dx 
x k r  1!
r
  u

1
 jfk h   1j    du 
j 0
0
 j 
hr  2 fr  1 ξk, y ξk  1

r  1!
 0 u u  1  u  r du .

Integralele
1  u 
c k   1 k   du ,
0
 k 
1 5 3 251
calculate cu metoda seriei generatoare au valorile 1, , , , ,  etc şi duc la relaţia
2 12 8 720
r
yk  1  yk  h  cjjfk ,
j 0

definind o metodă explicită, cunoscută sub numele de metoda Adams-Bashforth.


In acelaşi mod se obţine metoda implicită Adams-Moulton

11
r
yk  1  yk  h  djjfk  1 .
j 0

Putem trece la o relaţie de recurenţă liniară mai generală, aplicabilă atât pentru metode explicite cât şi
implicite, de forma
r r
yk1   α jy k  j  h  βjfk  j .
j 0 j  1

O metodă explicită are β  1  0 în timp ce metodele implicite se caracterizează prin β 1  0 .


Pentru determinarea coeficienţilor α j, βj vom impune ca relaţia să reprezinte soluţia exactă pentru
polinoame de grad cât mai ridicat.
Astfel pentru
yx  1, yx  0 ,
yx  x, yx  1 ,

yx   x p, yx   p  x p  1 .

se aleg punctele x k  r,  , x k echidistante cu h=1 şi originea în x k  r . Se obţine sistemul


r

 αj  1,
j 0
r r

 α j r  j   βj  r,
j 0 j 0

r r

 αj r  j p  p  βj r  j p  1  r p .
j 0 j 0
Determinarea celor 2r+2 (2r+3 în cazul metodelor implicite), coeficienţi impune tot atâtea relaţii,
aşadar formula va fi exactă pentru polinoame de grad 2r+1 (respectiv 2r+2 pentru metode
implicite).

Metode explicite şi implicite


Pentru r=2, metoda Adams-Bashforth este
 1   f  fk  1 
yk  1  yk  h fk  fk   yk  h fk  k ,
 2   2 
adică
h
yk  1  yk  3fk  fk  1  .
2
iar expresia erorii este în acest caz
5 2
ek  1  h yξk  .
12
In mod asemănător se obţine
-pentru r=3
h
yk  1  yk  23fk  16fk  1  5fk  2  ,
12
3 3 4
ek  1  h y ξk  ;
8
- pentru r=4

12
h
yk  1  yk  55fk  59fk  1  37fk  2  9fk  3  ,
24
251 4 5
ek  1  h y ξk  ;
720
- pentru r=5
 1901 fk  2774 fk  1  2616 fk  2  1274 fk  3  251 fk  4 
h
yk1  yk 
720
95 5 6
ek  1  h y ξk  .
288
Metodele implicite Adams-Moulton corespunzătoare sunt
1 3 4
r=2 ek  1   h y ξk  ;
24
h
r=3 yk  1  yk  9fk  1  19fk  5fk  1  fk  2  ,
24
19 4 5
ek  1   h y ξk  ;
720
h
r=4 yk  1  yk  251fk  1  646fk  264fk  1  106fk  2  19fk  3 
720
3
ek  1   h5y6 ξk  .
160
Se mai folosesc de asemenea următoarele metode
 metoda explicită Milne
4h
yk  1  yk  3  2fk  fk  1  2fk  2  ,
3
14 4 5
ek  1  h y ξk  ;
45
 -metoda implicită Simpson
h
yk  1  y k  1  2fk  1  4fk  fk  1  ,
3
1 4 5
ek  1   h y ξk  .
90

Metode predictor - corector


Metodele implicite asigură aproximaţii mai bune ale soluţiilor decât metodele explicite. De aceea ele
se folosesc pentru a creşte precizia rezultatelor obţinute prin metode explicite.
Aplicarea unei metode implicite conduce la o ecuaţie neliniară de forma
yk  1  hC1fxk  1, yk  1   C2 .
Rezolvarea ecuaţiei neliniare se face de obicei prin metoda aproximaţiilor succesive.
Metoda predictor-corector îmbină aplicarea unei metode explicite cu una implicită. Metoda explicită
calculează o predicţie a soluţiei, iar metoda implicită - o corecţie, făcând o singură iteraţie, cu valoarea
de pornire, predicţia oferită de metoda explicită.
Astfel metoda explicită Adams-Bashforth de ordinul 3 furnizează predicţia
h
ykp 1  yk  23  fk  16  fk  1  5  fk  2  ,
12
iar formula implicită Adams-Moulton de ordinul 2 corectează această valoare

13
ykc 1  yk 
h
12

5  ykp 1  8  yk  yk  1 . 
Rezultă următorul algoritm
Function y = Pred_Cor(a, b, n, y0, f)
% Intrări: a, b = intervalul de integrare
% n = numărul de puncte
% y0= condiţia iniţială
f = funcţia de integrat y'=f(x,y)
% Ieşiri: y = tabloul aproximaţiilor soluţiei
Runge_Kutta(a, b, n, y0, f, y)
h = (b-a) / n;
x0=a; x1 = a+h; x2 = a+2h;
y0 = y(0); y1 = y(1); y2 = y(2);
for i = 3 : n
x = a+i*h;
ypr=y2+h(23f(x2,y2)-6f(x1,y1)+5f(x0,y0))/12;
ycor=yp+h(5f(x,ypr)+8f(x2,y2)-f(x1,y1))/ 2;
y(k) = ycor;
y0 = y1; y1 = y2; y2 = ycor;
x0 = x1; x1 = x2; x2 = x;
end

Convergenţa şi stabilitatea metodelor multipas


Asociem metodei multipas liniare operatorul:
r r
Ly, h  yx  h   α jyx  jh  h  y x  jh
j 0 j  1

Dezvoltăm y(x+jh) şi y’(x+jh) în serie Taylor :


L[y,h]=C0y(x)+C1hy’(x)+…+Cqhqy(q)+…

 r   hj r
hj r
hj 
Ly, h  1   α j  yx    y j x    α k  1j   βk  1j 1 j  1!
 j 0  j  j! k0 j! k  1

r r r
C0  1   αk C1  1   α k  k   βk
k0 k0 k  1

1  r r

Cj  1 
j! 
 k α   k  j
 j  βk   k j  1 
k0 k  1 
Metoda multipas are ordinul p, dacă este exactă pentru toate polinoamele de ordin  p, adică
L[xk,h]=0, k=0 : p, dar L[xk+1,h]0 .
Dacă metoda multipas este de ordinul p atunci C0=C1=...=Cp=0, Cp+10

  dj
 
r
L x k, h   C j j
x k hj 
j 0 dx
Crr! hr    Cjrr  1  r  j  1hr  1   C1rxr  1h  C0xr
O metodă de ordinul p este consistentă dacă p  1
r r r

 αk  1   k  αk   βk  1
k0 k0 k  1

14
Enumerăm mai multe metode uzuale:
r
 metoda explicită Adams-Bashforth y k  1  y k  h  βjfk  j ,
j 0
r
 metoda explicită Nystrom y k  1  y k  1  h  βjfk  j ,
j 0
r
 metoda implicită Adams-Moulton y k  1  y k  h  βjfk  j ,
j  1
r
 metoda implicită Simpson-Milne y k  1  y k  1  h  βjfk  j ,
j  1
Se definesc polinoamele:
r r
ρz  zk  1   α jzk  j , ζz   βjzk  j .
j 0 j  1
Fie operatorul de deplasare E definit prin
Ey k  y k  1 .

Ecuaţia recurentă poate fi exprimată ca


ρEy k  1  h  ζEfk  1  0 .
Algoritmul multipas definit prin relaţia recurentă este zero-stabil dacă
- rădăcinile ecuaţiei ρz  0 sunt de modul subunitar i.e.
ρzi   0  zi  1;

- rădăcinile de modul 1 sunt simple


Stabilitatea este puternică dacă singura rădăcină de modul 1 este zi  1 .
Metoda Adams este puternic stabilă deoarece
ρz  zk  1  zk  0 ,
are singura rădăcină de modul 1 zi  1 .
Metoda Nystrom este slab stabilă căci
ρz  zk  1  zk  1  0 .
are două rădăcini de modul 1 zi  1 .
Impunem ca ecuaţia recurentă să aibă ordinul p. Se dezvoltă această ecuaţie în serie Taylor în
vecinătatea unui punct t

( ρEyt   hρEyt    Cihiyi t  ,
i0
în care
C 0  α 0  α 1    α r  ρ1 ,
C 1  α 1  2α 2    rα r  β0  β1    βr   ρ 1  ζ1 

Cp 
1
p!

α1  2p α2    r pαr 
1
 
β  2p  1β2    r p  1βr
 p  1! 1

Dacă metoda este de ordin p atunci

C1  C2    C p  0,
C
 p  1  0.
O metodă cu paşi legaţi este consistentă dacă este de ordin cel puţin 1.
Condiţia de consistenţă impune deci ca

15
ρ1  0,
 
 ρ 1  ζ1.
O metodă cu paşi legaţi zero-stabilă şi consistentă este convergentă.

Probleme rezolvate
Problema 1 Considerăm problema diferenţială
y0  1,
 
 y t  yt.
a cărei soluţie exactă este yt  e t
Să se studieze convergenţa şi stabilitatea metodei Euler.

Soluţie. y i  1  y i  h  fti, y i   y i  h  y i  1  h  y i
Pentru convergenţă considerăm intervalul constant 0,  cu   i  1  h în care facem h  0 .
Avem

lim y i  1  lim 1  h  h  e  
h 0 h 0

relaţie care arată că algoritmul converge, soluţia exactă fiind


yt  e t .
Pentru stabilitate facem t      i  1h    i  
lim yt  lim et  0
t  t

lim yi  1  lim 1  hi  1  0 , dacă 1  h  1  0  h  2


i i

Eroarea globală este


en  ytn   y n  e t  1  h n ,n

Dezvoltarea în serie Taylor în vecinătatea lui tieste


h2
yti  1   1  h  yti    y ,
2
Metoda Euler se scrie
yi  1  1  h  yi ,
de unde rezultă eroarea într-un pas
h2
ei  1  1  h  ei   e ti    h  ,
2
majorată de
h2
ei  1  1  h  ei
, 
2
relaţie care scrisă succesiv pentru i  0, 1,  este
h2
e1  ,
2
h2 h2
e2  1  h  e1   e h  e1  ,
2 2
h2 h2 h2 h2
e3  1  h e2   eh e2   e2h e1  eh 
2 2 2 2
e 1 h
   
2 3h 2
h h
e3  e2h  eh  1  h  e3h  1 ,
2 e 1 2 2
de unde deducem prin inducţie că
ei  1 
 ei  1  h  1  h
2
.

Problema 2 Problema diferenţială cu condiţii iniţiale

16
yx0   y0
y  fx, y
se rezolvă printr-o metodă cu paşi separaţi.
a) determinaţi raza de stabilitate pentru o ecuaţie diferenţială liniară
fx, y  a  y
b) pentru ecuaţia diferenţială y   ay, a  0 , calculaţi raza de stabilitate a metodei Runge-Kutta
RK11, RK12, RK22 .

Soluţie. a) O metodă cu paşi separaţi, folosită pentru integrarea problemei diferenţiale cu condiţii
iniţiale, este o relaţie de recurenţă de forma
y n  1  y n  h  ftn, y n, h , căreia îi corespunde ecuaţia caracteristică

r n  1  r n  f tn , r n , h 
Raza de stabilitate h0 , pentru ecuaţia caracteristică , îndeplineşte, pentru n  , h fiind fixat,
condiţiile
1) pentru 0  h  h0 , toate rădăcinile ecuaţiei caracteristice sunt în modul < 1.
2) pentru h0  0, cel puţin o rădăcină este , în modul > 1, pentru h  h0  h0
b) Pentru ecuaţia diferenţială liniară y  a  y , relaţia de recurenţă are forma y n  1  Pha y n , în
care Px este un polinom de grad s.
Ecuaţia caracteristică este rn  1  Pharn sau
rn r  Pha  0
şi are ca rădăcini pe r  0 şi r  Pha .
Condiţia de stabilitate impune, pentru n   ca Pha  1 .
Pentru ecuaţia de mai sus, metoda Runge-Kutta de ordin 1 şi rang q - R 1q are forma
 q

y n  1  1  ha  c k h  ak  y n
 k 2 
Pentru q  1, RK11, Pha  1  h  a .
Condiţia de stabilitate impune ca
2
1  ha  1  2  ha  0 , de unde rezultă raza de stabilitate R   (posibil, întrucât
a
a  0 ).
Pentru q  2, RK 12, Pha  1  ha  c2  ha2 , iar condiţia de stabilitate impune
1  ha  c2 ha2  1
care se scrie
2  ha  c2 ha2  0

 ha  1  c2ha  0
şi ne conduce la
2 1 1
   c2  
ha2 ha ha
ha2
Pentru q  2, p  2, RK22, Pha  1  ha  , care ne conduce la condiţiile de
2
stabilitate
 ha2
2  ha   0
2

 ha  1 
ha 
  0  ha  2
  2 

17
2
Raza de stabilitate este deci R  
a
Problema 3 Pentru problema diferenţială
yt0   y0
y  fy, t

se consideră formula aproximativă de integrare


y i  1  y i  h   1y i  1   0y i   h 2 1yi  1  0yi 

Determinaţi 0, 1, 0, 1,astfel încât formula să aibă gradul de valabilitate cel mai ridicat.
Care este expresia erorii într-un pas.

Soluţie. Impunem ca formula să fie exactă pentru fy, t  1, t, t2, t3 . Coeficienţii


0, 1, 0, 1 sunt independenţi de h şi t, deci putem alege, pentru simplificarea calculelor
h  1, ti  0
Pentru fy, t  1 obţinem ti  1  ti  h  1  0  şi ecuaţia 1  0  1 ,
Valoarea fy, t  t ne permite să scriem
ti2  1 t2 1
 i  h1ti  1  0ti   h2 1  0  şi  1  1  0  ,
2 2 2

 
3 3
ti 1 t
Luând fy, t  t2 avem  i  h 1ti21  0ti2  2  h2 1ti 1  0ti  şi
3 3
1
 1  2  1  ,
3
t4 t4
 
Cu y, t  t3 obţinem f i  1  i  h  1t3i  1  0t3i  3  h 2  1ti2  1  0ti2 şi
4 4
 
1
 1  3  1  .
4
1 1 1 1
Se obţin soluţiile  0  , 1  , 0  , 1   .
2 2 12 12
care înlocuite în formula de integrare ne dau
yi  1  yi 
h
2

 yi  1  yi 
h2
12
 
  yi  1  y i  . 
Formula este exactă pentru polinoame până la ordinul 4 inclusiv. Eroarea metodei este de ordinul 5.

Problema 4 Metoda explicită Adams de ordin r este


r
yi  1  yi  h  
j 0
rj  fi  j sau

E yi  r  h  E fi  r  0 în care


z  zr  z  1
r
z  
j 0
rj  zr  j

Calculaţi coeficienţii formulei de integrare în cazul r=2

Soluţie. Pentru r=2 ecuaţia Adams are forma


yi  1  yi  h0fi  1fi  1  2fi  2 
Impunem condiţia ca formula să fie exactă pentru
tk  1
f  tk, k  0:2  y 
k  1
Înlocuim în formula de integrare

18
tki  11  tki  1
k 1

 h 0tki  1tki  1  2tki  2 , k  0:2 
Întrucât formulele sunt independente de h şi ti , vom lua, pentru a reduce volumul de calcule, fără a
pierde din generalitate h  1, ti  0 (prin urmare
ti  2  2, ti  1  1, ti  1  1 ). Obţinem sistemul de ecuaţii
k  0: 0  1  2  1
1
k  1:  1  2 2 
2
1
k  2: 1  2  2 
2

3
23 4 5
Sistemul are soluţia 0  1   2 
12 3 12

Problema 5 Se consideră ecuaţia recurentă


yx  n  an  1yx  n  1    a0yx  bx

scrisă sub forma


E n

 a n  1En  1    a0I yx  bx
Pn E yx  bx

Se defineşte ecuaţia caracteristică Pn r  0


a) Să se arate că dacă ecuaţia caracteristică are rădăcini simple r1, r2,  , rn , soluţia generală a
ecuaţiei recurente omogene are forma
yx  C1r1x  C2r2x    Cnrnx

b) Să se arate că dacă polinomul caracteristic are rădăcina r1 cu multiplicitatea k, atunci

yx  pk  1 xr1x  C2r2x    Cn  krnx k

Soluţie. a) Se caută yx  de forma yx   r x


Pn E yx  rx  n  an  1  rx  n  1    a0  rx 

rx rn  an  1rn  1    a0 
Pn E r x
 r x
 Pn r  0  Pn r  0
Fie r1 , r2 , , rn rădăcinile, atunci
y 1  r1x, y 2  r2x,  , y n  rnx, şi soluţia ecuaţiei omogene se exprimă ca
yx  C r  C r    C r
x
1 1
x
2 2
x
n n

b) Pn r  r  r1 k  Pn  k r .
Se ia ux  vx  r1x şi se obţine
n n
Pn E ux  Pn Evxr1x  a
s 0
s Es vxr1x  r
s 0
x s
1 a vx  s
s

n
 r1x  as r1 Es vx  r1xPn r1 E vx
s0

Folosim operatorul diferenţă progresivă (sau diferenţă înainte)   E  I , definit în capitolul 4



Pn r1 E vx  E  Ik Pn  k r1E vx  k Pn  k r1 I    vx  0 

k
 1 k 1
    n k  n
 vx  0
Dacă alegem vx  x, x ,  , x atunci r vx  0 .
2 r 1

Aşadar y2 x  xr1x,  , yk x  xk  1r1x

Problema 6 Pentru integrarea ecuaţiei diferenţiale

19
yx0   y0 ,
y  fx, y .
metoda de integrare A, B (sau ,  ) este
AE yi  h  BE fi  0 ,
unde Az   p, Bz   q , p  q.
a) care sunt condiţiile pentru ca această metodă să aibă ordinul k
b) Să se scrie condiţiile de convergenţă, în funcţie de Az şi Bz .
Soluţie. Explicităm polinoamele
p q
Az    z , Bz
j 0
j
j
   z ,p
j 0
j
j
 q

Metoda de integrare este de ordinul k dacă



AE yt  hBE yt   C h y  t
j 0
j
j j

care se dezvoltă
p q

  E yt  h    E yt
j 0
j
j

j 0
j
j
 C0yt  C1hyt  C2h2yt  


 0yt   1yt  h      pyt  ph   h  0yt     q yt  qh   
C0  yt  C1  h  yt  C2  h yt   2

Identificăm coeficienţii cu aceeaşi putere, pentru yt   j . Pentru a reduce volumul de calcule,
vom lua, fără a reduce generalitatea pasul h  1 şi t0  0 . Obţinem relaţiile
yt  1  0   1     p  C0  A1 ,
yt  t  1  2 2    p p  0  1     q   C1  A 1  B1

 1  22  2    p2 p  
2
 1  22    qq   C2
t 1 1
yt 
2! 2! 1!
...
yt 
tj
j!
1
j!
1  2j 2    pj p  
1

  2j1 2    qj1q  Cj
j  1! 1

Metoda este de ordinul k dacă termenii din cele două dezvoltări coincid până la gradul k inclusiv,
adică dacă
C0  A1  0 ,
C1  A1  B1  0 ,

Ck  0 ,
Ck  0.
b) Pentru a fi convergentă, o metodă A, B trebuie să fie stabilă, ceea ce impune ca ecuaţia
caracteristică Az  0 să aibă rădăcinile zi , în modul , subunitare, adică zi  1 .
Metoda trebuie să fie, cel puţin de ordin 1, adică C0  C1  0 , care conduc la

Problema 7 Fie
ecuaţia diferenţială y  ft, y şi metoda de integrare
AE y i  h  BE fi  0 , cu Az   p, Bz   q , . p  q Arătaţi că
2

a) o condiţie necesară de convergenţă este ca rădăcinile Az   0 să fie zi  1, şi zi  1 să


aibă multiplicitatea cel mult 2.
b) fie o metodă de integrare A, B stabilă şi convergentă. Să se arate că
A1  0, A1  2  B1 .

Soluţie. Procedăm ca în cazul problemei 6

20

AE yt  h 2  BE yt  C
j 0
j  hj  y j t

Obţinem relaţiile
C0   0   1     p ,
C1  1  2 2    p p ,

Cj 
1
j!

 1  2j  2    pj p  
1

   2j 2 2    qj 2q .
j  2! 1

Metoda este de ordin k dacă Cj  0, j  0 : k  1, Ck  2  0 .
Metoda A, B de ordin 2 este
AE yt  h2BE yt  C3h3y 3 t  O h4  
pentru care
C0  A1 A1  0
C1  A 1 A1  0
A1
C2   B1 A1  2B1
2

Problema 8 Determinaţi coeficienţii metodei Adams-Bashforth, astfel încât aceasta să aibă gradul de
valabilitate 4.
q
Soluţie. Formula Adams-Bashforth este y p  y p  1  h  ifp  i
i 0

Impunem ca formula să fie exactă pentru y  1, x, x 2, x3, x4 şi luăm, fără a pierde din
generalitate xk  r  0,  , xk  r . Obţinem
y  1, f  0  1  1,
y  x, f  1  r  1  0  1   2   3 ,
y  x 2, f  2x  r  12  r 2  2r 0  r  1 1  r  2 2  r  3 3 

y  x3, f  3x2  r  13  r3  3 r20  r  121  r  222  r  323 
4 3 4

y  x , f  4x  r  1  r  4 r 0  r  1 1  r  2 2  r  3 3 .
4 3 3 3 3

care ne conduc la sistemul
 0  1   2   3  1
 1
 1  22  33  
 2
   22   32   1
 1 2 3
3
 1

 1  23
 2  33
 3  
 4
cu soluţiile
55 53 37 3
0  , 1   , 2  , 3   .
24 24 24 8

Probleme propuse
Problema 1 Scrieţi un algoritm pentru rezolvarea problemei diferenţiale cu condiţii iniţiale, folosind
metoda Euler-Cauchy.

Problema 2 Se consideră sistemul de ecuaţii diferenţiale


y1 x  f1 x, y1 x, y2 x , y1 x0    1 ,
y2 x  f2 x, y1 x, y2 x , y2 x0    2 .

Scrieţi relaţiile Runge-Kutta 44 corespunzătoare.

21
Problema 3 Considerăm problema diferenţială cu condiţii iniţiale
yx0   y0 ,
y  fx, y .

Notăm y i  yxi , xi  1  xi  h .
Fie formula de integrare
y i  1  y i   0  K0   1  K1 ,
K0  h  fxi, yi  ,
K1  h  fxi    h, yi    K0  .

a) Determinaţi 0 şi 1 astfel încât formula să aibă gradul de valabilitate cât mai ridicat.
b) Calculaţi expresia erorii într-un pas
1 2
c) studiaţi cazurile particulare   ,   1,   .
2 3

Problema 4 Scrieţi o funcţie care implementează metoda predictor-corector folosind relaţiile


4
yip 1  yi  3  h2fi  2  fi  1  fi  ,
3
yic  1  yi  1 
h
3

fi  1  4fi  fip 1 . 

Problema 5 Care este gradul de valabilitate al formulelor


h
yk  1  yk  23fk  16fk  1  5fk  2  ,
12
 55  f k  59  f k 1  37  f k 2  9  f k 3  .
h
y k 1  y k 
24

Problema 6 Pentru problema diferenţială cu condiţii iniţiale


y  fx, y ,
 yx   y , a
i  0 : q  1, xi  x0   i.
 i i
N
se consideră formula de integrare explicită

y p  y p  1  h  ifp  i , unde fp  i  fx p  i, y p  i .


q

i 1

Să se arate că impunând condiţiile ca formula de integrare să aibă gradul de valabilitate r, se obţin


restricţiile
q 1
q k  q  1k
 q
i 1
 ik  1  i 
k
,
q


i 1
i  1, k  2 : r.

22

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