Вы находитесь на странице: 1из 23

METODE NUMERICE DE REZOLVARE A METODE NUMERICE DE REZOLVARE A

ECUATIILOR DIFERENTIALE ECUATIILOR DIFERENTIALE


CURS 6
Introducere
O ecuatie diferentiala poate sa nu posede solutie sau, chiar daca are solutie,
nu totdeauna aceasta se poate explicita. In multe situatii, mai ales in cazul
ecuatiilor diferentiale neliniare, trebuie sa ne consideram multumiti daca
obtinem o aproximatie a solutiei ecuatiei diferentiale. In cele ce urmeaza,
utilizand metode numerice, se vor obtine seturi de puncte care, atunci cand se
utilizeaza discretizari suficient de fine se poate aproxima solutia ecuatiei
diferentiale considerate, asa cum se prezinta in fig. 1.

ECUATII DIFERENTIALE DE ORDINUL 1
dy
dx
= f(x,y)
dat fiind faptul ca ecuatiile diferentiale de ordin superior pot fi reduse la
sisteme de ecuatii diferentiale de ordinul 1.
Forma generala a acestei ecuatii este:
1) Ecuatia de miscare a unei particule de masa m ntr-un cmp de forte F(x):

m
d
2
x
dt
2
= F(x) = F(x)
2) Ecuatia diferentiala a fibrei medii deformate:
EI = - M(x) si =
d
2
w
dx
2
dp
dt
dw
dx
Intr-adevar, considerand ecuatia diferentiala: Intr-adevar, considerand ecuatia diferentiala:
( )
( ) t f y
a
a
y
a
a
y
a
a
t d
y d
1 n
n
1 n
n
1
n
0
n
n
+

si introducand variabilele:
( )
( )
n
1 n
3 2 1
x x y , , x y , x y , x y

EXEMPLE

,
( )
n 1 n
1 n
3 2 2 1
x x y , , x x y , x x y

rezulta ca:
In acest fel ecuatia diferentiala de ordinul n scrisa sub forma (1) se poate
echivala cu urmatorul sistem de n ecuatii diferentiale de ordinul 1:
( )

'

. t f x
a
a
x
a
a
x
a
a
x
x x
x x
x x
x x
n
n
1 n
2
n
1
1
n
0
n
n 1 n
4 3
3 2
2 1


a) METODA EULER (METODA LINIILOR
POLIGONALE)
Aceasta este una dintre cele mai simple tehnici de solu\ionare
numerica a ecuatiilor diferentiale, fiind cunoscuta si sub denumirea
de metoda tangentelor.
Se considera ecuatia diferentiala (inclusiv conditia initiala aferenta):
( )

+

0 0 1 0
0 0
0 1
y h y y y
x h x
y y
( ) ( )
0 0
y x y , y , x f y

Daca se considera pe axa Ox o diviziune echidistanta de pas h se poate


gasi un punct (x
1
, y
1
) = (x
0
+h, y
1
) pe tangenta la curba ce reprezinta solutia
ecuatiei diferentiale in punctul (x
0
, y
0
), asa cum se prezinta in figura
alaturata. Se poate scrie:
( )
0 0 0
y , x f y

unde:

.
Daca se noteaza x Daca se noteaza x
0 0
+h = x +h = x
1 1
, atunci punctul de coordonate (x , atunci punctul de coordonate (x
1 1
, y , y
1 1
) situat pe ) situat pe
tangenta considerata reprezinta a aproximatie a punctului de coordonate tangenta considerata reprezinta a aproximatie a punctului de coordonate
(x (x
1 1
, y(x , y(x
1 1
)) situat pe curba ce reprezinta solutia ecuatiei diferentiale. Este )) situat pe curba ce reprezinta solutia ecuatiei diferentiale. Este
evident faptul ca eroarea metodei este cu atat mai redusa cu cat valoarea evident faptul ca eroarea metodei este cu atat mai redusa cu cat valoarea
pasului diviziunii considerate - pasului diviziunii considerate - h este mai mic. este mai mic.
Se poate construi astfel un proces iterativ: Se poate construi astfel un proces iterativ:
a carui reprezentare grafica se prezinta in figura alaturata. a carui reprezentare grafica se prezinta in figura alaturata.
( ) h n x x , y , x f h y y h y y
0 n n n n n n 1 n
+ +

+
+

Aproximarea solutiei ecuatiei diferentale

APLICATIA 1
Considerand ecuatia diferentiala:
si conditia initiala y(1)=1, sa se obtina o aproximatie pentru a gasi
valoarea lui y in punctul de abscisa x = 1.5, utilizand un pas h cu valorile
0.1, 0.05 si 0.01, apoi sa se calculeze si erorile relative raportate la
valoarea exacta, cu patru zecimale.
Solutie
Solutia analitica a ecuatiei diferentiale considerate este:
y x 2 y

( )
1 x
2
e x y




