Download - cursmn
-
Daniel Ioan, Irina Munteanu
-1
-0.5
0
0.5
1
1.5
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
C0C1C2C3C4
Metode Numerie
Algoritmi fundamentali si apliatii ^n
ingineria eletria
Editura
Buuresti, 2000
-
Daniel Ioan, Irina Munteanu
Catedra de Eletrotehnia, Universitatea \Politehnia" din Buuresti
Metode Numerie
Algoritmi fundamentali si apliatii ^n
ingineria eletria
Editura
Buuresti, 2000
-
Daniel Ioan, Irina Munteanu
Metode Numerie. Algoritmi fundamentali si apliatii ^n ingineria eletria
Referenti stiintii: xxx
yyy
Editura, Buuresti, 2000
Adresa editura
-
Cuprins
0 Introduere 1
0.1 Obietul ursului . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
0.2 Loul metodelor numerie ^n ingineria eletria . . . . . . . . . . . . . . . 2
1 Algoritmi si struturi de date 5
1.1 Strutura sistemelor de alul . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2 Studiul algoritmilor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3 Generarea algoritmilor . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.3.1 Reprezentarea algoritmilor . . . . . . . . . . . . . . . . . . . . . . 11
1.3.2 Validarea si depanarea algoritmilor . . . . . . . . . . . . . . . . . 20
1.3.3 Analiza si evaluarea algoritmilor . . . . . . . . . . . . . . . . . . . 21
1.3.4 Implementarea algoritmilor . . . . . . . . . . . . . . . . . . . . . 26
1.4 Reprezentarea datelor ^n alulatoarele numerie . . . . . . . . . . . . . . 26
1.4.1 Tipuri fundamentale de date . . . . . . . . . . . . . . . . . . . . . 27
1.4.2 Agregarea datelor. Tipuri abstrate de date . . . . . . . . . . . . 31
1.4.3 Struturi dinamie de date . . . . . . . . . . . . . . . . . . . . . . 34
2 Erori de alul si instabilitati numerie 41
2.1 Caraterizarea erorilor de alul . . . . . . . . . . . . . . . . . . . . . . . 41
2.2 Erorile de rotunjire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
2.3 Erori de trunhiere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.4 Propagarea erorilor de alul . . . . . . . . . . . . . . . . . . . . . . . . . 52
-
iv CUPRINS
3 Rezolvarea sistemelor de euatii algebrie liniare 61
3.1 Formularea problemei. Conditionarea numeria . . . . . . . . . . . . . . 61
3.2 Metoda de eliminare Gauss . . . . . . . . . . . . . . . . . . . . . . . . . 64
3.2.1 Desrierea algoritmului . . . . . . . . . . . . . . . . . . . . . . . 64
3.2.2 Obtinerea solutiei prin substitutie regresiva . . . . . . . . . . . . 66
3.2.3 Strategia de pivotare . . . . . . . . . . . . . . . . . . . . . . . . . 67
3.2.4 Rezolvarea sistemelor simultane. Inversarea matrielor . . . . . . 69
3.2.5 Apliatie la analiza unui iruit rezistiv liniar prin metoda nodala 73
3.3 Fatorizarea LU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
3.3.1 Desrierea algoritmului de fatorizare Crout . . . . . . . . . . . . 79
3.3.2 Algoritmul de fatorizare Choleski . . . . . . . . . . . . . . . . . . 81
3.3.3 Fatorizarea LU prin metoda Gauss . . . . . . . . . . . . . . . . . 82
3.4 Sisteme liniare u matrie rare . . . . . . . . . . . . . . . . . . . . . . . . 85
3.4.1 Sisteme tridiagonale si u matrie banda . . . . . . . . . . . . . . 85
3.4.2 Shema de memorare a matrielor rare . . . . . . . . . . . . . . . 87
3.4.3 Umplerea matrielor rare . . . . . . . . . . . . . . . . . . . . . . 88
3.4.4 Pivotarea ^n azul matrielor rare . . . . . . . . . . . . . . . . . . 94
3.5 Rezolvarea iterativa a sistemelor liniare . . . . . . . . . . . . . . . . . . 98
3.5.1 Metoda deplasarilor simultane (Jaobi) . . . . . . . . . . . . . . . 102
3.5.2 Metoda deplasarilor su
esive (Gauss - Seidel) . . . . . . . . . . . 103
3.5.3 Convergenta metodelor Jaobi si Gauss-Seidel . . . . . . . . . . . 105
3.5.4 Metoda suprarelaxarii su
esive (Frankel - Young) . . . . . . . . . 110
3.5.5 Metoda iteratiei blo . . . . . . . . . . . . . . . . . . . . . . . . . 116
3.5.6 Alte metode iterative . . . . . . . . . . . . . . . . . . . . . . . . . 118
3.6 Rezolvarea sistemelor liniare prin metode semiiterative . . . . . . . . . . 119
3.6.1 Metode semiiterative de tip Ceb^sev . . . . . . . . . . . . . . . . . 119
3.6.2 Metoda gradientilor onjugati . . . . . . . . . . . . . . . . . . . . 126
3.6.3 Preonditionarea gradientilor onjugati . . . . . . . . . . . . . . . 130
-
CUPRINS v
4 Interpolarea si aproximarea funtiilor 135
4.1 Formularea problemei . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
4.2 Interpolarea polinomiala. Metoda Lagrange . . . . . . . . . . . . . . . . 139
4.3 Metoda Newton de interpolare polinomiala. Diferente divizate. . . . . . . 148
4.4 Interpolarea polinomiala u pas onstant. Diferente nite. . . . . . . . . 151
4.5 Alegerea nodurilor de interpolare. Metoda Ceb^sev. . . . . . . . . . . . . 156
4.6 Interpolarea polinomiala pe portiuni (\spline") . . . . . . . . . . . . . . . 157
4.6.1 Interpolarea liniara pe portiuni . . . . . . . . . . . . . . . . . . . 157
4.6.2 Interpolarea pe portiuni u polinoame de grad superior . . . . . . 160
4.6.3 Analiza erorilor . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
5 Derivarea numeria a funtiilor reale 171
5.1 Derivarea funtiilor tabelare . . . . . . . . . . . . . . . . . . . . . . . . . 172
5.1.1 Derivarea numeria folosind interpolarea liniara pe portiuni . . . 173
5.1.2 Derivarea numeria folosind interpolarea pe portiuni a polinoame-
lor de grad superior . . . . . . . . . . . . . . . . . . . . . . . . . . 176
5.1.3 Derivate de ordin superior . . . . . . . . . . . . . . . . . . . . . . 181
5.1.4 Calulul derivatelor partiale ale funtiilor de mai multe variabile 182
5.2 Derivarea funtiilor unosute prin od . . . . . . . . . . . . . . . . . . . 184
5.3 Rezolvarea numeria a euatiei Laplae . . . . . . . . . . . . . . . . . . . 190
6 Integrarea numeria a funtiilor reale 199
6.1 Formularea problemei . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
6.2 Cuadratura bazata pe interpolare polinomiala. Formulele Newton { Cotes. 208
6.3 Metode de uadratura de tip Gauss . . . . . . . . . . . . . . . . . . . . . 217
6.4 Cuadratura ompusa bazata pe interpolarea polinomiala pe portiuni . . . 225
6.5 Metode de integrare numeria prin extrapolare. Metoda Romgerg. . . . . 231
6.6 Integrale improprii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
6.7 Integrale pe domenii nemarginite . . . . . . . . . . . . . . . . . . . . . . 242
6.8 Integrale multiple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
6.8.1 Produsul artezian al regulilor de uadratura . . . . . . . . . . . . 250
-
vi CUPRINS
6.8.2 Reguli de uadratura exate pentru monoame . . . . . . . . . . . 254
6.8.3 Reguli ompuse pentru integrale multiple . . . . . . . . . . . . . . 257
6.8.4 Metoda Monte Carlo de integrare numeria . . . . . . . . . . . . . 258
6.9 Integrare automata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
6.10 Transformari integrale. Serii Fourier . . . . . . . . . . . . . . . . . . . . . 268
6.11 Analiza ^n freventa a sistemelor liniare.
Transformatele Fourier si Laplae. . . . . . . . . . . . . . . . . . . . . . . 276
6.12 Transformata Fourier disreta.
Metoda transformarii Fourier rapide. . . . . . . . . . . . . . . . . . . . . 284
7 Sisteme de euatii algebrie neliniare 289
7.1 Introduere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
7.2 Existenta si uniitatea solutiilor . . . . . . . . . . . . . . . . . . . . . . . 294
7.3 Rezolvarea numeria a euatiilor neliniare unidimensionale . . . . . . . . 298
7.4 Complexitatea si analiza erorilor ^n metodele iterative . . . . . . . . . . . 309
7.5 Metode iterative pentru rezolvarea sistemelor algebrie neliniare . . . . . 311
7.6 Metoda iteratiei simple . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
7.7 Metoda Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
7.8 Metoda Newton disreta . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
7.9 Metode quasi - Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
7.10 Metode de relaxare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
7.11 Metoda parametrului suplimentar . . . . . . . . . . . . . . . . . . . . . . 329
7.12 Metode de minimizare . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
7.13 Metoda aproximarii liniare pe portiuni . . . . . . . . . . . . . . . . . . . 338
7.14 Analiza numeria a iruitelor rezistive neliniare . . . . . . . . . . . . . . 342
7.14.1 Caraterizarea metodei . . . . . . . . . . . . . . . . . . . . . . . . 342
7.14.2 Prinipiul metodei . . . . . . . . . . . . . . . . . . . . . . . . . . 342
7.14.3 Pseudoodul metodei . . . . . . . . . . . . . . . . . . . . . . . . . 344
7.14.4 Analiza neesarului de memorie si a efortului de alul . . . . . . 347
-
CUPRINS vii
8 Euatii diferentiale ordinare 265
8.1 Formularea oreta a problemelor u onditii initiale . . . . . . . . . . . . 266
8.2 Disretizarea euatiilor diferentiale . . . . . . . . . . . . . . . . . . . . . 268
8.3 Metode numerie u un pas . . . . . . . . . . . . . . . . . . . . . . . . . 278
8.3.1 Metoda seriei Taylor . . . . . . . . . . . . . . . . . . . . . . . . . 278
8.3.2 Metoda Runge-Kutta . . . . . . . . . . . . . . . . . . . . . . . . . 279
8.3.3 Controlul automat al marimii pasului de integrare . . . . . . . . . 288
8.4 Metode de integrare multipas . . . . . . . . . . . . . . . . . . . . . . . . 291
8.4.1 Metoda expliita Adams-Bashforth . . . . . . . . . . . . . . . . . 293
8.4.2 Metoda impliita Adams-Moulton . . . . . . . . . . . . . . . . . 295
8.4.3 Metoda Milne . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
8.4.4 Consistenta, stabilitatea si onvergenta metodelor multipas . . . 299
8.5 Algoritmul preditor-oretor . . . . . . . . . . . . . . . . . . . . . . . . 309
8.6 Reprezentarea anonia a metodelor multipas . . . . . . . . . . . . . . . 312
8.7 Metode u valori multiple . . . . . . . . . . . . . . . . . . . . . . . . . . 316
8.7.1 Reprezentarea Nordsiek . . . . . . . . . . . . . . . . . . . . . . . 317
8.7.2 Controlul automat al ordinului si marimii pasului ^n metodele u
valori multiple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
8.8 Integrarea numeria a euatiilor de tip sti . . . . . . . . . . . . . . . . . 324
8.8.1 Euatii diferentiale de tip sti . . . . . . . . . . . . . . . . . . . . 324
8.8.2 Stabilitatea numeria a euatiilor sti . . . . . . . . . . . . . . . . 327
8.8.3 Algoritmul Gear pentru rezolvarea euatiilor sti . . . . . . . . . 333
8.8.4 Alte metode numeri sti stabile . . . . . . . . . . . . . . . . . . 337
8.9 Analiza numeria a iruitelor eletrie ^n regim tranzitoriu . . . . . . . . 339
8.9.1 Prinipiul metodei . . . . . . . . . . . . . . . . . . . . . . . . . . 340
8.9.2 Pseudoodul metodei modelului disretizat . . . . . . . . . . . . . 341
8.9.3 Analiza algoritmului . . . . . . . . . . . . . . . . . . . . . . . . . 342
ANEXE 345
A 345
Bibliograe si Webograe 348
Index 352
-
viii CUPRINS
-
Capitolul 8
Euatii diferentiale ordinare
Euatiile si sistemele de euatii diferentiale ordinare au un rol entral ^n modelarea
fenomenelor zie, himie, soiologie, biologie sau de alta natura, araterizate de un
numar nit de marimi de stare variabile ^n timp. Exemplul tipi ^n ingineria eletria
^l reprezinta iruitele eletrie ^n regim tranzitoriu, are sunt araterizate de sisteme
de astfel de euatii. De altfel, teoria sistemelor u o multitudine de apliatii ^n ingineria
eletria, este bazata pe astfel de euatii.
Forma anonia a sistemelor de euatii diferentiale este:
8
>
>
>
>
>
>
>
:
dx
1
dt
= f
1
(x
1
; x
2
; : : : ; x
n
; t)
dx
2
dt
= f
2
(x
1
; x
2
; : : : ; x
n
; t)
.
.
.
dx
n
dt
= f
n
(x
1
; x
2
; : : : ; x
n
; t);
sau sub forma ompata:
dx
dt
= f(x; t); (8.1)
unde f : R
n+1
! R
n
este o funtie vetoriala u valori ^n spatiul eulidian n-dimensional,
x 2 R
n
vetorul solutie, funtie de variabila salara, t 2 R.
^
In ontinuare, atuni a^nd aest luru nu genereaza onfuzii, vetorul solutie va notat
si u x, derivata u x
0
, iar funtia u f , astfel ^na^t relatia x
0
= f(x; t) este ehivalenta
u (8.1).
Trebuie remarat a o euatie diferentiala arbitrara de ordin superior: x
(n)
=
f(x; x
0
; : : : ; x
(n1)
; t) poate adusa la forma anonia prin simpla notatie:
(
x
0
i
(t) = x
it
(t); i = 1; 2; : : : ; n
f
0
n
(t) = f(t; x
1
(t); x
2
(t); : : : ; x
n
(t)):
-
266 Euatii diferentiale ordinare
Dupa um se va onstata ulterior, pentru a aest sistem sa aiba solutie unia este
neesara adaugarea unor onditii suplimentare impuse solutiei, numite onditii initiale
daa se refera la o valoare partiulara a variabilei t, sau onditii biloale, daa se refera
la doua valori partiulare ale variabilei independente.
8.1 Formularea oreta a problemelor u onditii
initiale
Abordarea euatiei (8.1) prin metode numerie este lipsita de sens, daa problema nu
este bine formulata din punt de vedere matemati. Pentru euatiile are nu au solutie
sau au mai multe solutii, hiar si ele mai \performante" metode de rezolvare numeria
nu fa alteva dea^t sa genereze un sir de numere lipsite de semniatie.
Din aest motiv, analiza alitativa a euatiei are trebuie rezolvata, din puntul de
vedere al bunei formulari a problemei asoiate, este esentiala si trebuie efetuata ^naintea
rezolvarii numerie.
^
In formularea sa lasia, datorata lui Cauhy, problema reazolvarii
euatiilor diferentiale onsta ^n determinarea funtiei vetoriale x =
^
x(t) de variabila
reala t;
^
x : [t
0
; t
m
! R
n
; funtie ontinua si derivabila are satisfae euatia (8.1) pe
intervalul [t
0
; t
m
si onditia:
^
x(t
0
) = x
0
; (8.2)
u x
0
2 R
n
dat, numita onditie initiala.
Conditia a problema lui Cauhy sa aiba solutie este data de teorema lui Peano, are
impune ^n prinipiu doar ontinuitatea funtiei f ^n puntul (x
0
; t
0
):
Teorema 8.1 de existenta a lui Peano
Daa funtia f(x; t) este ontinua pe multimea:
D : jjx x
0
jj a; t
0
t t
m
;
si are ^n plus satisfae onditia initiala (8.2), atuni exista el putin o funtie
^
x(t), are
satisfae euatia diferentiala (8.1) pe un interval nevid:
t
0
t t
0+h
t
m
:
Teorema lui Peano nu garanteaza uniitatea solutiei i doar existenta aesteia. Intervalul
pe are este asigurata existenta solutiei nu este nemarginit i are o lungime data de:
h = min
t
m
t
0
;
a
M
; (8.3)
unde M este o margine superioara a valorii absolute a lui f(x; t) pe D. Din aest motiv,
teorema lui Peano este o teorema de existenta loala.
Demonstratia teoremei lui Peano este prezentata ^n [20, [30.
Pentru a obtine uniitatea solutiei este neesara ^ntarirea onditiilor din teorema lui
Peano, pa^na la o onditie de tip Lipshitz.
-
8.1. Formularea oret
a a problemelor u onditii initiale 267
Denitia 8.1 O funtie f(x; t) : R
n+1
! R satisfae onditia Lipshitz fata de x pe o
multime ^nhisa D R
n+1
, daa exista o onstanta L, astfel ^na^t:
jjf(x
0
; t) f(x
00
; t)jj Ljjx
0
x
00
jj; (8.4)
pentru orie (x
0
; t) 2 D si (x
00
; t) 2 D:
Funtiile are satisfa onditia Lipshitz sunt funtii ontinue, nu neaparat derivabile,
dar a aror \viteza de restere" este marginita. Funtiile u derivata ontinua satisfa
onditia Lipshitz dar nu si reipro. De exemplu, funtiile ontinue, liniare pe portiuni
satisfa denitia anterioara, dar nu sunt ^n mod neesar derivabile. Figura 8.1a reprezinta
graul unei funtii Lipshitz reale de o singura variabila reala iar gura 8.1b reprezinta o
funtie are nu satisfae aeasta onditie deoaree panta tangentei ^n x
0
este nemarginita.
f
xx0 x0 x
f
b)a)Figura 8.1: a) Funtie Lipshitziana; b) Funtie are nu satisfae onditia Lipshitz
Teorema 8.2 de existenta si uniitate a lui Piard
Daa funtia f(x; t) este ontinua pe multimea:
D : jjx x
0
jj a; t
0
t t
m
;
si satisfae onditia Lipshitz ^n raport u x pe D, atuni exista o funtie unia
^
x(t),
are satisfae euatia diferentiala (8.1) pe un interval nevid t
0
t t
0
+ h t
m
si
onditia initiala (8.2).
La fel a teorema anterioara, si teorema lui Piard are un arater loal.
^
Intarirea onditiilor impuse funtiei f(x; t) asigura nu numai uniitatea i si dependenta
ontinua a solutiei
^
x(t) de datele initiale x
0
si t
0
:
Aest luru este important mai ales a^nd se urmareste obtinerea unei solutii numerie,
are porneste de la date initiale obtinute pe ale experimentala, dei suseptibile de erori.
Demonstratia toeremei de existenta si uniitate a lui Piard este prezentata ^n [20, [30.
Pentru a obtine existenta solutiei pe un interval de timp oria^t de mare, este neesara
impunerea unor onditii si mai severe pentru funtia f(x; t), asa um rezulta din teorema
urmatoare.
-
268 Euatii diferentiale ordinare
Teorema 8.3 de existenta globala a lui Wintner
Daa funtia f(x; t) este ontinua pe ^ntregul spatiu (n+1)- dimensional R
n+1
si exista
o funtie reala de variabila reala L(r) u proprietatea
Z
1
0
dr
L(r)
=1, astfel ^na^t:
jf
i
(x
1
; x
2
; :::; x
n
; t)j < L(r); i = 1; 2; :::; n; (8.5)
oriare ar r = jjxjj 2 [0;1); atuni solutia euatiei diferentiale (8.1) u onditia (8.2)
exista pentru orie t 2 R:
Teorema lui Wintner impune funtiei f(x; t) o restere moderata spre innit. Cu toate
a polinoamele de gradul doi sau mai mare nu satisfa aeasta onditie, totusi funtiile
ontinue, liniare pe portiuni, satisfa aeasta onditie, dei asigura existenta globala a
solutiei.
^
In teoria iruitelor eletrie, prezinta interes nu numai problemele u onditii initiale
i si ele u onditii biloale. Un exemplu de astfel de onditie la limita o reprezinta
onditia de periodiitate:
x(t
0
) = x(t
0
+ T ): (8.6)
Din paate, ^n azul ^n are f(x; t) nu este liniara fata de x aeasta problema nu are
solutie ^n general unia.
^
In shimb, daa integrala pe o perioada a funtiei f(x; t) satisfae
onditia Lipshitz
Z
t
0
+T
t
0
[f(x
0
; t) f(x
00
; t)dt
Ljjx
0
x
00
jj u onstanta L < 1, atuni
solutia euatiei (8.1) u onditia (8.2) este unia.
8.2 Disretizarea euatiilor diferentiale
Determinarea numeria a solutiei euatiei diferentiale (8.1) u onditia initiala (8.2)
presupune disretizarea intervalului [t
0
; t
m
u pasi de timp relativ mii:
t
0
; t
1
= t
0
+ h
0
; t
2
= t
1
+ h
1
; :::; t
k+1
= t
k
+ h
k
; :::; t
m
:
Daa pasul de timp are valoare onstanta h
k
= h, atuni se obtine o retea uniforma de
disretizare:
t
0
; t
1
= t
0
+ h; t
2
= t
0
+ 2h; :::; t
k+1
= t
0
+ (k + 1)h; :::; t
n
= t
0
+ nh:
O metoda numeria de rezolvare reprezinta un algoritm are permite determinarea nu-
meria a unei aproximari a solutiei ^n nodurile retelei de disretizare:
^
x(t
0
);
^
x(t
1
);
^
x(t
2
); :::;
^
x(t
k+1
); :::;
^
x(t
m
):
-
8.2. Disretizarea euatiilor diferentiale 269
Deoaree valorile solutiei numerie nu sunt riguros egale u solutia exata, ele vor
notate u:
x
0
; x
1
; x
2
; :::; x
k
; :::; x
m
:
Abaterile solutiei numerie x
k
de la pasul de timp t
k
, fata de solutia exata x(t
k
) la
aelasi moment de timp pot araterizate prin eroarea absoluta:
"
k
= jj
^
x(t
k
) x
k
jj: (8.7)
Aeasta eroare este datorata, ^n prinipal a doua auze:
aproximarea are sta la baza algoritmului, are determina o omponenta a erorii
numita eroare de trunhiere;
faptul a ^n alulator numerele reale sunt reprezentate prin aproximari rationale,
u un numar nit de ifre semniative, eea e determina erori numite de rotu-
njire.
Prima ategorie de erori depinde de metoda numeria folosita iar a doua ategorie este
dependenta de sistemul de alul utilizat.
^
In alegerea algoritmilor se urmareste a erorile de orie natura sa e a^t mai mii.
Majoritatea algoritmilor asigura o sadere a erorii de trunhiere pe masura e pasul de
disretizare a timpului, numit si pas de integrare, sade. Proprietatea unui algoritm
de a asigura limita nula a erorii de trunhiere "
k
! 0 pentru orie k = 1; 2; : : : ; m,
atuni a^nd h ! 0 poarta numele de onvergenta.
^
In aeasta denitie se presupune
a solutia numeria ^ndeplineste exat onditia initiala ("
0
= jj
^
x(t
0
) x
0
jj = 0) si
h=max(h
k
).
Modul ^n are depinde eroarea de trunhiere de marimea pasului poate araterizat de
ordinul metodei. Daa exista un numar p, real si pozitiv astfel ^na^t eroarea de trunhiere
este majorata de:
"
k
Ch
p
; (8.8)
^n are onstanta C este independenta de pasul de timp h, atuni se spune a metoda
este de ordinul p si se srie a "
k
= O(h
p
): Este de asteptat a metodele de ordin
superior sa asigure o eroare mai mia dea^t ele de ordin inferior, atuni a^nd pasul de
timp se misoreaza.
Datorita araterului reursiv al metodelor numerie de integrare a euatiilor diferentiale,
^n are x
k
este alulat de regula ^n funtie de x
k1
erorile aparute la pasul k se propaga
la pasii ulteriori, afeta^nd ^ntreaga solutie. Pentru a studia propagarea erorii ^n proesul
de alul se onsidera solutia numeria z
k
a euatiei diferentiale u onditia initala z
0
,
perturbata astfel ^na^t: jjx
0
z
0
jj = "
0
:
-
270 Euatii diferentiale ordinare
O metoda de rezolvare se numeste numeri stabila, pentru un pas de timp h, daa
abaterea dintre ele doua solutii este marginita:
jjx
k
z
k
jj = C"
0
; (8.9)
^n az ontrar metoda se numeste instabila numeri.
Daa o metoda numeria determina \ampliarea" erorii ^n proesul de alul, atuni ea
nu poate utilizata prati ^n vederea obtinerii unor solutii numerie u eroare rezonabila.
O metoda de rezolvare se numeste numeri absolut stabila pentru un pas de timp dat
h si pentru o euatie data, daa o perturbatie la pasul de timp k : jjx
k
z
k
jj =
k
, nu
se amplia la pasii de timp urmatori m > k :
jjx
m
z
m
jj
k
: (8.10)
Din paate, denitia stabilitatii numerie nu depinde numai de algoritm i si de euatia
de rezolvat. Din aest motiv este neesara introduerea unei \euatii test" pe are sa se
verie stabilitatea absoluta. Se alege a euatie test ea mai simpla euatie diferentiala
liniara salara:
dx
dt
= x; (8.11)
^n are 2 C, deoaree multe sisteme liniare si hiar prima aproximatie a elor neliniare
se pot redue la euatii de aest tip, printr-o shimbare onvenabila de variabile. Se va
numi regiune de stabilitate numeria absoluta multimea valorilor pe are le poate
lua pasul de timp h, la o valoare data a parametrului , astfel ^na^t o perturbatie a
solutiei numerie la pasul k va produe modiari ulterioare are nu res de la pas la
pas. Un exemplu de astfel de perturbari ^l onstituie impreizia u are sunt unosute
datele initiale sau erorile de rotunjire are intervin la eare pas de integrare ^n timp.
Pe masura e pasul de timp h sade, alulele sunt efetuate u valori din e ^n e mai
apropiate (x
k+1
! x
k
) iar ponderea erorilor de rotunjire reste. Efetul umulativ al
erorilor de trunhiere si rotunjire este prezentat alitativ ^n gura 8.2. Se onstata a ^n
realitate pasul de timp nu trebuie sa sada sub o valoare minima h
min
deoaree erorile
de rotunjire tind sa reasa din nou.
^
In onluzie, se poate arma a prezinta interes prati doar aele metode are sunt
onvergente si numeri stabile, u onditia a pasul de integrare sa nu e mai mi dea^t
limita impusa de eroarea de rotunjire.
^
In ontinuare va studiata ea mai simpla metoda de disretizare (de integrare numeria)
a euatiilor diferentiale ordinare, si anume metoda de ordinul unu, unosuta si sub
numele de metoda Euler. Aeasta se obtine prin aproximarea solutiei exate u primii
doi termeni din seria Taylor ^n are aeasta se poate desompune ^n eare punt al unei
retele uniforme de disretizare:
-
8.2. Disretizarea euatiilor diferentiale 271
Figura 8.2: Variatia erorii globale ^n funtie de pasul h
^
x(t
k+1
) =
^
x(t
k
) + (t
k+1
t
k
)
dx
dt
t=t
k
+ : : : (8.12)
sau tina^nd seama de euatia de rezolvat si de notatiile introduse, rezulta:
x
k+1
= x
k
+ hf(x
k
; t
k
): (8.13)
^
In fond, aeasta relatie se obtine din euatia de rezolvat aproxima^nd derivata u formula
progresiva u diferente nite de ordinul ^nta^i. Relatia (8.13) deneste o metoda Euler
expliita, deoaree permite alulul diret al solutiei numerie x
k+1
, fara sa e neesara
rezolvarea vreunei euatii sau sistem de euatii.
Relatia (8.13) poate obtinuta si prin integrarea euatiei diferentiale (8.1) pe ultimul
pas de timp
^
x(t
k+1
)
^
x(t
k
) =
Z
t
k+1
t
k
f(x; t)dt; (8.14)
si aproximarea integralei prin metoda dreptunghiurilor u valoarea integrandului din
momentul initial t
k
, al intervalului.
Daa, ^n shimb, se foloseste pentru evaluarea integralei valoarea din momentul nal
t
k+1
, atuni se obtine relatia:
x
k+1
= x
k
+ hf(x
k+1
; t
k+1
) (8.15)
arateristiametodei Euler impliite. Aeasta relatie se obtine aproxima^nd derivata
din euatia de rezolvat u diferente nite regresive.
^
In aest ultim az, neunosuta x
k+1
,
este prezenta ata^t ^n membrul sta^ng a^t si ^n el drept iar pentru determinarea ei este
neesara rezolvarea unui sistem de euatii neliniare. Efortul de alul ^n azul metode-
lor impliite este mai mare, dar se va onstata a el este reompensat de o stabilitate
numeria superioara a solutiei.
-
272 Euatii diferentiale ordinare
Semniatia geometria a metodei Euler expliita este reprezentata ^n gura 8.3, pentru
azul unei funtii f(x; t) u x 2 R. Se onstata a solutia este aproximata u o dreapta
are tree prin puntul initial (x
k
; t
k
) si a arei panta este data de valoarea funtiei f(x; t)
^n puntul initial. Pe masura e pasul de timp h sade, are lo si o sadere a erorii de
trunhiere "
k
:
x(t)
t t
k+1x
xkf(x ,t )panta
k k+1
k k
Figura 8.3: Semniatia geometria a metodei Euler expliite
Pentru a determina ordinul de onvergenta al metodei se onsidera euatia test (8.11)
u 2 R, a arei solutie este:
x^(t) = x
0
e
t
;
si are, ^n nodurile x
k
= kh ale unei retele regulate are valorile:
x^(t
k
) = x
0
e
ht
:
Solutia numeria se obtine folosind reursiv relatia (8.13):
x
k+1
= x
k
+ hx
k
= x
0
(1 + h)
k+1
:
Daa se noteaza:
= e
h
= 1 + h+
(h)
2
2
e
h
; 0 < < 1 si (8.16)
= 1 + h ;
rezulta urmatoarele expresii pentru solutia exata si ea numeria:
x^(t
k
) = x
0
k
; (8.17)
x
k
= x
0
k
: (8.18)
Eroarea de trunhiere are la pasul k valoarea:
"
k
= jx^(t
k
) x
k
j = x
0
j
k
k
j = x
0
j j j
k1
+
k2
+ :::+
k1
j:
-
8.2. Disretizarea euatiilor diferentiale 273
Lua^nd ^n onsideratie (8.16),rezulta:
"
k
x
0
(h)
2
2
e
h
k
k1
x
0
h
2
k
2
e
kh
; (8.19)
Fixa^nd valoarea lui t
k
= kh, rezulta evaluarea:
e
k
hx
0
2
t
k
e
t
k
= O(h); (8.20)
are evidentiaza faptul a metoda Euler este onvergenta u ordinul 1. Relatia (8.20)
evalueaza eroarea umulata pe toti pasii de timp pa^na la t
k
, motiv pentru are ea se
numeste eroare globala. Eroarea de trunhiere efetuata la eare pas, presupuna^nd
valoarea solutiei la pasul anterior a exata, se numeste eroare loala si se poate alula
folosind relatia (8.20) ^n are se partiularizeaza k = 1 :
e
1
x
0
h
2
2
e
h
= O(h
2
): (8.21)
Se onstata a eroarea loala este u un ordin de marime mai mare dea^t ea globala.
Presupuna^nd a funtia f(x; t) satisfae onditia Lipshitz si a solutia are derivata dubla
marginita, se obtin [47 aeleasi rezultate privind ordinul erorii metodei Euler si ^n azul
general al euatiei (8.1).
Pentru a studia stabilitatea numeria a metodei Euler se onsidera solutia euatiei de
test (8.11) si solutia euatiei u onditii initiale perturbate:
z
k
= z
0
k
:
Abaterea solutiei perturbate:
jx
k
z
k
j = jx
0
z
0
j
k
"
0
k
= "
0
e
hk
= "
0
e
t
k
(8.22)
este marginita de abaterea onditiei initiale "
0
= jx
0
z
0
j si tinde atre 0 atuni a^nd
"
0
! 0:
^
In onseinta, se poate arma a metoda Euler este numeri stabila pentru orie valoare
a pasului de integrare. Metoda este numeri stabila nu numai pentru euatiile stabile
(Re[ < 0) i si pentru ele instabile, a aror solutie nu este asimptoti marginita.
Aeasta armatie este adevarata si ^n azul euatiei diferentiale (8.1).
^
In aest az [26,
abaterea elor doua solutii este marginita de:
jjx
k
z
k
jj "
0
e
Lh
;
unde L este onstanta Lipshitz a funtiei f(x; t).
Stabilitatea numeria a unei metode nu presupune onvergenta aesteia. De exemplu
\metoda de ordin 0", obtinuta prin retinerea primului termen din seria Taylor (8.13):
x
1
= x
0
; x
2
= x
1
; x
3
= x
2
; :::; x
k+1
= x
k
; :::
-
274 Euatii diferentiale ordinare
este numeri stabila (hiar si absolut stabila) dar nu este onvergenta.
Pentru a asigura stabilitatea numeria absoluta este neesar a ^n (x
1
) sa e
^ndeplinita onditia:
jx
k
z
k
j jx
0
z
0
j;
sau ehivalent
jj
k
= j1 + hj
k
1; (8.23)
eea e orespunde ^n planul omplex h unui er de raza unitate, u entrul ^n (1; 0):
Aest er (gura 8.4) reprezinta domeniul de stabilitate numeria absoluta pentru me-
toda Euler.
Im[ h]
Re[ h]-1.0
1.0
0
-1.0-2.0 0
Figura 8.4: Domeniul de stabilitate numeria absoluta pentru o metoda numeria
Daa se onsidera spre exemplu euatia unui iruit eletri liniar de ordinul 1, u on-
stanta de timp , are este de forma euatiei de test (8.11) u = 1=:
^
In aest az
onditia de stabilitate numeria absoluta este 2 h 0. Daa se onsidera pasul de
timp limita h =
2
= 2 , atuni solutia numeria obtinuta prin metoda Euler este
x
k
= (1 + h)x
k1
= (1)
k
x
0
:
x0-
x0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
0
Figura 8.5: Solutia numeria Euler a unui iruit liniar de ordinul 1, pentru h = 2
-
8.2. Disretizarea euatiilor diferentiale 275
Aeasta are un arater osilator (gura 8.5), ^n timp e solutia exata tinde atre zero
^n a^tiva pasi de timp. Daa pasul de timp depaseste aeasta limita, atuni osilatiile se
amplia, solutia numeria devine instabila si se ^ndeparteaza u eare pas de integrare
de solutia exata a euatiei de rezolvat. Pentru a obtine o variatie monotona a solutiei
numerie, asa um variaza solutia exata, este neesar a pasul de integrare h sa e mai
mi dea^t onstanta de timp a iruitului.
Pentru a arateriza eroarea de rotunjire se onsidera un sistem de alul are opereaza
u q ifre semniative. La eare operatie aesta introdue o eroare relativa de rotunjire
r 2 [1=2; 1=2 10
q
. Daa pe aest sistem se implementeaza metoda Euler pentru
euatia (8.11) u x
0
= 1 si 1=2, atuni eroarea de rotunjire la pasul t
k
= este:
"
r
= Nr
=
h
10
q
;
deoaree au fost efetuati N = =h pasi. Eroarea de trunhiere la aelasi pas se obtine
pe baza relatiilor (8.19), (8.20):
"
t
=
h
2
2
e
1
=
h
:
Suma aestor erori:
" = "
t
+ "
r
=
h
+
h
10
q
;
are minimul dat de euatia:
"
h
1
h
2
10
q
= 0;
eea e orespunde unei valori optime a pasului de timp:
h =
p
10
q
:
De exemplu, pentru azul uzual ^n are q = 6, rezulta a pasul metodei Euler trebuie
ales mai mare de 1/1000 din onstanta de timp maxima din iruit dar mai mi dea^t
onstanta de timp minima din iruit.
Rezolvarea prin metoda Euler expliita este desrisa de urmatorul pseudood:
proedura euler exp (x0, xmax, y0, h, y)
real x0, ;nod initial
xmax, ;nod final
y0, ;onditia initiala
h ;pasul de integrare
tablou real y(N) ;vetorul solutiei
;numerie
t = x0
y(1) = y0
n = (xmax - x0)/h ;nr. de pasi
-
276 Euatii diferentiale ordinare
pentru i = 2,n ;evalueaza funtia
;^n ele n noduri
y(i) = y(i-1) + hfun(t,y(i-1))
t = t + h
retur
Proedura are urmatorii parametri :
de intrare
{ x0 = limita inferioara a intervalului de integrare;
{ xmax = limita superioara a intervalului de integrare;
{ y0 = onditia initiala;
{ h = pasul de integrare.
de iesire
{ y(N) = vetorul solutie.
Proedura apeleaza funtia \fun" e evalueaza funtia f(t; y) din membrul drept al
euatiei (8.1) pentru nodul i.
Rezolvarea prin metoda Euler impliita este desrisa de urmatorul pseudood:
proedura euler imp (x0, xmax, y0, h, err, itmax, y)
real x0, ;nod initial
xmax, ;nod final
y0, ;onditia initiala
h, ;pasul de integrare
err ;eroarea maxim admisa
^ntreg itmax ;nr. max. de iteratii
tablou real y(N) ;vetorul solutiei
t = x0
y(1) = y0
n = (xmax - x0)/h ;nr. de pasi
pentru i = 2,n ;evalueaza funtia
;^n ele n noduri
t = t + h ;pas nou
;prima evaluare se fae u metoda expliita
ynou = y(i-1)+hfun(t,y(i-1))
j = 0 ;ontor iteratii
repeta
-
8.2. Disretizarea euatiilor diferentiale 277
yvehi = ynou
ynou = y + hfun(t,yvehi)
;evaluare noua
j = j + 1
eps = abs(yvehi - ynou)
;evaluare eroare
pa^na a^nd ( abs(eps) err sau j > itmax )
y(i) = ynou
retur
Fata de metoda Euler expliita, proedura de mai sus are doi parametri suplimentari:
de intrare
{ err = eroarea maxima admisa;
{ itmax = nr. maxim de iteratii admis.
Dei, metoda de rezolvare a euatiei neliniare (8.5) este o metoda iterativa, la are
initializarea este fauta prin valori date de relatia expliita (8.3).
^
In gurile 8.6 { 8.8 sunt prezentate solutia exata si solutiile numerie prin metodele
Euler expliita si impliita, la rezolvarea euatiei diferentiale a unui iruit RC serie:
Figura 8.6: Tensiunea la bornele ondensatorului pentru h = =10
(
RC
du
dt
+ u = E;
u(0) = 0:
pentru valorile pasului de disretizare temporala h = =10; h = si respetiv h =
2 .
Se onstata a metoda Euler impliita este mult mai robusta, ind mai putin sensibila
la marimea pasului.
-
278 Euatii diferentiale ordinare
Figura 8.7: Tensiunea la bornele ondensatorului pentru h =
Figura 8.8: Tensiunea la bornele ondensatorului pentru h = 2
Un alt fenomen interesant este aela a, pentru o valoare suient de mia a pasului,
solutia exata este ^nadrata de ele doua solutii numerie (solutia obtinuta prin metoda
Euler expliita ind ^ntotdeauna mai mare, iar ea obtinuta prin metoda Euler impliita
ind ^ntotdeauna mai mia dea^t ea exata). Aeasta observatie permite rezolvarea
unei euatii diferentiale ordinare u ontrol al erorii, prin utilizarea ambelor metode.
8.3 Metode numerie u un pas
8.3.1 Metoda seriei Taylor
Pentru a obtine ^mbunatatirea onvergentei fata de metoda Euler, se foloses metode ^n
are din seria Taylor a solutiei se retin mai mult de doi termeni.
^
In urma trunhierii
seriei Taylor la primii (p+ 1) termeni se obtine relatia:
x
k+1
= x
k
+ hf(x
k
; t
k
) +
h
2
2!
f
(1)
(x
k
; t
k
) + :::+
h
p
p!
f
(p1)
(x
k
; t
k
): (8.24)
Daa se aplia aeasta metoda euatiei test (8.11) u 2 R, atuni solutia numeria se
-
8.3. Metode numerie u un pas 279
obtine de forma:
x
k
= x
0
1 + h+
(h)
2
2!
+ :::+
(h)
p
p!
!
k
: (8.25)
Folosind notatiile:
= 1 + h +
(h)
2
2!
+ :::+
(h)
p
p!
;
= e
h
= +
(h)
p+1
p!
eh ;
^n are 2 (0; 1), rezulta urmatoarele expresii pentru solutia exata si ea numeria:
x^(t
k
) = x
0
k
; (8.26)
x
k
= x
0
k
: (8.27)
Eroarea de trunhiere satisfae majorarile:
"
k
= jx^(t
k
) x
k
j = x
0
j
k
k
j x
0
j jk
k1
x
0
(h)
p+1
p!
e
h
ke
h(k1)
h
p
x
0
jj
p
t
k
e
t
k
: (8.28)
Rezulta a aeasta metoda este onvergenta si are ordinul p, eroarea de trunhiere ind
de tipul:
"
k
= O(h
p
):
^
In aeasta metoda, misorarea erorii se poate realiza ata^t prin misorarea pasului de
timp h a^t si prin marirea ordinului p al metodei. Misorarea exesiva a pasului h due
la resterea erorii de rotunjire; resterea ordinului la valori mai mari de 1 presupune
alulul numeri sau analiti al valorilor funtiei f(x; t), fapt e sporeste sensibil efortul
de alul si este suseptibil de erori suplimentare. Din aest motiv metoda seriei Taylor
trunhiata este folosita ^n pratia doar pentru ordinul p = 1.
8.3.2 Metoda Runge-Kutta
O lasa de metode de ordin superior, are asigura aeeasi omportare a erorii a metoda
Taylor, dar nu pretinde alulul derivatelor funtiei f(x; t) este unosuta sub numele
Runge- Kutta. Pentru a asigura aelasi ordin al erorii, metodele Runge-Kutta evalueaza
funtia f(x; t) de mai multe ori, ^ntr-un numar p de punte ^n veinatatea puntului
initial (x
k
; t
k
).
Metoda Runge-Kutta de ordinul doi utilizeaza relatia de reurenta:
x
k+1
= x
k
+ h[a
1
f(x
k
; t
k
) + a
2
f(x
k
+ b
1
hf(x
k
; t
k
); t
k
+ b
2
h); (8.29)
-
280 Euatii diferentiale ordinare
^n are, onstantele a
1
; a
2
; b
1
si b
2
se determina astfel ^na^t eroarea de trunhiere sa e
de tipul O(h
2
): Daa se noteaza:
g
1
= f(x
k
; t
k
);
g
2
= f(x
k
+ b
1
hg
1
; t
k
+ b
2
h);
relatia (8.29) devine:
x
k+1
= x
k
+ h[a
1
g
1
+ a
2
g
2
:
Deriva^nd funtia f(x; t) fata de timp:
f
(1)
(x
k
; t
k
) =
f
x
f(x
k
; t
k
) +
f
t
; (8.30)
rezulta prin retinerea primilor termeni ai dezvoltarii ^n serie Taylor a funtiei g
2
:
g
2
= f(x
k
; t
k
) +
f
x
f(x
k
; t
k
)b
1
h+
f
t
b
2
h +O(h
2
);
iar prin substitutie ^n (8.29), rezulta:
x
k+1
= x
k
+ h(a
1
+ a
2
)g
1
+ h
2
a
2
b
1
f
x
g
1
+ h
2
a
2
b
2
f
t
+O(h
3
): (8.31)
Identia^nd termenii expresiei (8.31) u ei ai expresiei (8.24) partiularizata pentru
p = 2:
x
k+1
= x
k
+ hg
1
+
h
2
2
"
f
x
g
1
+
f
t
#
;
rezulta sistemul de euatii:
a
1
+ a
2
= 1; a
2
b
1
= 1=2; a
2
b
2
= 1=2: (8.32)
Cele trei relatii obtinute nu pot determina ^n mod uni ei patru parametri si unul
dintre aestia trebuie ales arbitrar. Indiferent de aeasta alegere, metoda obtinuta este
onvergenta u o eroare de trunhiere de ordinul doi "
k
= O(h
2
). Se onstata a ^n
metoda Runge -Kutta de ordinul doi, la eare pas de timp se evalueaza funtia f(x; t)
de doua ori, o data ^n puntul initial (g
1
) si apoi ^ntr-un punt intermediar (g
2
), plasat pe
diretia g
1
, urma^nd a valoarea a
eptata pentru solutia numeria sa medieze ponderat
ele doua evaluari.
^
In pratia se foloses mai des urmatoarele variante ale metodei Runge-Kutta de ordinul
doi:
-
8.3. Metode numerie u un pas 281
tk
k+1x
xk
xk
panta k kf(x ,t + h/2)
k kkk
t + h/2k t =t +hk+1 k
x =x + h/2 f(x , t )
x
t
Figura 8.9: Semniatia geometria a metodei Euler { Cauhy
metoda Euler-Cauhy, obtinuta pentru a
2
= 1:
x
k+1
= x
k
+ hf
x
k
+
h
2
f(x
k
; t
k
); t
k
+
h
2
!
; (8.33)
^n are se evalueaza funtia f(x; t) la jumatatea pasului de timp, ^ntr-un punt
median, de pe segmentul de panta f(x
k
; t
k
), e porneste din puntul initial
(semniatia geometria este prezentata ^n gura 8.9);
metoda Henn, obtinuta pentru a
2
= 1=2:
x
k+1
= x
k
+
h
2
[f(x
k
; t
k
) + f(x
k
+ hf(x
k
; t
k
); t
k
+ h); (8.34)
^n are se utilizeaza media aritmetia a valorilor funtiei f(x; t) ^n puntul initial
(x
k
; t
k
) si el nal (x
k
+ hf(x
k
; t
k
); t
k
+ h), ^n sensul indiat de metoda Euler
(semniatia geometria este prezentata ^n gura 8.10);
tk
f + f1 22
k+1x
xkpanta
k+1
x
t
t
f 21 f - Euler
Figura 8.10: Semniatia geometria a metodei Henn
metoda Ralston, obtinuta pentru a
2
= 3=4:
x
k+1
= x
k
+
h
4
f(x
k
; t
k
) + 3f
x
k
+
2
3
hf(x
k
; t
k
); t
k
+
2
3
h
; (8.35)
-
282 Euatii diferentiale ordinare
^n are se utilizeaza o medie ponderata a valorii initiale (pondere 1/4) si a valorii din
puntul situat la 2/3 din pasul h (pondere 3/4). Aeasta alegere asigura minimul
erorii de trunhiere [26.
Folosind o tehnia asemanatoare se obtine metoda Runge-Kutta de ordinul trei u
o eroare de trunhiere de tipul O(h
3
) si neesita trei evaluari ale funtiei f(x; t) la
eare pas de timp.
^
In aest az numarul oeientilor se ridia la opt iar numarul
euatiilor obtinute prin identiarea u seria Taylor este doar de sase, dei doi
parametri rama^n nedeterminati [2, [26.
Dintre toate variantele metodei Runge-Kutta, ea mai des folosita ^n pratia este ea
de ordinul patru:
x
k+1
= x
k
+ h[a
1
g
1
+ a
2
g
2
+ a
3
g
3
+ a
4
g
4
; (8.36)
u
g
1
= f(x
k
; t
k
);
g
2
= f(x
k
+ b
1
g
1
h; t
k
+
1
h);
g
3
= f(x
k
+ b
2
g
h
1
+ b
3
g
h
2
; t
k
+
2
h);
g
4
= f(x
k
+ b
4
g
h
1
+ b
5
g
h
2
+ b
6
g
h
3
; t
k
+
3
h):
^
In urma dezvoltarii ^n serie Taylor a funtiilor e intervin ^n expresia (8.36) si a iden-
tiarii u relatia (8.24), partiularizata pentru p = 4, rezulta un sistem de 11 euatii
satisfaute de ei 13 oeienti a
1
a
4
; b
1
b
6
;
1
4
:
Cel mai des utilizata este varianta Runge, ^n are se alege b
6
= 1 si
1
= 1=2:
x
k+1
= x
k
+ h(g
1
+ 2g
2
+ 2g
3
+ g
4
)=6 (8.37)
u
g
1
= f(x
k
; t
k
);
g
2
= f
x
k
+
h
2
g
1
; t
k
+
h
2
;
g
3
= f
x
k
+
h
2
g
2
; t
k
+
h
2
;
g
4
= f(x
k
+ hg
3
; t
k
+ h):
Aeasta metoda aluleaza panta g
1
, ^n puntul initial (x
1
; t
1
), pe are o foloseste pentru
a avansa u jumatate de pas h=2, ^n vederea alulului pantei g
2
. Valoarea g
2
astfel
alulata este folosita pentru a realula panta g
3
la jumatatea pasului. Aesta panta
este folosita pentru alulul valorii f(x; t) a funtiei g
4
la sfa^rsitul pasului de timp. Cele
patru valori obtinute sunt apoi mediate u ponderile 1/6, 2/6, 2/6 si respetiv 1/6, ^n
vederea alulului noii stari x
k+1
.
Aeasta metoda are avantajul unei erori de trunhiere relativ mii, de tipul O(h
4
) si a
faptului a permite o implementare simpla ^n limbajele de programare. Efortul onsta,
^n prinipal, ^n evaluarea funtiei f(x; t) de patru ori la eare pas de timp.
Folosirea metodelor de tip Runge-Kutta de ordin mai mare de 4 nu este justiata,
deoaree pentru obtinerea unei erori de tip O(h
5
) este neesara evaluarea funtiei f(x; t)
-
8.3. Metode numerie u un pas 283
de sase ori. Metodele de ordin 6, 7 si 8 neesita un numar de 7, 9 si respetiv 11 evaluari
ale funtiei f(x; t) [?.
Pentru studiul stabilitatii numerie absolute se onsidera din nou euatia test (8.11),
la are f(x; t) = x. Metoda Runge-Kutta de ordinul doi, apliata aestei euatii,
ondue la:
x
k+1
= x
k
+ h[a
1
x
k
+ a
2
(x
k
+ b
1
hx
k
) = x
k
"
1 + h+
(h)
2
2
#
; (8.38)
si respetiv pentru solutia perturbata:
z
k+1
= z
k
"
1 + h +
(h)
2
2
#
:
Perturbatia de la pasul k,
k
= z
k
x
k
, se propaga la pasul k + 1, sub forma:
k+1
= z
k+1
x
k+1
=
"
1 + h+
(h)
2
2
#
k
:
Conditia a aeasta perturbatie sa se atenueze de la un pas la altul este:
"
1 + h +
(h)
2
2
#
1; (8.39)
eea e orespunde ^n planul omplex h unei regiuni de stabilitate absoluta de forma
elei reprezentate ^n gura 8.11a. Daa se analizeaza ^n mod asemanator metoda Runge-
Kutta de ordinul patru, rezulta onditia:
"
1 + h +
(h)
2
2
+
(h)
3
6
+
(h)
4
24
#
1; (8.40)
are este reprezentata gra ^n gura 8.11b.
Prin ompararea regiunilor de stabilitate numeria absoluta, rezulta a metodele de ordin
superior admit, pentru aeeasi euatie, valori mai mari ale pasului maxim admisibil h,
dea^t metodele de ordin inferior.
Metoda Runge-Kutta de ordinul patru prezinta avantaje fata de metoda Euler. De
exemplu, pentru un pas de integrare h = 0:1 , metoda Runge-Kutta asigura o eroare
u trei ordine de marime mai mia dea^t metoda Euler u aelasi pas. Pentru a obtine
o eroare omparabila, pasul ^n metoda Euler trebuie misorat la h = 10
4
, eea e
nu numai a sporeste efortul de alul de a^teva sute de ori, dar si determina o restere
inadmisibila a erorilor de rotunjire. Aeasta armatie se dovedeste a adevarata ^n azul
^n are se urmares erori mii de trunhiere. Daa toleranta erorii este mare, metoda
Euler poate mai avantajoasa din puntul de vedere al efortului de alul.
Urmatorul algoritm rezolva un sistem de N euatii diferentiale de ordinul unu prin
metoda Runge-Kutta de rang 4.
-
284 Euatii diferentiale ordinare
Re[ h]
Im[ h]
a)-2 -1 0 1
-1.8
-1.4
-1.0
-0.6
-0.2
0.2
0.6
1.0
1.4
1.8
Re[ h]
Im[ h]
b)
-2.8 -2.4 -2.0 -1.6 -1.2 -0.8 -0.4 0 0.4-3
-2
-1
0
1
2
3
Figura 8.11: Domeniile de stabilitate absoluta pentru metodele Runge-Kutta de ordinul 2 (a)
si 4 (b).
proedura runge 4 (t0,tf,h,y) ;Rezolva sistem de N euatii
;diferentiale de ordin I,
;prin metoda Runge-Kutta de
;rang 4.
real t0, ;moment initial
tf, ;limita interval de integrare
h ;pas de integrare
tablou real y[N, s[N, z[N, g[N ;N-dimensiune
;sistem
t = t0
a^t timp t < tf
pentru i = 1,N
g(i) = fun (i,y(i),t) ;evaluare g1
t = t + h/2
pentru i = 1,N
z(i) = y(i) + hg(i)/2 ;argument pentru g2
s(i) = g(i) ;salveaza g1
pentru i = 1,N
g(i) = fun (i,z(i),t) ;evaluare g2
pentru i = 1,N
z(i) = y(i) + hg(i)/2 ;argument pentru g3
s(i) = s(i) + 2g(i) ;salvez g1+2g2
pentru i = 1,N
g(i) = fun (i,z(i),t) ;evaluare g3
t = t + h/2
pentru i = 1,N
z(i) = y(i) + hg(i) ;argument pentru g4
s(i) = s(i) + 2g(i) ;salvez
-
8.3. Metode numerie u un pas 285
;g1+2g2+2g3
pentru i = 1,N
g(i) = fun (i,z(i),t) ;evaluare g4
pentru i = 1,N
y(i) = y(i) + h(s(i) + g(i))/6 ;solutie finala
srie y(i) ;salveaza solutie
retur
^
In gurile 8.12 { 8.14 sunt prezentate solutia exata si solutiile numerie prin metoda
Runge-Kutta de ordinul patru. Se onstata a metoda este robusta, ^n mod asemanator
u metoda Euler impliita (vezi gurile 8.6 { 8.8). Totusi, metoda Runge-Kutta asigura
erori mult mai mii dea^t metoda Euler expliita, asa um rezulta din tabelul 8.3.2, ^n
are sunt prezentate eroarea loala la primul pas si eroarea globala, la rezolvarea euatiei
diferentiale
Figura 8.12: Tensiunea la bornele ondensatorului pentru h = =10
Figura 8.13: Tensiunea la bornele ondensatorului pentru h =
y
t
= y;
y(0) = 1;
-
286 Euatii diferentiale ordinare
Figura 8.14: Tensiunea la bornele ondensatorului pentru h = 2
Tabela 8.1: Erori la rezolvarea euatiei diferentiale dy=dt = y; y
0
= 1 h 2 [0; 4
Euler expliit R{K ord.4
h e
l
e
g
e
l
e
g
0.001 4:9 10
7
9:8 10
1
0 5:3 10
15
0.01 4:9 10
5
9:8 10
1
8:3 10
13
6:2 10
12
0.1 4:8 10
3
9:8 10
1
8:2 10
8
6:6 10
8
1 3:7 10
1
9:8 10
1
7:1 10
3
1:5 10
3
2 1:13 9:8 10
1
1:9 10
1
9:3 10
2
pe intervalul [0; 4.
Graele la rezolvarea u metoda Runge-Kutta de ordinul patru a sistemelor de euatii
orespunzatoare iruitului din gura 8.15 sunt prezentate ^n gurile 8.16 { 8.18.
Ciruitul din gura 8.15 este araterizat de sistemul de euatii:
(
Li
0
+ u+R
i
= E;
Cu
0
= i;
sistem are poate adus la forma:
"
u
0
i
0
#
=
"
o
1
1
L
R
L
# "
u
i
#
+
"
E
0
#
:
-
8.3. Metode numerie u un pas 287
E=10VR
L=1mH C=10 F
Figura 8.15: Ciruit de ordinul II
Figura 8.16: Solutia iruitului din gura 8.15 pentru R = 1
Figura 8.17: Solutia iruitului din gura 8.15 pentru R = 20
Figura 8.18: Solutia iruitului din gura 8.15 pentru R = 30
-
288 Euatii diferentiale ordinare
8.3.3 Controlul automat al marimii pasului de integrare
Criteriile prezentate privind alegerea pasului de integrare pot apliate ^n analiza iru-
itelor eletrie simple.
^
In azul iruitelor omplexe, parametrie sau neliniare, onstan-
tele de timp nu sunt unosute apriori sau nu pot denite.
^
In aeste azuri prezinta
interes tehniile de alegere automata a pasului ^n timpul integrarii. De obiei se
urmareste resterea pasului de integrare pa^na la limita la are erorile de trunhiere sunt
^na admisibile.
O metoda relativ simpla pentru alegerea pasului si pentru ontrolul erorii de integrare
onsta ^n dublarea (sau ^njumatatirea) pasului de timp h, astfel ^na^t eroarea de integrare
sa e uprinsa permanent ^ntre doua limite impuse "
m
< " < "
M
. Pentru estimarea erorii
de integrare " se aplia relatiile (8.37) pentru doi pasi su
esivi:
e
x
k+1
= R(x
k
; t
k
; h);
e
e
x
k+2
= R(x
k+1
; t
k+1
; h);
si apoi pentru un pas de lungime dubla:
e
e
x
k+2
= R(x
k
; t
k
; 2h):
Daa erorile de integrare sunt neglijabile, valorile
e
x
k+2
si
e
e
x
k+2
astfel alulate trebuie
sa e egale. Diferenta dintre aeste valori poate onsiderata a o masura a erorii de
integrare:
" = jj
e
x
k+2
e
e
x
k+2
jj: (8.41)
Daa " > "
M
atuni pasul de timp h se ^njumatateste iar daa " < "
m
atuni pasul de
timp se dubleaza.
Aeasta metoda neesita un efort de alul sporit, la eare pas de timp ind neesare ^n
medie 5.5 evaluari ale funtiei f(x; t).
^
In implementarea algoritmului trebuie aordata o
atentie deosebita modului ^n are se aluleaza norma erorii. Fieare omponenta trebuie
ponderata ^n mod orespunzator, de exemplu daa o omponenta reprezinta urentul
printr-o bobina si alta sarina unui ondensator, atuni aestea trebuie raportate la
valoarea tipia a urentului din bobina si respetiv la sarina tipia din ondensator.
^
In
aest fel eroarea obtinuta are un arater relativ. Eroarea maxima "
M
reomandata
este de ira 10
3
iar eroarea minima "
m
nu trebuie sa e mai mia dea^t eroarea de
rotunjire (se reomanda valori "
m
= 10
5
, daa se lureaza ^n simpla preizie).
O ^mbunatatire a erorii de alul se poate obtine daa se adopta pentru solutia numeria
valoarea alulata prin extrapolare Rihardson, pornind de la
e
x
k+2
= r(t
k+2
; h) si
e
e
x
k+2
=
r(t
k+2
; 2h). Extrapola^nd funtia r(t
k+2
; y) pentru y = 0 se obtine:
x
k+2
= r(t
k+2
; 0) = 2
e
x
k+2
e
e
x
k+2
:
Proedeul de extrapolare Rihardson poate generalizat u bune rezultate la ordine mai
mari, folosind simultan mai multe retele de disretizare u pasii h; h=2; h=4; h=6; h=8:::
-
8.3. Metode numerie u un pas 289
[26.
^
In aest sop, se onsidera a solutia numeria admite, pentru valori mii ale marimii
pasului h, o aproximare polinomiala:
x
(h)
k
= r(t
k
; h) = y
0
+ y
1
h+ y
2
h
2
+ :::
Este de asteptat a valoarea aestei aproximari pentru h = 0 sa e mai aproape de solutia
exata dea^t pentru h 6= 0: Coeientii extrapolarii, din are intereseaza mai ales y
0
, se
determina u relatiile Aitken- Lagrange folosind retele din e ^n e mai ne, pa^na a^nd
abaterea dintre doua solutii sade sub toleranta impusa.
Utiliza^nd extrapolarea rationala ^n loul elei polinomiale, Bulirsh si Stoer au obtinut
una din ele mai eiente metode de mare auratete pentru rezolvarea numeria a
euatiilor diferentiale [2, [26.
Pentru a asigura pemanent o valoare optima a pasului de integrare Gear [26 propune o
metoda bazata pe o singura eroare impusa "
M
. Valoarea pasului de timp h
k
se modia
la eare etapa de integrare onform relatiei
h
k+1
= 0; 99h
k
15"
M
jjx
k
jj
"
!
1
5
;
are asigura o eroare de trunhiere a^t mai apropiata de "
M
. Daa "=jjx
k
jj depaseste
toleranta 15"
M
atuni alulul se reia u noul pas de timp. Valoarea adoptata pentru
solutia numeria este o medie ponderata a solutiilor obtinute u ei doi pasi de timp:
x
k+2
= (16
e
x
k+2
e
e
x
k+2
)=15:
O metoda ingenioasa de modiare a pasului este propusa de Zonnenveld [2. Aesta
adopta a masura a erorii norma ultimului termen din seria Taylor trunhiata, respetiv:
q
k
=
h
p
k
p!
x
(p)
k
: (8.42)
Se urmareste alulul aestui termen ^n funtie de evaluarile deja efetuate ale funtiei
f(x; t).
^
In azul metodei Runge-Kutta de ordinul doi (8.29) se determina oeientii d
1
si d
2
astfel ^na^t:
h
2
2!
x
(2)
k
= h[d
1
g
1
+ d
2
g
2
: (8.43)
Utiliza^nd relatiile (8.30), (8.31) rezulta:
h
2
2
"
f
x
g
1
+
f
t
#
= hg
1
(d
1
+ d
2
) + h
2
f
x
g
1
b
1
d
2
+
f
t
b
2
d
2
;
eea e impune onstantelor d
1
si d
2
relatiile:
d
1
+ d
2
= 0 ; d
2
b
1
= 1=2 ; d
2
b
2
= 1=2: (8.44)
-
290 Euatii diferentiale ordinare
Alega^nd, de exemplu, varianta Heun a metodei Runge-Kutta, rezulta d
1
= 1=2; d
2
=
1=2, dei eroarea de la pasul k poate masurata prin:
q
k
=
h
k
2
jjf(x
k
; t
k
) f(x
k
+ hf(x
k
; t
k
); t
k
+ h)jj : (8.45)
Folosind o tehnia asemanatoare se obtine norma ultimului termen si ^n azul metodei
Runge-Kutta de ordinul patru (8.37):
q
k
=
h
4
k
4!
x
(4)
k
= h
k
2
3
g
1
+ 2g
2
+ 2g
3
+ 2g
4
16
3
g
5
; (8.46)
u
q
5
= f
x
k
+
h
32
(5g
1
+ 7g
2
+ 13g
3
g
4
); t
k
+
3
4
h
!
:
Se onstata a ^n azul metodei de ordinul patru este neesara o evaluare suplimentara
a funtiei f(x; t). Eroarea q
k
de la pasul urent este omparata u:
k
= h
k
["
1
jjf(x
k
; t
k
)jj+ "
2
; (8.47)
unde "
1
si "
2
sunt doua valori limita date, impuse erorii.
Daa q
k
k
atuni valoarea (x
k+1
) alulata la pasul urent este a
eptata a ind
oreta si se tree la pasul urmator h
k+1
, are se majoreaza fata de pasul urent. Daa
eroarea q
k
depaseste toleranta admisa (q
k
>
k
), atuni pasul urent h
k
se misoreaza si
se realuleaza valoarea x
k+1
u noul pas.
Pentru oeientul de oretie al pasului, Zonnenveld propune valoarea:
k
=
k
k
+ q
k
+ 0:45: (8.48)
Daa rezultatul este eronat (q
k
<
k
) atuni pasul este oretat la valoarea
k
h
k
(u
0:45 <
k
< 0:95 ). Daa rezultatul este a
eptat, atuni oeientul de oretie satisfae
inegalitatile 0:95
k
1:45. Pentru a evita o marire hazardata a pasului, Zonnenveld
propune strategia data de relatia:
h
k+1
=
(
k
h
k
; pentru k = 0;
h
k
h
h
k
h
k1
(1 +
k
)
k1
i
; pentru k > 0:
(8.49)
O varianta a metodei Runge-Kutta de ordinul patru, optimizata din puntul de vedere
al efortului de alul (si al numarului de registre proesor utilizate ) se datoreaza lui Gill,
are alege ^n aest sens ^n (8.36), b
6
= 1 + 1=
p
2 si
1
= 1=2.
^
In varianta sa nala,
-
8.4. Metode de integrare multipas 291
algoritmul lui Gill are forma [48, [26:
g
1
= hf(x
k
; t
k
);
q
1
= q
0
+ 3(g
1
2q
0
)=2 g
1
=2;
y
1
= x
k
+ (g
1
2q
0
)=2;
g
2
= hf(y
1
; t
k
+ h=2);
q
2
= q
1
+ 3(1 1=
p
2)(q
2
q
1
) (1 1=
p
2)q
2
;
y
2
= y
1
+ (1 1=
p
2)(q
2
q
1
);
g
3
= hf(y
2
; t
k
+ h=2);
q
3
= q
2
+ 3(1 + 1=
p
2)(q
3
q
2
) (1 + 1=
p
2)q
3
;
y
3
= y
2
+ (1 + 1=
p
2)(q
3
q
2
);
g
4
= hf(y
3
; t+ h);
q
4
= q
3
+ 3(q
4
2q
3
)=6 q
4
=2;
x
k+1
= y
4
= y
3
+ (q
4
2q
3
)=6:
(8.50)
El asigura un numar minim de operatii si folosirea u eienta maxima a memoriei. Mai
mult, aeasta metoda permite ompensarea partiala a erorii de rotunjire, de la un pas
la altul.
^
In aest sop se alege initial q
0
= 0 iar daa preizia ar innita ar trebui sa
rezulte q
4
= 0.
^
In realitate aest luru nu este adevarat si q
4
reprezinta ira triplul
erorii de rotunjire de are este afetat rezultatul y
4
. Pentru a ompensa aeasta eroare,
^n pasul urmator se initializeaza q
0
u valoarea q
4
de la pasul preedent.
^
In implementarea algoritmului Runge-Kutta-Gill, data ^n [48, ontrolul erorii si al
pasului se realizeaza u ajutorul relatiei (8.41), limita inferioara a erorii ind aleasa
"
m
= "
M
=50.
8.4 Metode de integrare multipas
Metodele Taylor si Runge-Kutta fa parte din ategoria metodelor de integrare a
euatiilor diferentiale u un pas, deoaree permit estimarea solutiei x
k
, la pasul de timp
k, folosind doar valoarea x
k1
de la pasul anterior. Trebuie observat a pe parursul in-
tegrarii, sunt deja unosute valorile solutiei ^ntr-o serie de pasi anteriori x
k1
; x
k2
; : : :,
valori are la metodele u un pas nu sunt luate ^n onsiderare. Utilizarea aestor valori
^n alulul solutiei de la pasul urent poate due la resterea preiziei fara un efort de
alul suplimentar. Metodele are ^n determinarea solutiei foloses informatiile de la mai
multi pasi, anteriori pasului urent se numes metode multipas. Aeste metode nu au
autostart, deoaree la primul pas este unosuta doar onditia initiala x
0
. Din aest mo-
tiv, integrarea trebuie demarata u o metoda u un pas, de regula u Runge-Kutta are
este utilizata la integrarea euatiei pe un numar de pasi, si apoi se ontinua integrarea
folosind metode multipas.
Se onsidera o retea uniforma de disretizare a variabilei independente:
t
0
; t
1
= t
0
+ h; t
2
= t
o
+ 2h; : : : ; t
k
= t
0
+ k
h
; : : :
-
292 Euatii diferentiale ordinare
si se presupun unosute valorile solutiei numerie ^n primele noduri ale retelei:
x
0
; x
1
; x
2
; : : : ; x
k1
;
preum si valorile derivatelor
x
0
0
= f(x
0
; t
0
); x
0
1
= f(x
1
; t
1
); : : : ; x
0
k1
= f(x
k1
; t
k1
):
Pentru obtinerea relatiei de reurenta speia metodelor impliite se integreaza derivata
solutiei pe un numar de n pasi su
esivi:
x^(t
k
) x^(t
kn
) =
Z
t
k
t
kn
x^
0
(t)dt: (8.51)
Folosind o metoda de uadratura numeria, integrala va aproximata printr-o ombinatie
liniara de valori ale integrandului de pe ultimile p noduri ale retelei de disretizare:
x
k
x
kn
= h
p
X
i=1
b
i
x
0
ki
;
eea e genereaza relatia de reurenta:
x
k
= x
kn
+ h[b
1
f(x
k1
; t
k1
) + : : :+ b
p
f(x
kp
; t
kp
): (8.52)
Relatia (8.52) poate generalizata sub forma:
x
k
=
p
X
i=1
(a
i
x
ki
+ b
i
hx
0
ki
); (8.53)
^n are trebuie determinati oeientii a
1
; a
2
; : : : ; b
1
; b
2
; : : :. Aesti oeienti, ^n numar
de 2p, pondereaza valorile solutiei si respetiv ale derivatei aesteia pe ultimii p pasi de
integrare. Relatia (8.53) pune ^n evidenta araterul expliit al aestei lase de metode.
Pentru metodele multipas, parametrul p din (8.53) india numarul de pasi ai metodei,
dar ^n partiular daa se alege p = 1 se obtine pentru a
1
= b
1
= 1 metoda u un pas, de
tip Euler expliit.
Daa ^n aproximarea integralei (8.51) se foloseste inlusiv valoarea integrandului din
puntul nal t
k
, se obtine:
x
k
x
kn
= h
p
X
i=0
b
i
x
0
ki
;
relatie are poate srisa ^n general, sub forma impliita:
p
X
i=0
(a
i
x
ki
+ b
i
hx
0
ki
) = 0: (8.54)
-
8.4. Metode de integrare multipas 293
Relatia (8.54) generalizeaza relatia (8.53), are se poate obtine prin alegerea a
0
=
1; b
0
= 0. Spre deosebire de (8.53), relatia (8.54) ontine un singur termen suplimentar
x
0
k
= f(x
k
; t
k
).
Daa se normeaza (8.54), astfel ^na^t a
0
= 1, rezulta
x
k
= b
0
hf(x
k
; t
k
) +
p
X
i=1
[a
i
x
ki
+ b
i
hf(x
ki
; t
ki
): (8.55)
Se arata a (8.55) evidentiaza araterul impliit al lasei de metode obtinute. Solutia
numeria x
k
de la pasul k intervine ata^t ^n primul membru a^t si sub funtia f(x; t)
din membrul doi. Daa f(x; t) este o funtie neliniara, atuni determinarea solutiei
x
k
presupune rezolvarea unui sistem de euatii neliniare (8.55). Apliarea metodelor
impliite neesita dei un efort de alul sporit fata de ele expliite.
8.4.1 Metoda expliita Adams-Bashforth
Metoda Adams-Bashforth se bazeaza pe relatia de reurenta expliita (8.52), ^n are se
alege n = 1, eea e orespunde alegerii a
1
= 1; a
2
= 0; a
3
= 0 : : : ^n relatia (8.53).
Coeientii b
i
se pot determina prin alulul integralei (8.51) u metoda de extrapolare
polinomiala de tip Newton, bazata pe diferente regresive.
^
In ontinuare, aesti oeienti
vor determinati, pentru azul p = 2 (u doi pasi), totusi u metoda seriei Taylor
trunhiate, pentru a evidentia si ordinul erorii de trunhiere. Alega^nd ^n (8.53) p = 2 si
a
2
= 0, rezulta:
x
k
= a
i
x
k1
+ hb
1
x
0
k1
+ hb
2
x
0
k2
; (8.56)
iar pe baza dezvoltarilor Taylor:
x^(t
k
) = a
1
"
x^(t
k
) hx^
0
(t
k
) +
h
2
2
x^
0
(t
k
) +O(h
3
)
#
+
+hb
1
h
x^
0
(t
k
) hx^
0
(t
k
) +O(h
2
)
i
+
+hb
2
h
x^
0
(t
k
) 2hx^
0
(t
k
) +O(h
3
)
i
: (8.57)
Identia^nd termenii ^n h
0
; h
1
; h
2
, rezulta sistemul:
2
6
4
1
0
0
3
7
5
=
2
6
4
1 0 0
1 1 1
1
2
1 2
3
7
5
2
6
4
a
1
b
1
b
2
3
7
5
; (8.58)
are are solutia a
1
= 1; b
1
=
3
2
; b
2
=
1
2
, eea e orespunde relatiei de integrare numeria
Adams-Bashforth u doi pasi:
-
294 Euatii diferentiale ordinare
Tabela 8.2: Coeientii metodei Adams-Bashforth
p i 1 2 3 4 5 6
1 b
i
1
2 2b
i
3 -1
3 12b
i
23 -16 5
4 24b
i
55 -59 37 -9
5 720b
i
1901 -2774 2616 -1274 251
6 1440b
i
4277 -7293 9982 -7298 2877 -475
x
k+1
= x
k
+
h
2
[3x
0
k
x
0
k1
: (8.59)
Relatia (8.57) evidentiaza eroarea loala de trunhiere a metodei u doi pasi, are este de
tipul O(h
3
). Relatia (8.56) trebuie sa e satisfauta identi de un polinom de gradul doi,
dei de funtiile x = 1; s; s
2
u s = (t t
k
)=h. Aeasta este ehivalenta u onditia a
primii trei termeni ai seriei Taylor sa se anuleze, dei onditiile de interpolare polinomiala
vor ondue la aeleasi valori (8.59) ale oeientilor.
^
In general se onsidera funtia polinomiala:
x^(t) = s
n
; x^
0
(t) =
ns
n1
h
;
unde s = (t t
k1
)=h si n = 1; 2; : : : p, are se substituie ^n x
k
= x
k1
+ h
P
p
i=1
b
i
x
0
ki
si se obtine:
1 = n
p
X
i=1
b
i
s
n1
t=t
k
h
= n
p
X
i=1
(1 i)
n1
b
i
: (8.60)
Coeientii b
i
satisfa dei sistemul de euatii:
2
6
6
6
6
6
6
6
6
4
1 1 1 1 : : : 1
0 1 2 3 : : : (p 1)
0 1 4 9 : : : (p 1)
2
0 1 8 27 : : : (p 1)
3
: : : : : : : : : : : : : : : : : :
0 (1)
p1
(2)
p1
(3)
p1
: : : (1 p)
p1
3
7
7
7
7
7
7
7
7
5
2
6
6
6
6
6
6
6
6
4
b
1
b
2
b
3
b
4
: : :
b
p
3
7
7
7
7
7
7
7
7
5
=
2
6
6
6
6
6
6
6
6
4
1
1=2
1=3
1=4
: : :
1=p
3
7
7
7
7
7
7
7
7
5
; (8.61)
are pentru diferite ordine are solutiile din tabelul 8.2:
Se poate arma a la metoda Adams-Bashforth u p pasi eroarea loala de trunhiere
satisfae inegalitatea:
" = jjx(t
k
) x
k
jj C
p
h
p+1
; (8.62)
-
8.4. Metode de integrare multipas 295
dei " = O(h
p+1
) [9,[4, ava^nd ordinul p+ 1, urma^nd a eroarea globala sa aiba ordinul
egal u numarul de pasi.
Se onstata a pentru a obtine o omportare a erorii de trunhiere omparabila u
ea data de metoda Runge-Kutta de ordinul patru, trebuie apliata metoda Adams-
Bashforth u patru pasi:
x
k+1
= x
k
+
h
24
[55f(x
k
; t
k
) 59x
0
k1
+ 37x
0
k2
9x
0
k3
; (8.63)
eea e presupune o singura evaluare a funtiei f(x; t) ^n puntul (x
k
; t
k
), urma^nd a
elorlalte trei valori x
0
ki
= f(x
ki
; t
ki
); i = 1; 2; 3 sa fost memorate la pasii anteriori.
^
In onseinta, efortul de alul este de ira patru ori mai mi dea^t la metoda Runge-
Kutta. Pentru a putea demara, algoritmul generat de (8.63) are nevoie de o initializare,
are presupune apliarea metodei Runge-Kutta pe primii trei pasi: t
1
= t
0
+h; t
2
= t
0
+
2h; t
3
= t
0
+ 3h, ^n vederea alului valorilor x
0
k3
= f(x
0
; t
0
); x
0
k2
= f(x
1
; t
1
); x
0
k1
=
f(x
2
; t
2
) si x
k
= f(x
3
; t
3
): pentru k = 3.
8.4.2 Metoda impliita Adams-Moulton
Metoda Adams-Moulton, ind impliita, se bazeaza pe relatia (8.55), ^n are a si ^n
azul anterior se alege a
1
= 1 si a
2
= a
3
= : : : = a
p
= 0, eea e orespunde alegerii
n = 1, speie metodelor de tip Adams:
x
k
= x
k1
+ h
p
X
i=1
b
i
x
0
ki
: (8.64)
Daa relatia (8.64) este satisfauta identi de un polinom arbitrar de gradul (p + 1),
atuni eroarea loala de trunhiere are un ordin u o unitate mai mare dea^t gradul
polinomului O(h
p+2
). Dupa um s-a aratat ^n paragraful anterior, aeasta onditie este
ehivalenta u anularea primilor (p+2) termeni din seria Taylor asoiata solutiei exate.
Daa se substituie ^n (8.64) polinoamele:
x^(t) = s
n
; u n = 1; 2; : : : ; (p + 1);
se obtine sistemul de euatii satisfaut de b
i
:
p
X
i=0
(1 i)
n1
b
i
= 1=n; n = 1; 2; : : : ; (p+ 1)
sau dezvoltat:
2
6
6
6
6
6
6
4
1 1 1 1 : : : 1
1 0 1 2 : : : (p 1)
1 0 1 4 : : : (1 p)
2
: : : : : : : : : : : : : : : : : :
1 0 (1)
p1
(2)
p1
: : : (1 p)
p1
3
7
7
7
7
7
7
5
2
6
6
6
6
6
6
6
4
b
0
b
1
b
2
.
.
.
b
p
3
7
7
7
7
7
7
7
5
=
2
6
6
6
6
6
6
6
4
1
1=2
1=3
.
.
.
1=(p + 1)
3
7
7
7
7
7
7
7
5
(8.65)
-
296 Euatii diferentiale ordinare
Tabela 8.3: Coeientii metodei Adams-Moulton
p i= 0 1 2 3 4 5
0 b
i
1
1 2b
i
1 1
2 12b
i
5 8 -1
3 24b
i
9 19 -5 1
4 720b
i
251 646 -264 106 -19
5 1440b
i
475 1427 -798 482 -173 27
Partiulariza^nd sistemul (8.65) pentru azul p = 1:
(
b
0
+ b
1
= 1;
b
0
= 1=2;
se obtin valorile oeientilor b
0
= b
1
= 1=2. Relatia de integrare Adams-Moulton u un
pas:
x
k+1
= x
k
+
h
2
[f(x
k
; t
k
) + f(x
k+1
; t
k+1
) (8.66)
este ehivalenta u metoda trapezelor apliata integralei (8.51). Aeasta varianta a me-
todei asigura o eroare loala de trunhiere de tipul O(h
3
), dei o omportare mai buna a
erorii dea^t la metoda Euler impliita, are se obtine formal pentru p = 0 si are neesita
prati aelasi efort de alul. Metoda trapezelor ind u un singur pas are autostartul
asigurat, dar neesita rezolvarea la eare pas de timp a euatiei (8.66), ^n vederea de-
terminarii solutiei x
k+1
. Daa se utilizeaza rezolvarea iterativa, atuni se reomanda a
initializarea sa se faa u valoarea data de metoda Euler expliita. Se onstata ^n aest
az a prima iteratie are valoarea orespunzatoare metodei Runge-Kutta de ordinul doi
^n varianta Heun.
^
In azul metodei impliite u doi pasi (p = 2) se obtine b
0
= 5=12; b
1
= 8=12; b
2
= 1=12,
eea e orespunde la:
x
k+1
= x
k
+
h
12
[5f(x
k+1
; t
k+1
) + 8f(x
k
; t
k
) f(x
k1
; t
k1
); (8.67)
relatie pe doi pasi are asigura o eroare loala de trunhiere de tipul O(h
4
). Tabelul 8.3
ontine oeientii metodei Adams-Moulton pa^na la variantele u ini pasi.
^
In metoda Adams-Moulton eroarea loala de trunhiere satisfae inegalitatea:
" = jjx^(t
k
) x
k
jj C
p
h
p+2
; (8.68)
-
8.4. Metode de integrare multipas 297
dei ordinul metodei impliite este u o unitate mai mare dea^t el al metodei expliite
u aelasi numar de pasi. Pentru a obtine o omportare a erorii de trunhiere de aelasi
tip u metoda Runge-Kutta de ordinul patru este suienta apliarea metodei impliite
u trei pasi:
x
k+1
= x
k
+
h
24
[9f(x
k+1
; t
k+1
) + 19x
0
k
5x
0
k1
+ x
0
k2
: (8.69)
Efortul de alul ^n metoda Adams-Moulton este mult mai mare dea^t el din me-
toda Runge-Kutta, deoaree presupune rezolvarea euatiei (8.69) ^n vederea determinarii
solutiei numerie x
k+1
. Pentru demararea integrarii prin relatia (8.69) este neesara
apliarea pe primii doi pasi de timp t
0
+ h; t
1
+ h a metodei Runge-Kutta ^n vederea
determinarii funtiilor x
0
k2
= fx
0
; t
0
; x
0
k1
= f(x
1
; t
1
) si x
0
k
= f(x
2
; t
2
):
O metoda eienta pentru rezolvarea euatiei impliite onsta ^n alulul iterativ al
solutiei pe baza relatiei (8.69), pornind de la o anumita initializare pentru x
k+1
. Su
esul
aestei metode depinde de initializare. Daa pentru initializare se foloseste valoarea data
de o metoda expliita, atuni numarul iteratiilor neesare se poate redue la una sau el
mult doua. Algoritmul bazat pe folosirea ombinata a metodelor expliite si impliite
este unosut sub numele \preditor-oretor". Din aest motiv metodele impliite
se numes metode de oretie. Daa se aplia metoda preditor-oretor u un preditor
de tip Adams-Bashforth pe trei pasi:
x
(k+1)p
= x
k
+
h
12
[23f(x
k
; t
k
) 16x
0
k1
+ 5x
0
k2
(8.70)
si un oretor de tip Adams-Moulton pe aelasi numar de pasi:
x
k+1
= x
k
+
h
24
[9f(x
(k+1)p
; t
k+1
) + 19x
0
k
5x
0
k1
+ x
0
k2
(8.71)
se onstata a este neesara evaluarea doar de doua ori a funtiei f(x; t), o data pentru
preditor si a doua oara pentru oretor (sau el mult de trei ori daa este neesara o
reiterare), fata de patru ori a^t era neesar ^n metoda Runge-Kutta, pentru asigurarea
unei erori omparabile. Mai mult, diferenta dintre valoarea prezisa si ea oretata ofera
o masura sigura a erorii de trunhiere:
" = jjx
(k+1)p
x
k+1
jj (8.72)
^
In onseinta se poate arma a metoda preditor-oretor este mai avantajoasa din
punt de vedere al efortului de alul si al ontrolului erorii dea^t metoda Runge-Kutta.
-
298 Euatii diferentiale ordinare
Tabela 8.4: Coeientii metodei Milne
p i= 0 1 2 3 4 5
1 b
i
0 2
3 3b
i
0 8 -4 8
5 10b
i
0 33 -42 78 -42 11
2 3b
i
1 4 1
4 45b
i
14 64 24 64 14
8.4.3 Metoda Milne
Metoda Milne uzuala este o metoda impliita u doi pasi ^n are se alege n = 2, sau
ehivalent ^n euatia (8.55), a
1
= 0; a
2
= 1:
x
k
= x
k2
+ h[b
0
x
0
k
+ b
1
x
0
k1
+ b
2
x
0
k2
: (8.73)
Pentru determinarea elor trei oeienti b
0
; b
1
; b
2
se impune onditia a relatia (8.73) sa
e satisfauta identi de un polinom arbitrar de gradul trei. Daa se alege:
x^(t) = s
n
u s = (t t
k2
)=2h si n = 1; 2; 3, rezulta prin substitutie ^n (8.73):
b
0
+ b
1
+ b
2
= 2
b
0
+ b
1
=2 = 1
b
0
+ b
1
=4 = 2=3
sistem are admite solutia b
0
= 1=3; b
1
= 4=3, si b
2
= 1=3.
^
In onseinta metoda Milne
se bazeaza pe relatia reursiva:
x
k+1
= x
k1
+
h
3
[f(x
k+1
; t
k+1
) + 4x
0
k
+ x
0
k1
(8.74)
si asigura o omportare a erorii de trunhiere de tipul O(h
4
). Metodele de tip Milne
au pentru oeientii din relatia (8.55) valorile a
i
= 0 u i 6= p si a
p
= 1. Tabelul
8.4 ontine valorile oeientilor b
i
pentru diferite ordine.
^
In azul metodelor expliite
ordinele impare 2p
0
1 ofera aeeasi eroare a ele pare 2p
0
, dei sunt preferabile.
^
In
azul impliit ordinele pare 2p
0
ofera aeeasi eroare a ele de ordin 2p
0
+ 1, dei sunt
preferate. [7
^
Inerarea de a onsidera a
2
6= 0 ^n metoda expliita (8.53) determina variante instabile
numeri ale metodelor multipas. De exemplu, daa se presupune p = 2 ^n (8.53) se
obtine:
x
k
= a
1
x