1.00
1.10
1.20
1.30
1.40
1.50
1.0000
1.2000
1.4640
1.8154
2.2874
2.9278
1.0000
1.2337
1.5527
1.9937
2.6117
3.4904
0.0000
0.0337
0.0887
0.1784
0.3244
0.5625
0.00
2.73
5.71
8.95
12.42
16.12
x
n
y
n
Exact Eroare Eroare %
Tab. 1 Valorile obtinute pentru h = 0.10
1.00
1.10
1.20
1.30
1.40
1.50
1.0000
1.2155
1.5044
1.8955
2.4311
3.1733
1.0000
1.2337
1.5527
1.9937
2.6117
3.4904
0.0000
0.0182
0.0483
0.0982
0.1806
0.3171
0.00
1.47
3.11
4.93
7.98
9.08
x
n
y
n
Exact Eroare Eroare %
Tab. 2 Valorile obtinute pentru h = 0.05



x
n
y
n
Exact Eroare Eroare %
1.00
1.10
1.20
1.30
1.40
1.50
1.0000
1.2298
1.5423
1.9723
2.5719
3.4197
1.0000
1.2337
1.5527
1.9937
2.6117
3.4904
0.0000
0.0039
0.0104
0.0214
0.0398
0.0707
0.00
0.31
0.67
1.07
1.52
2.03
Tab. 3 Valorile obtinute pentru h = 0.01

b) METODA EULER-HEUN
Aceasta metoda este cunoscuta si sub denumirea de metoda Euler
imbunatatita, situatia fiind prezentata in figura de mai jos pentru primul
pas de integrare. Procesul iterativ pentru solutionarea numerica este
descris de relatia urmatoare:
( ) ( )
( ). y , x f h y y
,
2
y , x f y , x f
h y y
n n n
*
1 n
*
1 n 1 n n n
n 1 n
+
+
+
+
+ +
+

Analizand figura se poate constata ca valoarea lui y
1
este mai
apropiata de solutie decat valoarea obtinuta pentru y
1
*
, ceea ce poate
incadra aceasta metoda in clasa metodelor predictor-corector. Intr-
adevar, aceasta situatie se poate interpreta in felul urmator:
Pasul predictor:
( ) ( )
2
y , x f y , x f
h y y
*
1 1 0 0
0 1
+
+
( )
0 0 0
*
1
y , x f h y y +
Pasul Pasul corector:
In continuare, cu referire la ecuatia diferentiala considerata anterior, se
prezinta rezultatele obtinute prin aplicarea acestei metode pentru diferiti
pasi de integrare si programul folosit pentru solutionarea numerica.


x
n
y
n
Exact Eroare Eroare %
1.00
1.10
1.20
1.30
1.40
1.50
1.0000
1.2320
1.5479
1.9832
2.5908
3.4509
1.0000
1.2337
1.5527
1.9937
2.6117
3.4904
0.0000
0.0017
0.0048
0.0106
0.0209
0.0394
0.00
0.14
0.31
0.53
0.80
1.13
Tab. 4 Valorile obtinute pentru h = 0.1
x
n
y
n
Exact Eroare Eroare %
1.00
1.10
1.20
1.30
1.40
1.50
1.0000
1.2332
1.5514
1.9909
2.6060
3.4795
1.0000
1.2337
1.5527
1.9937
2.6117
3.4904
0.0000
0.0004
0.0013
0.0029
0.0057
0.0108
0.00
0.04
0.08
0.14
0.22
0.31
Tab.5 Valorile obtinute pentru h=0.05


x
n
y
n
Exact Eroare Eroare %
1.00
1.10
1.20
1.30
1.40
1.50
1.0000
1.2337
1.5527
1.9936
2.6115
3.4899
1.0000
1.2337
1.5527
1.9937
2.6117
3.4904
0.0000
0.0000
0.0000
0.0001
0.0002
0.0005
0.00
0.00
0.00
0.005
0.010
0.025
Tab.6 Valorile obtinute pentru h = 0.01

c) METODA DEZVOLTARII IN SERIE TAYLOR
Aceasta metoda nu prezinta o larga aplicabilitate deoarece, in principal,
rezultatele sunt comparabile cu cele obtinute prin aplicarea metodei
Euler-Heun in condi\iile unor calcule mai laborioase.
Asa cum se stie, dezvoltarea unei functii y(x) in jurul unui punct x = a
are expresia:
( ) ( ) ( ) ( ) +

+

+ +
2
h
x y h x y x y h x y
2
n n n n
( ) ( ) ( )
( )
( )
( )
+

+
! 2
a x
a y
! 1
a x
a y a y x y
2
Pentru a apropia expresia de mai sus de problema curenta, daca se considera
cazul in care a = x
n
si x = x
n
+h, se obtine:
Daca se presupune ca functia y(x) este solutia ecuatiei diferentiale:
( ) y , x f y


( )
n n n 1 n
y , x f h y y +
+
( ) ( ) ( )
( ) ( ) ( ) ( ) h x y , x f x y h x y
h x y x y h x y
n n n n
n n n
+ +

+ +

Oprind numai doi termeni din se poate scrie:


Se observa faptul ca daca in ecuatia de mai sus se inlocuieste y(x
n
+h) cu y
n+1
si
y(x
n
) cu y
n
se obtine formula ce caracterizeaza metoda Euler:
Oprind trei termeni si facand inlocuirile antementionate se obtine urmatoarea
formula:
2
n n n 1 n
h y h y y y

+

+
+
Metoda poate fi considerata drept cheia de bolta a majoritatii metodelor de
rezolvare numerica a ecuatiilor diferentiale.

d) METODE TIP RUNGE-KUTTA
2 1 n 1 n
k b k a y y + +
+
Aceasta clasa de metode reprezinta una dintre cele mai folosite in abordarea
numerica a ecuatiilor diferentiale, imbinand numarul relativ redus de operatii
elementare cu acuratetea rezultatelor.
Metoda Runge-Kutta de ordinul II consta in ga[sirea constantelor a, b astfel
incat expresia:
cu: cu:
sa se apropie de dezvoltarea in serie Taylor pentru cat mai multi termeni
posibili. Meritul principal al acestei clase de metode rezida deci in aceea ca
se apropie de acuratetea unei dezvoltari in serie Taylor fara insa a fi nevoie
sa se calculeze si derivatele de ordin superior.
( )
( ). k y , h x f h k
, y , x f h k
1 n n 2
n n 1
+ +


2
1
b ,
2
1
b , 1 b a +
Se fac urmatoarele observatii:
a) Daca:
atunci relatia anterioara reprezinta dezvoltarea in serie Taylor, oprind primii
trei termeni, a functiei considerate.
b) Daca:
1 b , 1 ,
2
1
b ,
2
1
a
atunci relatia anterioara se reduce la expresia metodei Euler-Heun.
c) Se poate constata ca metoda Euler este de fapt o procedura Runge-Kutta de
ordinul I.
Folosind aceleasi consideratii se determina astfel algoritmul de calcul si in
cazul metodei Runge-Kutta de ordinul IV (se opresc primii patru termeni din
dezvoltarea in serie Taylor):

( )
( )
, k
2
1
y , h
2
1
x f h k
, k
2
1
y , h
2
1
x f h k
, y , x f h k
, k k 2 k 2 k
6
1
y y
2 n n 3
1 n n 2
n n 1
4 3 2 1 n 1 n

,
_

+ +

,
_

+ +

+ + + +
+
( )
3 n n 4
k y , h x f h k + +
In continuare se prezinta rezultatele numerice obtinute in cazul aplicarii
acestei metode pentru rezolvarea ecuatiei diferentiale considerate anterior si
programul folosit in acest scop.

Tab. 7 Valorile obtinute pentru h = 0.1
x
n
y
n
Exact Eroare Eroare %
1.00
1.10
1.20
1.30
1.40
1.50
1.0000
1.2337
1.5527
1.9937
2.6116
3.4902
1.0000
1.2337
1.5527
1.9937
2.6117
3.4904
0.0000
0.0000
0.0000
0.0000
0.0001
0.0002
0.00
0.00
0.00
0.00
0.0038
0.0076
Tab. 8 Valorile obtinute pentru h = 0.05
x
n
y
n
Exact Eroare Eroare %
1.00
1.10
1.20
1.30
1.40
1.50
1.0000
1.2337
1.5527
1.9937
2.6117
3.4903
1.0000
1.2337
1.5527
1.9937
2.6117
3.4904
0.0000
0.0000
0.0000
0.0000
0.0000
0.0001
0.00
0.00
0.00
0.00
0.00
0.0028

x
n
y
n
Exact Eroare Eroare %
1.00
1.10
1.20
1.30
1.40
1.50
1.0000
1.2337
1.5527
1.9937
2.6117
3.4903429
1.0000
1.2337
1.5527
1.9937
2.6117
3.4904
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000571
0.00
0.00
0.00
0.00
0.00
0.0016
Tab. 9 Valorile obtinute pentru h = 0.01

e) METODA MILNE
( )
( )
( ). y , x f y
, y , x f y
, y , x f y
2 n 2 n 2 n
1 n 1 n 1 n
n n n

3 n , y 2 y y 2
3
h 4
y y
2 n 1 n n 3 n
*
1 n

,
_

+
+
, y y 4 y
3
h
y y
1 n n 1 n 1 n 1 n

,
_

+
+ +
Aceasta este o metoda[ care lucreaza in doi pasi.

Pasul Pasul predictor:


Pasul corector:
( )
*
1 n 1 n 1 n
y , x f y
+ + +


Se remarca faptul ca valorile pentru y
0
, y
1
, y
2
si y
3
trebuie cunoscute
pentru demararea procesului iterativ. Acestea se pot calcula cu oricare
dintre metodele anterioare, recomandandu-se insa ca acest calcul initial
si se faca cu un nivel inalt de acuratete.
CONCLUZII
Aplicarea uneia sau alteia dintre aceste metode in vederea solutionarii unei
probleme concrete implica o analiza atenta a erorilor induse, in vederea
realizarii unui compromis acceptabil intre precizie si efortul de calcul cerut.

Вам также может понравиться