rezolvarea numeric a a - math.ubbcluj.romath.ubbcluj.ro/~tradu/sliderom/ecdif.pdf · ecuat˘ii...

51
Ecuat ¸ii diferent ¸iale Metode numerice Descrierea . . . Exemple de . . . Metode Runge- . . . Descrierea . . . Monitorizarea . . . Home Page Title Page JJ II J I Page 1 of 50 Go Back Full Screen Close Quit Rezolvarea numeric˘ aa ecuat ¸iilor diferent ¸iale ordinare Radu T. Trˆ ımbit ¸a¸ s [email protected] 28 mai 2012

Upload: doankhanh

Post on 29-Aug-2019

227 views

Category:

Documents


1 download

TRANSCRIPT

Ecuatii diferentiale

Metode numerice

Descrierea . . .

Exemple de . . .

Metode Runge- . . .

Descrierea . . .

Monitorizarea . . .

Home Page

Title Page

JJ II

J I

Page 1 of 50

Go Back

Full Screen

Close

Quit

Rezolvarea numerica aecuatiilor diferentiale ordinare

Radu T. Trı[email protected]

28 mai 2012

Ecuatii diferentiale

Metode numerice

Descrierea . . .

Exemple de . . .

Metode Runge- . . .

Descrierea . . .

Monitorizarea . . .

Home Page

Title Page

JJ II

J I

Page 2 of 50

Go Back

Full Screen

Close

Quit

1. Ecuatii diferentiale

Consideram problema cu valori initiale sau problema Cauchy: sase determine o functie cu valori vectoriale y ∈ C1[a, b], y : [a, b] →Rd, astfel ıncat

(PC)

dy

dx= f(x, y), x ∈ [a, b]

y(a) = y0

(1)

Figura 1: Augustin Louis Cauchy (1789-1857)

Ecuatii diferentiale

Metode numerice

Descrierea . . .

Exemple de . . .

Metode Runge- . . .

Descrierea . . .

Monitorizarea . . .

Home Page

Title Page

JJ II

J I

Page 2 of 50

Go Back

Full Screen

Close

Quit

1. Ecuatii diferentiale

Consideram problema cu valori initiale sau problema Cauchy: sase determine o functie cu valori vectoriale y ∈ C1[a, b], y : [a, b] →Rd, astfel ıncat

(PC)

dy

dx= f(x, y), x ∈ [a, b]

y(a) = y0

(1)

Figura 1: Augustin Louis Cauchy (1789-1857)

Ecuatii diferentiale

Metode numerice

Descrierea . . .

Exemple de . . .

Metode Runge- . . .

Descrierea . . .

Monitorizarea . . .

Home Page

Title Page

JJ II

J I

Page 3 of 50

Go Back

Full Screen

Close

Quit

Vom evidentia doua clase importante de astfel de probleme:

(i) pentru d = 1 avem o singura ecutie diferentiala scalara deordinul I {

y′ = f(x, y)y(a) = y0

(ii) pentru d > 1 avem un sistem de ecuatii diferentiale ordinarede ordinul I {

dyi

dx= f i(x, y1, y2, . . . , yd), i = 1, d

yi(a) = yi0, i = 1, d

Reamintim urmatoarea teorema clasica referitoare la existentasi unicitate.

Teorema 1 Presupunem ca f(x, y) este continua ın prima va-riabila pentru x ∈ [a, b] si ın raport cu cea de-a doua variabilasatisface o conditie Lipschitz uniforma

‖f(x, y)− f(x, y∗)‖ ≤ L‖y − y∗‖, y, y∗ ∈ Rd, (2)

unde ‖ · ‖ este o anumita norma vectoriala. Atunci problemaCauchy (PC) are o solutie unica y(x), a ≤ x ≤ b, ∀ y0 ∈ Rd. Maimult, y(x) depinde continuu de a si y0.

Ecuatii diferentiale

Metode numerice

Descrierea . . .

Exemple de . . .

Metode Runge- . . .

Descrierea . . .

Monitorizarea . . .

Home Page

Title Page

JJ II

J I

Page 4 of 50

Go Back

Full Screen

Close

Quit

Conditia Lipschitz (2) are singur loc daca toate functiile ∂f i

∂yj(x, y),

i, j = 1, d sunt continue ın raport cu variabilele y si sunt marginitepe [a, b]× Rd. Aceasta este situatia ın cazul sistemelor de ecuatiidiferentiale ordinare liniare, unde

f i(x, y) =d∑j=1

aij(x)yj + bi(x), i = 1, d

si aij(x), bi(x) sunt functii continue pe [a, b].De multe ori conditia Lipschitz (2) are loc ıntr-o vecinatate a

lui x0 astfel ıncat y(x) sa ramana ıntr-un compact D.

Ecuatii diferentiale

Metode numerice

Descrierea . . .

Exemple de . . .

Metode Runge- . . .

Descrierea . . .

Monitorizarea . . .

Home Page

Title Page

JJ II

J I

Page 5 of 50

Go Back

Full Screen

Close

Quit

2. Metode numerice

Se face distinctie ıntre metode de aproximare analitice si metodediscrete. In cadrul primei categorii se ıncearca sa se gaseascaaproximatii ya(x) ≈ y(x) ale solutiei exacte, valabile pentru oricex ∈ [a, b]. Acestea de obicei au forma unei dezvoltari ıntr-o serietrunchiata, fie dupa puterile lui x, fie ın polinoame Cebasev, fieıntr-un alt sistem de functii de baza. In cazul metodelor discrete,se ıncearca sa se gaseasca aproximatii un ∈ Rd ale lui y(xn) pe ogrila de puncte xn ∈ [a, b]. Abscisele xn pot fi predeterminate (deexemplu puncte echidistante pe [a, b]), sau mai convenabil suntgenerate dinamic ca parte a procesului de integrare.

Daca se doreste, se pot obtine din aceste aproximante discrete{un} aproximante yn(x) definite pe ıntreg intervalul [a, b], fie prininterpolare, sau mai natural, printr-un mecanism de continuarecontinut ın metoda de aproximare ınsasi. Ne vom ocupa numaide metode discrete cu un pas, adica metode ın care un+1 estedeterminat cunoscand numai xn, un si pasul h pentru a trece de laxn la xn+1 = xn + h. Intr-o metoda cu k pasi (k > 1) este necesaracunoasterea a k−1 puncte aditionale (xn−j, un−j), j = 1, 2, . . . , k−1pentru a obtine o noua componenta a solutiei.

Cand se descrie o metoda cu un pas este suficient sa aratamcum se trece de la un punct generic (x, y), x ∈ [a, b], y ∈ Rd lapunctul urmator (x + h, ynext). Ne vom referi la aceasta ca fiind

Ecuatii diferentiale

Metode numerice

Descrierea . . .

Exemple de . . .

Metode Runge- . . .

Descrierea . . .

Monitorizarea . . .

Home Page

Title Page

JJ II

J I

Page 6 of 50

Go Back

Full Screen

Close

Quit

descrierea locala a unei metode cu un pas. Aceasta include deasemenea o discutie a preciziei locale, adica cat de apropiat esteynext de solutie ın x + h. O metoda cu un pas pentru rezolvareaproblemei Cauchy (1) genereaza efectiv o functie grila {un}, un ∈Rd, pe o grila a = x0 < x1 < x2 < · · · < xN−1 < xN = b ce acoperaintervalul [a, b], prin care se intentioneaza ca un sa aproximezesolutia exacta y(x) ın x = xn. Punctul (xn+1, un+1) se obtine dinpunctul (xn, un) aplicand o metoda cu un pas, avand un pas hn =xn+1 − xn adecvat ales. Ne vom referi la aceasta ca descriereaglobala a unei metode cu un pas. Chestiunile de interes aici suntcomportarea erorii globale un − y(xn), ın particular stabilitatea,convergenta si alegerea lui hn pentru a trece de la un punct algrilei xn, la urmatorul, xn+1 = xn + hn.

Ecuatii diferentiale

Metode numerice

Descrierea . . .

Exemple de . . .

Metode Runge- . . .

Descrierea . . .

Monitorizarea . . .

Home Page

Title Page

JJ II

J I

Page 7 of 50

Go Back

Full Screen

Close

Quit

3. Descrierea locala a metodelor cu unpas

Dandu-se un punct generic x ∈ [a, b], y ∈ Rd, definim un pas almetodei cu un pas prin

ynext = y + hΦ(x, y;h), h > 0. (3)

Functia Φ : [a, b]×Rd ×R+ → Rd poate fi gandita ca un incrementaproximativ pe unitatea de pas sau ca o aproximare a diferenteidivizate si ea defineste metoda. Impreuna cu (3) consideramsolutia u(t) a ecuatiei diferentiale (1) ce trece prin punctul (x, y),adica problema locala cu valoarea initiala{

dudt

= f(t, u)u(z) = y t ∈ [x, x+ h]

(4)

Vom numi u(t) solutie de referinta. Se intentioneaza ca vectorulynext din (3) sa aproximeze u(x+ h). Cu cat succes se realizeazaaceasta se masoara prin eroarea locala de trunchiere, definitadupa cum urmeaza.

Definitia 2 Eroarea de trunchiere a metodei Φ ın punctul (x, y)este definita prin

T (x, y;h) =1

h[ynext − u(x+ h)]. (5)

Ecuatii diferentiale

Metode numerice

Descrierea . . .

Exemple de . . .

Metode Runge- . . .

Descrierea . . .

Monitorizarea . . .

Home Page

Title Page

JJ II

J I

Page 8 of 50

Go Back

Full Screen

Close

Quit

Eroarea de trunchiere este o functie cu valori vectoriale de d+2variabile. Utilizand (3) si (4) o putem scrie sub forma

T (x, y;h) = Φ(x, y;h)−1

h[u(x+ h)− u(x)], (6)

ceea ce arata ca T este diferenta ıntre incrementul aproximativsi cel exact pe unitatea de pas.

Definitia 3 Metoda Φ se numeste consistenta daca

T (x, y;h)→ 0 cand h→ 0, (7)

uniform pentru (x, y) ∈ [a, b]× Rd.

Conform lui (6) si (5) avem consistenta daca si numai daca

Φ(x, y; 0) = f(x, y), x ∈ [a, b], y ∈ Rd. (8)

O descriere mai fina a preciziei locale este furnizata de definitiaurmatoare, bazata pe conceptul de eroare de trunchiere.

Definitia 4 Spunem ca metoda Φ are ordinul p daca pentru oanumita norma vectoriala ‖ · ‖

‖T (x, y;h)‖ ≤ Chp, (9)

uniform pe [a, b]× Rd, cu constanta C independenta de x, y si h.

Ecuatii diferentiale

Metode numerice

Descrierea . . .

Exemple de . . .

Metode Runge- . . .

Descrierea . . .

Monitorizarea . . .

Home Page

Title Page

JJ II

J I

Page 9 of 50

Go Back

Full Screen

Close

Quit

Aceasta proprietate se mai poate exprima sub forma

T (x, y;h) = O(hp), h→ 0. (10)

De notat ca p > 0 implica consistenta. De obicei p ∈ N∗. El senumeste ordin exact, daca (9) nu are loc pentru nici un p maimare.

Definitia 5 O functie τ : [a, b]×Rd → Rd care satisface τ(x, y) 6≡ 0si

T (x, y;h) = τ(x, y)hp +O(hp+1), h→ 0 (11)

se numeste functie de eroare principala .

Functia de eroare principala determina termenul principal (do-minant) al erorii de trunchiere. Numarul p din (11) este ordinulexact al metodei deoarece τ 6≡ 0.

Toate definitiile precedente sunt formulate ın ideea ca h > 0este un numar mic. Cu cat p este mai mare, cu atat metoda estemai precisa.

Ecuatii diferentiale

Metode numerice

Descrierea . . .

Exemple de . . .

Metode Runge- . . .

Descrierea . . .

Monitorizarea . . .

Home Page

Title Page

JJ II

J I

Page 10 of 50

Go Back

Full Screen

Close

Quit

4. Exemple de metode cu un pas

Unele dintre metodele cele mai vechi sunt motivate prin consideratiigeometrice simple asupra pantei definite de membrul drept alecuatiei diferentiale. In aceasta categorie intra metoda lui Eulersi metoda lui Euler modificata. Alte metode mai precise si maisofisticate se bazeaza pe dezvoltarea Taylor.

4.1. Metoda lui Euler

Euler a propus metoda sa ın 1768, la ınceputul istoriei calcululuidiferential si integral. Ea consta pur si simplu ın a urma panta ınpunctul generic (x, y) pe un interval de lungime h

ynext = y + hf(x, y). (12)

(vezi figura 2).Astfel Φ(x, y;h) = f(x, y) nu depinde de h si conform lui (8)

metoda este consistenta. Pentru eroarea de trunchiere avemconform lui (5)

T (x, y;h) = f(x, y)−1

h[u(x+ h)− u(x)], (13)

unde u(t) este solutia de referinta definita de (4). Deoarece u′ =

Ecuatii diferentiale

Metode numerice

Descrierea . . .

Exemple de . . .

Metode Runge- . . .

Descrierea . . .

Monitorizarea . . .

Home Page

Title Page

JJ II

J I

Page 11 of 50

Go Back

Full Screen

Close

Quit

Figura 2: Metoda lui Euler – solutia exacta (linie continua) sisolutia aproximativa (linie punctata)

Ecuatii diferentiale

Metode numerice

Descrierea . . .

Exemple de . . .

Metode Runge- . . .

Descrierea . . .

Monitorizarea . . .

Home Page

Title Page

JJ II

J I

Page 12 of 50

Go Back

Full Screen

Close

Quit

f(x, u(x)) = f(x, y), putem scrie, utilizand formula lui Taylor

T (x, y;h) = u′(x)−1

h[u(x+ h)− u(x)] = (14)

= u′(x)−1

h[u(x) + hu′(x) +

1

2h2u′′(ξ)− u(x)] =

= −1

2hu′′(ξ), ξ ∈ (x, x+ h),

presupunand ca u ∈ C2[x, x + h]. Aceasta este adevarata dacaf ∈ C1([a, b] × Rd). Diferentiind acum total (4) ın raport cu t sifacand t = ξ, suntem condusi la

T (x, y;h) = −1

2h[fx + fyf ](ξ, u(ξ)), (15)

unde fx este derivata partiala a lui f ın raport cu x si fy estejacobianul lui f ın raport cu variabila y. Daca ın spiritul teoremei1, presupunem ca f si toate derivatele sale partiale de ordinul Isunt uniform marginite ın [a, b] × Rd, exista o constanta C, inde-pendenta de x, y si h astfel ıncat

‖T (x, y;h)‖ ≤ Ch. (16)

Astfel, metoda lui Euler are ordinul p = 1. Daca facem aceeasipresupunere si despre derivatele partiale de ordinul doi ale lui favem

u′′(ξ) = u′′(x) +O(h)

Ecuatii diferentiale

Metode numerice

Descrierea . . .

Exemple de . . .

Metode Runge- . . .

Descrierea . . .

Monitorizarea . . .

Home Page

Title Page

JJ II

J I

Page 13 of 50

Go Back

Full Screen

Close

Quit

si de aceea din (14) rezulta

T (x, y;h) = −1

2h[fx + fyf ](x, y) +O(h2), h→ 0, (17)

aratand ca functia eroare principala este data de

τ(x, y) = −1

2[fx + fyf ](x, y). (18)

Exceptand situatia cand fx + fyf ≡ 0, ordinul exact al metodeilui Euler este p = 1.

4.2. Metoda dezvoltarii Taylor

Am vazut ca metoda lui Euler se bazeaza pe trunchierea dezvoltariiTaylor a solutiei de referinta dupa cel de-al doilea termen. Esteo idee naturala, propusa ınca de Euler, de a utiliza mai multi ter-meni din dezvoltarea Taylor. Aceasta necesita calculul succesival ,,derivatelor totale“ ale lui f ,

f [0](x, y) = f(x, y)

f [k+1](x, y) = f[k]x (x, y) + f

[k]y (x, y)f(x, y), k = 0, 1, 2, . . .

(19)

care determina derivatele succesive ale solutiei de referinta u(t) alui (4) ın virtutea relatiei

u(k+1)(t) = f [k](t, u(t)), k = 0, 1, 2, . . . (20)

Ecuatii diferentiale

Metode numerice

Descrierea . . .

Exemple de . . .

Metode Runge- . . .

Descrierea . . .

Monitorizarea . . .

Home Page

Title Page

JJ II

J I

Page 14 of 50

Go Back

Full Screen

Close

Quit

Acestea, pentru t = x devin

u(k+1)(x) = f [k](x, y), k = 0, 1, 2, . . . (21)

si sunt utilizate pentru a scrie dezvoltarea Taylor conform cu

ynext = y+ h

[f [0](x, y) +

1

2hf [1](x, y) + · · ·+

1

p!hp−1f [p−1](x, y)

], (22)

adica

Φ(x, y;h) = f [0](x, y) +1

2hf [1](x, y) + · · ·+

1

p!hp−1f [p−1](x, y). (23)

Pentru eroarea de trunchiere, utilizand (21) si (23) si presu-punand ca f ∈ Cp([a, b]× Rd) se obtine din teorema lui Taylor

T (x, y;h) = Φ(x, y;h)−1

h[u(x+ h)− u(x)] =

= Φ(x, y;h)−p−1∑k=1

u(k+1)(x)hk

(k + 1)!− u(p+1)(ξ)

hp

(p+ 1)!=

= −u(p+1)(ξ)hp

(p+ 1)!, ξ ∈ (x, x+ h),

asa ca

‖T (x, y;h)‖ ≤Cp

(p+ 1)!hp,

Ecuatii diferentiale

Metode numerice

Descrierea . . .

Exemple de . . .

Metode Runge- . . .

Descrierea . . .

Monitorizarea . . .

Home Page

Title Page

JJ II

J I

Page 15 of 50

Go Back

Full Screen

Close

Quit

unde Cp este o margine a derivatei totale de ordin p a lui f . Astfelmetoda are ordinul exact p (ın afara de cazul cand f [p](x, y) ≡ 0)si functia eroare principala este

τ(x, y) = −1

(p+ 1)!f [p](x, y). (24)

Necesitatea calculului multor derivate partiale ın (19) a fostun factor descurajant ın trecut, cand se facea cu mana. Dar ınzilele noastre aceasta sarcina poate cadea ın seama calculatorului,astfel ıncat metoda a devenit din nou o optiune viabila.

4.3. Metode de tip Euler ımbunatatite

Exista prea multa inertie ın metoda lui Euler: nu se urmeazaaceeasi panta pe ıntreg intervalul de lungime h, deoarece de-a lungul acestui segment de dreapta panta definita de ecuatiadiferentiala se schimba. Aceasta sugereaza mai multe alternative.De exemplu am putea sa reevaluam panta la mijlocul segmentului– sa luam pulsul ecuatiei diferentiale – si apoi sa urmam pantaactualizata pe ıntreg intervalul (vezi figura 3). Formula este

ynext = y + hf

(x+

1

2h, y +

1

2hf(x, y)

)(25)

sau

Φ(x, y;h) = f

(x+

1

2h, y +

1

2hf(x, y)

)(26)

Ecuatii diferentiale

Metode numerice

Descrierea . . .

Exemple de . . .

Metode Runge- . . .

Descrierea . . .

Monitorizarea . . .

Home Page

Title Page

JJ II

J I

Page 16 of 50

Go Back

Full Screen

Close

Quit

Figura 3: Metoda lui Euler modificata

Ecuatii diferentiale

Metode numerice

Descrierea . . .

Exemple de . . .

Metode Runge- . . .

Descrierea . . .

Monitorizarea . . .

Home Page

Title Page

JJ II

J I

Page 17 of 50

Go Back

Full Screen

Close

Quit

Observati ,,imbricarea” necesara aici. Pentru programarea aces-tei metode este indicat sa se scrie

K1(x, y) = f(x, y)K2(x, y;h) = f

(x+ 1

2h, u+ 1

2hK1

)ynext = y + hK2

(27)

Cu alte cuvinte, ıncercam sa luam doua pante de test K1 si K2,una ın punctul initial si a doua ın apropiere si apoi s-o alegempe ultima ca panta finala. Metoda se numeste metoda lui Eulermodificata .

Putem la fel de bine sa luam o a doua panta de ıncercare(x+h, y+hf(x, y)), dar atunci, deoarece trebuie sa asteptam preamult ınainte de a reevalua panta, luam ca panta finala mediacelor doua pante

K1(x, y) = f(x, y)

K2(x, y;h) = f(x+ h, y + hK1)

ynext = y +1

2h(K1 +K2).

(28)

Aceasta metoda se numeste metoda lui Heun. Efectul ambelormodificari este cresterea ordinului cu 1, asa cum se va vedea ıncontinuare.

Ecuatii diferentiale

Metode numerice

Descrierea . . .

Exemple de . . .

Metode Runge- . . .

Descrierea . . .

Monitorizarea . . .

Home Page

Title Page

JJ II

J I

Page 18 of 50

Go Back

Full Screen

Close

Quit

5. Metode Runge-Kutta

(a) Carle David TolmeRunge (1856-1927)

(b) Wilhelm MartinKutta (1867-1944)

Figura 4:

Ecuatii diferentiale

Metode numerice

Descrierea . . .

Exemple de . . .

Metode Runge- . . .

Descrierea . . .

Monitorizarea . . .

Home Page

Title Page

JJ II

J I

Page 19 of 50

Go Back

Full Screen

Close

Quit

Se cauta Φ de forma:

Φ(x, y;h) =r∑s=1

αsKs

K1(x, y) = f(x, y)

Ks(x, y) = f

x+ µsh, y + hs−1∑j=1

λsjKj

, s = 2, 3, . . . , r

(29)

Este natural sa impunem ın (29) conditiile

µs =s−1∑j=1

λsj, s = 2, 3, . . . , r,r∑s=1

αs = 1, (30)

unde primul set de conditii este echivalent cu

Ks(x, y;h) = u′(x+ µsh) +O(h2), s ≥ 2,

iar a doua este conditia de consistenta (8) (adica Φ(x, y;h) =f(x, y)).

Vom numi metoda (29) metoda Runge-Kutta explicita ın rstadii deoarece necesita r evaluari ale functiei f din membruldrept al ecuatiei diferentiale. Conditiile (30) conduc la un sistemneliniar. Fie p∗(r) ordinul maxim pentru o metoda Runge-Kuttaexplicita ın r stadii. Kutta a aratat ın 1901 ca

p∗(r) = r, r = 1, 4.

Ecuatii diferentiale

Metode numerice

Descrierea . . .

Exemple de . . .

Metode Runge- . . .

Descrierea . . .

Monitorizarea . . .

Home Page

Title Page

JJ II

J I

Page 20 of 50

Go Back

Full Screen

Close

Quit

Se pot considera metode Runge-Kutta implicite cu r stadii

Φ(x, y;h) =r∑s=1

αsKs(x, y;h),

Ks = f

x+ µsh, y +r∑j=1

λsjKj

, s = 1, r,

(31)

ın care ultimele r ecuatii formeaza un sistem de ecuatii (ın gene-ral neliniar) cu necunoscutele K1, K2, . . . , Kr. Deoarece fiecaredintre necunoscute este un vector din Rd, ınainte de construireaincrementului aproximativ Φ trebuie sa rezolvam un sistem de rdecuatii cu rd necunoscute. Metodele Runge-Kutta semiimplicite,la care limitele de sumare merg de la j = 1 la j = s necesita unefort mai mic. Se ajunge la un sistem de r ecuatii, fiecare avandd necunoscute, componentele lui Ks. Volumul considerabil decalcule necesar ın metodele implicite si semiimplicite se justificanumai ın ımprejurari speciale, de exemplu la rezolvarea probleme-lor stiff. Motivul este acela ca metodele implicite pot avea ordinmai mare si proprietati de stabilitate mai bune.

Parametrii se aleg astfel ca ordinul sa fie cat mai mare posibil.

Exemplul 6 Fie

Φ(x, y;h) = α1K1 + α2K2

Ecuatii diferentiale

Metode numerice

Descrierea . . .

Exemple de . . .

Metode Runge- . . .

Descrierea . . .

Monitorizarea . . .

Home Page

Title Page

JJ II

J I

Page 21 of 50

Go Back

Full Screen

Close

Quit

unde

K1(x, y) = f(x, y)

K2(x, y;h) = f(x+ µ2h, y + λ21hK1)

λ21 = µ2

Avem deci 3 parametri α1, α2, µ. Un mod sistematic de adetermina ordinul maxim p este de a dezvolta atat Φ(x, y;h) catsi h−1[u(x+h)−u(x)] dupa puterile lui h si sa impunem coincidentaa cat mai multor termeni posibili, fara a impune restrictii asupralui f . Pentru a dezvolta Φ avem nevoie de dezvoltarea Taylor aunei functii vectoriale de mai multe variabile

f(x+ ∆x, y + ∆y) = f + fx∆x+ fy∆y+

+1

2[fxx(∆x)2 + 2fxy∆x∆y + (∆y)Tfyy(∆y)] + · · · ,

(32)unde fy este jacobianul lui f , iar fyy = [f iyy] este vectorul matricelorhessiene ale lui f . In formula de mai sus toate functiile si deri-vatele partiale se evalueaza ın (x, y). Punand ∆x = µh, ∆y = µhfobtinem

K2(x, y;h) = f + µh(fx + fyf)

+1

2µ2h2(fxx + 2fxyf + fTfyyf) +O(h3)

(33)

Ecuatii diferentiale

Metode numerice

Descrierea . . .

Exemple de . . .

Metode Runge- . . .

Descrierea . . .

Monitorizarea . . .

Home Page

Title Page

JJ II

J I

Page 22 of 50

Go Back

Full Screen

Close

Quit

1

h[u(x+ h)− u(x)] = u′(x) +

1

2hu′′(x) +

1

6u′′′(x) +O(h3) (34)

unde

u′(x) = f

u′′(x) = f [1] = fx + fyf

u′′′(x) = f [2] = f [1]x + f [1]

y f = fxx + fxfyf + fyfx + (fxy + (fyf)y)f =

= fxx + 2fxyf + fTfyyf + fy(fx + fy)f

unde ın ultima ecuatie s-a utilizat

(fyf)yf = fTfyyf + f 2y f

Avem

T (x, y;h) = α1K1 + α2K2 −1

h[u(x+ h)− u(x)]

ın care ınlocuim (33) si (34). Gasim

T (x, y;h) = (α1 + α2 − 1)f +

(α2µ−

1

2

)h(fx + fyf)+

+1

2h2

[(α2µ

2 −1

3

)(fxx + 2fxyf + fTfyyf)−

1

3fy(fx + fyf)

]+O(h3)

(35)

Ecuatii diferentiale

Metode numerice

Descrierea . . .

Exemple de . . .

Metode Runge- . . .

Descrierea . . .

Monitorizarea . . .

Home Page

Title Page

JJ II

J I

Page 23 of 50

Go Back

Full Screen

Close

Quit

Nu putem impune asupra coeficientul lui h2 conditia ca el safie zero decat daca impunem restrictii severe asupra lui f . Astfelordinul maxim este 2 si el se obtine pentru{

α1 + α2 = 1α2µ = 1

2

Solutia

α1 = 1− α2

µ =1

2α2

depinde de un parametru, α2 6= 0, arbitrar.Pentru α2 = 1 avem metoda lui Euler modificata, iar pentru

α2 = 12

metoda lui Heun.Vom mentiona formula Runge-Kutta clasica de ordin p = 4.

Φ(x, y;h) = 16(K1 + 2K2 + 2K3 +K4)

K1(x, y;h) = f(x, y)K2(x, y;h) = f

(x+ 1

2h, y + 1

2hK1

)K3(x, y;h) = f

(x+ 1

2h, y + 1

2hK2

)K4(x, y;h) = f(x+ h, y + hK3)

(36)

Daca f nu depinde de y, atunci (36) coincide cu formula luiSimpson. Runge a avut ideea de a generaliza formula lui Simpson

Ecuatii diferentiale

Metode numerice

Descrierea . . .

Exemple de . . .

Metode Runge- . . .

Descrierea . . .

Monitorizarea . . .

Home Page

Title Page

JJ II

J I

Page 24 of 50

Go Back

Full Screen

Close

Quit

la ecuatii diferentiale ordinare. El a reusit doar partial, formulasa avand r = 4 si p = 3. Metoda (36) a fost descoperita de Kuttaın 1901 printr-o cautare sistematica.

In cazul cand f nu depinde de y, atunci (36) se reduce laformula lui Simpson. Metoda Runge-Kutta clasica de ordinul 4pentru o grila de N+1 puncte echidistante este data de algoritmul1.

Algoritmul 1 Metoda Runge-Kutta clasica de ordinul 4Intrare: capetele a, b; numarul de pasi N ; valoarea initiala α.Iesire: N + 1 abscise t si aproximatiile w ale y ın t.h := (b− a)/N ;t0 := a;w0 := α;for i := 0 to N − 1 doK1 := hf(ti, wi);K2 := hf(ti + h/2, wi +K1/2);K3 := hf(ti + h/2, wi +K2/2);K4 := hf(ti + h,wi +K3);wi+1 := wi + (K1 + 2 ∗K2 + 2 ∗K3 +K4);ti+1 := ti + h;

end for

Ecuatii diferentiale

Metode numerice

Descrierea . . .

Exemple de . . .

Metode Runge- . . .

Descrierea . . .

Monitorizarea . . .

Home Page

Title Page

JJ II

J I

Page 25 of 50

Go Back

Full Screen

Close

Quit

ti Aproximante Valori exacte Eroarea0.0 1 1 00.1 1.00483750000 1.00483741804 8.19640e-0080.2 1.01873090141 1.01873075308 1.48328e-0070.3 1.04081842200 1.04081822068 2.01319e-0070.4 1.07032028892 1.07032004604 2.42882e-0070.5 1.10653093442 1.10653065971 2.74711e-0070.6 1.14881193438 1.14881163609 2.98282e-0070.7 1.19658561867 1.19658530379 3.14880e-0070.8 1.24932928973 1.24932896412 3.25617e-0070.9 1.30656999120 1.30656965974 3.31459e-0071.0 1.36787977441 1.36787944117 3.33241e-007

Tabela 1: Rezultate numerice pentru exemplul 7

Exemplul 7 Utilizand metoda Runge-Kutta de ordinul 4 pentrua aproxima solutia problemei Cauchy

y′ = −y + t+ 1, t ∈ [0, 1]

y(0) = 1,

cu h = 0.1, N = 10 si ti = 0.1i se obtin rezultatele din tabelul 1.

Se obisnuieste sa se asocieze unei metode Runge-Kutta cu r

Ecuatii diferentiale

Metode numerice

Descrierea . . .

Exemple de . . .

Metode Runge- . . .

Descrierea . . .

Monitorizarea . . .

Home Page

Title Page

JJ II

J I

Page 26 of 50

Go Back

Full Screen

Close

Quit

stadii (31) tabloul

µ1 λ11 λ12 . . . λ1r

µ2 λ21 λ22 . . . λ2r

......

... . . ....

µr λr1 λr2 . . . λrr

α1 α2 . . . αr

(ın forma matriciala

µ Λ

αT

)

numit tabela Butcher . Pentru o metoda explicita µ1 = 0 si Λ estetriunghiulara inferior, cu zerouri pe diagonala. Pentru metodaRunge-Kutta clasica de ordinul patru (36) tabela Butcher este:

0 012

12

012

0 12

0

1 0 0 1 016

26

26

16

Ecuatii diferentiale

Metode numerice

Descrierea . . .

Exemple de . . .

Metode Runge- . . .

Descrierea . . .

Monitorizarea . . .

Home Page

Title Page

JJ II

J I

Page 27 of 50

Go Back

Full Screen

Close

Quit

6. Descrierea globala a metodelor cu unpas

Descrierea metodelor se face cel mai bine ın termeni de grile sifunctii grila.

O grila pe intervalul [a, b] este o multime de puncte {xn}Nn=0

astfel ıncat

a = x0 < x1 < x2 < · · · < xN−1 < xN = b, (37)

cu lungimile grilei definite prin

hn = xn+1 − xn, n = 0, 1, . . . , N − 1. (38)

Finetea grilei este masurata prin

|h| = max0≤n≤N−1

hn. (39)

Vom utiliza litera h pentru a desemna colectia de lungimi h ={hn}. Daca h1 = h2 = · · · = hN = (b − a)/N , grila se numesteuniforma, iar ın caz contrar neuniforma. O functie cu valorivectoriale v = {vn}, vn ∈ Rd, definita pe grila (37) se numestefunctie grila. Astfel, vn este valoarea functiei v ın punctul xn algrilei. Orice functie v(x) definita pe [a, b] induce o functie grilaprin restrictie. Vom desemna multimea functiilor grila pe [a, b]

Ecuatii diferentiale

Metode numerice

Descrierea . . .

Exemple de . . .

Metode Runge- . . .

Descrierea . . .

Monitorizarea . . .

Home Page

Title Page

JJ II

J I

Page 28 of 50

Go Back

Full Screen

Close

Quit

prin Γh[a, b] si pentru fiecare functie grila v = {vn} definim normasa prin

‖v‖∞ = max0≤n≤N

‖vn‖, v ∈ Γh[a, b] (40)

O metoda cu un pas – de fapt orice metoda discreta – esteo metoda care produce o functie grila u = {un} astfel ıncat u ≈y, unde y = {yn} este functia grila indusa de solutia exacta aproblemei Cauchy. Fie metoda

xn+1 = xn + hnun+1 = un + hnΦ(xn, un;hn)

(41)

unde x0 = a, u0 = y0.Pentru a clarifica analogia dintre (1) si (41) vom introduce

operatorii R si Rh care actioneaza pe C1[a, b] si respectiv pe Γh[a, b].Acestia sunt operatorii reziduali

(Rv)(x) := v′(x)− f(x, v(x)), v ∈ C1[a, b] (42)

(Rhv)n :=1

hn(vn+1 − vn)− Φ(xn, vn;hn), n = 0, 1, . . . , N − 1, (43)

unde v = {vn} ∈ Γh[a, b]. (Functia grila {(Rhv)n} nu este definitapentru n = N , dar putem lua arbitrar (Rhv)N = (Rhv)N−1). Atunciproblema Cauchy si analogul sau discret (41) se pot scrie trans-parent ca

Ry = 0 pe [a, b], y(a) = y0 (44)

Rhu = 0 pe [a, b], u0 = y0 (45)

Ecuatii diferentiale

Metode numerice

Descrierea . . .

Exemple de . . .

Metode Runge- . . .

Descrierea . . .

Monitorizarea . . .

Home Page

Title Page

JJ II

J I

Page 29 of 50

Go Back

Full Screen

Close

Quit

De notat ca operatorul rezidual (43) este strans ınrudit cueroarea locala de trunchiere (5) cand aplicam operatorul ıntr-un punct (xn, y(xn)) pe traiectoria solutiei exacte. Atunci, ıntr-adevar, solutia de referinta u(t) coincide cu solutia y(t) si

(Rhy)n =1

hn[y(xn+1)− y(xn)]− Φ(xn, y(xn);hn) =

= −T (xn, y(xn);hn). (46)

Ecuatii diferentiale

Metode numerice

Descrierea . . .

Exemple de . . .

Metode Runge- . . .

Descrierea . . .

Monitorizarea . . .

Home Page

Title Page

JJ II

J I

Page 30 of 50

Go Back

Full Screen

Close

Quit

6.1. Stabilitatea

Fie metodaxn+1 = xn + hnun+1 = un + hnΦ(xn, un;hn)

(47)

unde x0 = a, u0 = y0.Stabilitatea este o proprietate numai a schemei numerice (47)

si nu are nimic de-a face apriori cu puterea de aproximare. Eacaracterizeaza robustetea schemei ın raport cu perturbatii mici.Totusi stabilitatea combinata cu consistenta conduce la conver-genta solutiei numerice catre solutia adevarata. Definim stabili-tatea ın termeni de operatori reziduali discreti Rh ın (43). Ca deobicei, presupunem ca Φ(x, y;h) este definita pe [a, b]×Rd× [0, h0],unde h0 > 0 este un numar pozitiv adecvat.

Definitia 8 Metoda (47) se numeste stabila pe [a, b] daca existao constanta K > 0 care nu depinde de h astfel ıncat pentruo grila arbitrara h pe [a, b] si pentru doua functii grila arbitrarev, w ∈ Γh[a, b] are loc

‖v − w‖∞ ≤ K (‖v0 − w0‖∞ + ‖Rhv −Rhw‖∞) , v, w ∈ Γh[a, b] (48)

pentru orice h cu |h| suficient de mica. In (48) norma este definitaprin (40).

Vom numi ın continuare (48) inegalitatea de stabilitate.

Ecuatii diferentiale

Metode numerice

Descrierea . . .

Exemple de . . .

Metode Runge- . . .

Descrierea . . .

Monitorizarea . . .

Home Page

Title Page

JJ II

J I

Page 31 of 50

Go Back

Full Screen

Close

Quit

Motivatia ei este urmatoarea. Sa presupunem ca avem douafunctii grila u,w ce satisfac

Rhu = 0, u0 = y0 (49)

Rhw = ε, w0 = y0 + η0, (50)

unde ε = {εn} ∈ Γh[a, b] este o functie grila cu ‖εn‖ mic si ‖η0‖ estede asemenea mic. Putem interpreta u ∈ Γh[a, b] ca fiind rezultatulaplicarii schemei numerice (47) cu precizie infinita, ın timp cew ∈ Γh[a, b] ar putea fi solutia lui (47) ın aritmetica ın virgulaflotanta. Atunci, daca stabilitatea are loc, avem

‖u− w‖∞ ≤ K(‖η0‖∞ + ‖ε‖∞), (51)

adica, schimbarea locala ın u este de acelasi ordin de marimeca si eroarea reziduala locala {εn} si eroarea initiala η0. Trebuieapreciat, totusi, ca prima ecuatie ın (50) spune

wn+1 − wn − hnΦ(xn, wn, hn) = hnεn,

ınsemnand ca erorile de rotunjire trebuie sa tinda catre zero atuncicand |h| → ∞.

Ecuatii diferentiale

Metode numerice

Descrierea . . .

Exemple de . . .

Metode Runge- . . .

Descrierea . . .

Monitorizarea . . .

Home Page

Title Page

JJ II

J I

Page 32 of 50

Go Back

Full Screen

Close

Quit

Interesant, pentru stabilitate este necesara doar o conditieLipschitz asupra lui Φ.

Teorema 9 Daca Φ(x, y;h) satisface o conditie Lipschitz ın ra-port cu variabila y,

‖Φ(x, y;h)− Φ(x, y∗;h)‖ ≤M‖y − y∗‖ pe [a, b]× Rd × [0, h0], (52)

atunci metoda (47) este stabila.

Vom pregati demonstratia prin urmatoarea lema utila.

Ecuatii diferentiale

Metode numerice

Descrierea . . .

Exemple de . . .

Metode Runge- . . .

Descrierea . . .

Monitorizarea . . .

Home Page

Title Page

JJ II

J I

Page 33 of 50

Go Back

Full Screen

Close

Quit

Lema 10 Fie {en} o secventa de numere, en ∈ R, ce satisface

en+1 ≤ anen + bn, n = 0, 1, . . . , N − 1 (53)

unde an > 0 si bn ∈ R. Atunci

en ≤ En, En =

(n−1∏k=0

ak

)e0 +

n−1∑k=0

(n−1∏`=k+1

a`

)bk, n = 0, 1, . . . , N

(54)

Adoptam aici conventia uzuala ca un produs vid are valoarea1 si o suma vida are valoarea 0.

Demonstratia lemei 10. Se verifica ca

En+1 = anEn + bn, n = 0, 1, . . . , N − 1, E0 = e0.

Scazand aceasta din (53) se obtine

en+1 − En+1 ≤ an(en − En), n = 0, 1, . . . , N − 1.

Acum, e0 − E0 = 0, asa ca e1 − E1 ≤ 0, caci a0 > 0. Prin inductie,mai general, en − En ≤ 0, deoarece an−1 > 0.

Ecuatii diferentiale

Metode numerice

Descrierea . . .

Exemple de . . .

Metode Runge- . . .

Descrierea . . .

Monitorizarea . . .

Home Page

Title Page

JJ II

J I

Page 34 of 50

Go Back

Full Screen

Close

Quit

Demonstratia teoremei 9. Fie h = {hn} o grila arbitrara pe[a, b] si v, w ∈ Γh[a, b] doua functii grila cu valori vectoriale arbitrare.Din definitia lui Rh putem scrie

vn+1 = vn + hnΦ(xn, vn;hn) + hn(Rhv)n, n = 0, 1, . . . , N − 1

si similar pentru wn+1. Scazandu-le obtinem

vn+1 − wn+1 = vn − wn + hn[Φ(xn, vn;hn)− Φ(xn, wn;hn)]+

+ hn[(Rhv)n − (Rhw)n], n = 0, 1, . . . , N − 1. (55)

Definim acum

en = ‖vn − wn‖, dn = ‖(Rhv)n − (Rhw)n‖, δ = ‖dn‖∞. (56)

Utilizand inegalitatea triunghiului ın (55) si conditia Lipschitz(56) pentru Φ obtinem

en+1 ≤ (1 + hnM)en + hnδ, n = 0, 1, . . . , N − 1 (57)

Aceasta este inegalitatea (53) cu an = 1 + hnM , bn = hnδ. Deoa-rece k = 0, 1, . . . , n− 1, n ≤ N avem

n−1∏`=k+1

a` ≤n−1∏`=0

a` =

N−1∏`=0

(1 + h`M) ≤N−1∏`=0

eh`M

= e(h0+h1+···+hN−1)M = e(b−a)M ,

Ecuatii diferentiale

Metode numerice

Descrierea . . .

Exemple de . . .

Metode Runge- . . .

Descrierea . . .

Monitorizarea . . .

Home Page

Title Page

JJ II

J I

Page 35 of 50

Go Back

Full Screen

Close

Quit

unde ın a doua inegalitate a fost utilizata inegalitatea clasica1 + x ≤ ex, din lema 10 se obtine ca

en ≤ e(b−a)Me0 + e(b−a)M

n−1∑k=0

hkδ ≤

≤ e(b−a)M(e0 + (b− a)δ), n = 0, 1, . . . , N − 1.

De aceea

‖e‖∞ = ‖v − w‖∞ ≤ e(b−a)M(‖v0 − w0‖+ (b− a)‖Rhv −Rhw‖∞),

care este (48) cu K = e(b−a)M max{1, b− a}.Am demonstrat de fapt stabilitatea pentru orice |h| ≤ h0, nu

numai pentru h suficient de mic.Toate metodele cu un pas utilizate ın practica satisfac o conditie

Lipschitz daca f satisface o astfel de conditie si constanta M pen-tru Φ poate fi aproximata cu ajutorul constantei L pentru f . Esteevident pentru metoda lui Euler si nu este dificil de demonstratpentru celelalte. Este util de observat ca Φ nu este nevoie sa fiecontinua ın x; continuitatea pe portiuni fiind suficienta atat timpcat (52) are loc pentru orice x ∈ [a, b], luand limitele laterale ınpunctele de discontinuitate.

Ecuatii diferentiale

Metode numerice

Descrierea . . .

Exemple de . . .

Metode Runge- . . .

Descrierea . . .

Monitorizarea . . .

Home Page

Title Page

JJ II

J I

Page 36 of 50

Go Back

Full Screen

Close

Quit

6.2. Convergenta

Stabilitatea este un concept puternic. Ea implica aproape imediatconvergenta si este un instrument de deducere a estimarii eroriiglobale. Vom ıncepe prin a defini precis ce ınseamna convergenta.

Definitia 11 Fie a = x0 < x1 < x2 < · · · < xN = b o grila pe [a, b]cu lungimea grilei |h| = max

1≤n≤N(xn − xn−1). Fie u = {un} o functie

grila definita aplicand metoda (41) pe [a, b] si y = {yn} functiagrila indusa de solutia exacta a problemei Cauchy. Metoda (41)se numeste convergenta pe [a, b] daca are loc

‖u− y‖∞ → 0, cand |h| → 0 (58)

Teorema 12 Daca metoda (41) este consistenta si stabila pe[a, b], atunci ea converge. Mai mult, daca Φ are ordinul p, atunci

‖u− y‖∞ = O(|h|p) cand |h| → 0. (59)

Ecuatii diferentiale

Metode numerice

Descrierea . . .

Exemple de . . .

Metode Runge- . . .

Descrierea . . .

Monitorizarea . . .

Home Page

Title Page

JJ II

J I

Page 37 of 50

Go Back

Full Screen

Close

Quit

Demonstratie. Din inegalitatea de stabilitate (48) aplicatafunctiilor grila v = h si w = y din definitia 11 avem pentru |h|suficient de mic

‖u− y‖∞ ≤ K(‖u0 − y(x0)‖+ ‖Rhu−Rhy‖∞) = K‖Rhy‖ (60)

deoarece u0 = y(x0) si Rhu = 0 conform (41). Dar din (46)

‖Rhy‖∞ = ‖T (·, y;h)‖∞ (61)

unde T este eroare de trunchiere a metodei Φ. Din definitiaconsistentei

‖T (·, y;h)‖∞ → 0, cand |h| → 0,

ceea ce demonstreaza prima parte a teoremei. Partea a douarezulta imediat din (60) si (61), deoarece ordinul p, prin definitiaınseamna ca

‖T (·, y;h)‖∞ = O(|h|p), cand |h| → 0. (62)

Ecuatii diferentiale

Metode numerice

Descrierea . . .

Exemple de . . .

Metode Runge- . . .

Descrierea . . .

Monitorizarea . . .

Home Page

Title Page

JJ II

J I

Page 38 of 50

Go Back

Full Screen

Close

Quit

7. Controlul pasului

7.1. Estimarea erorii globale

Teorema 13 Presupunem ca

(1) Φ(x, y;h) ∈ C2([a, b]× Rd × [0, h0]

);

(2) Φ este o metoda de ordin p ≥ 1 ce admite o functie de eroareprincipala τ(x, y) ∈ C1

([a, b]× Rd

);

(3) este disponibila o estimatie r(x, y;h) pentru functie de eroareprincipala ce satisface

r(x, y;h) = τ(x, y) +O(h), h→ 0, (63)

uniform pe [a, b]× Rd;

(4) odata cu functia grila u = {un} generam functia grila v = {vn}ın modul urmator

xn+1 = xn + h;

un+1 = un + hΦ(xn, un;h)

vn+1 = vn + h [fy(xn, vn)vn + r(xn, un;h)]

x0 = a, u0 = y0, v0 = 0.

(64)

Atunci pentru orice n = 0, N − 1,

un − y(xn) = vnhp +O(hp+1), cand h→ 0. (65)

Ecuatii diferentiale

Metode numerice

Descrierea . . .

Exemple de . . .

Metode Runge- . . .

Descrierea . . .

Monitorizarea . . .

Home Page

Title Page

JJ II

J I

Page 39 of 50

Go Back

Full Screen

Close

Quit

7.2. Estimarea erorii de trunchiere

Pentru a aplica teorema 13 avem nevoie de estimari r(x, y;h) alefunctiei de eroare principala τ(x, y) care sa aiba precizia O(h).Vom da o singura clasa, cea a metodelor imbricate.

Ideea de baza a aceste abordari este urmatoarea: se considerao metoda Φ de ordinul p si o metoda Φ∗ de ordinul p∗ = p + 1 sise defineste

r(x, y;h) =1

hp[Φ(x, y;h)− Φ∗(x, y;h)]. (66)

Acesta este un estimator acceptabil, asa cum rezulta scazandrelatiile

Φ(x, y;h)−1

h[u(x+ h)− u(x)] = τ(x, y)hp +O(hp+1)

Φ∗(x, y;h)−1

h[u(x+ h)− u(x)] = O(hp+1)

si ımpartind rezultatul cu hp.Cheia problemei este de a face aceasta procedura eficienta.

Urmand o idee a lui Fehlberg, putem ıncerca sa facem aceastaincluzand un proces Runge-Kutta de ordinul p ın altul de ordinp + 1. Mai concret, fie Φ o metoda Runge-Kutta explicita ın r

Ecuatii diferentiale

Metode numerice

Descrierea . . .

Exemple de . . .

Metode Runge- . . .

Descrierea . . .

Monitorizarea . . .

Home Page

Title Page

JJ II

J I

Page 40 of 50

Go Back

Full Screen

Close

Quit

stadii

K1(x, y) = f(x, y)

Ks(x, y;h) = f

x+ µsh; y + hs−1∑j=1

λsjKj

, s = 2, 3, . . . , r

Φ(x, y;h) =r∑s=1

αsKs

Atunci pentru Φ∗ alegem un proces similar ın r∗-stadii, cu r∗ > r,astfel ıncat

µ∗s = µs, λ∗sj = λsj, pentru s = 2, 3, . . . , r.

Estimarea (66) costa atunci din r∗ − r evaluari suplimentare alelui f . Daca r∗ = r + 1 putem ınca sa mai facem economii deevaluari suplimentare, selectand (daca este posibil)

µ∗r = 1, λ∗rj = αj pentru j = 1, r∗ − 1 (r∗ = r + 1) (67)

Atunci, ıntr-adevar, K∗r va fi identic cu K1 pentru pasul urmator.Perechi de astfel de formule Runge-Kutta imbricate (p, p + 1)

au fost dezvoltate la sfarsitul anilor ’60 de E. Fehlberg[5, 6]. Esteun grad considerabil de libertate ın alegerea acestor parametri.Alegerile lui Fehlberg au fost ghidate de ıncercarea de a reduce

Ecuatii diferentiale

Metode numerice

Descrierea . . .

Exemple de . . .

Metode Runge- . . .

Descrierea . . .

Monitorizarea . . .

Home Page

Title Page

JJ II

J I

Page 41 of 50

Go Back

Full Screen

Close

Quit

marimea coeficientilor tututor derivatelor partiale care intervin ınfunctia de eroare principala τ(x, y) a lui Φ. El a reusit sa obtinapentru parametrii p, r, r∗ valorile date ın tabela 2

p 3 4 5 6 7 8r 4 5 6 8 11 15r∗ 5 6 8 10 13 17

Tabela 2: Formule Runge-Kutta imbricate

Pentru procesul de ordinul 3 (si numai pentru acesta) se potalege parametrii astfel ca sa aiba loc si (67).

7.3. Controlul pasului

Orice estimare r(x, y;h) a functiei de eroare principala τ(x, y) im-plica o estimare

hpr(x, y;h) = T (x, y;h) +O(hp+1) (68)

a erorii locale de trunchiere, care poate fi utilizata pentru a mo-nitoriza eroarea de trunchiere ın timpul procesului de integrare.Totusi, trebuie avut ın vedere faptul ca eroarea locala de trun-chiere este chiar diferita de eroarea globala, eroare pe care vremde fapt sa o controlam. Pentru a obtine o mai buna cunoastere

Ecuatii diferentiale

Metode numerice

Descrierea . . .

Exemple de . . .

Metode Runge- . . .

Descrierea . . .

Monitorizarea . . .

Home Page

Title Page

JJ II

J I

Page 42 of 50

Go Back

Full Screen

Close

Quit

a relatiei dintre aceste doua erori reamintim teorema urmatoare,care cuantifica continuitatea solutiei problemei Cauchy ın raportcu valorile initiale.

Teorema 14 Fie f(x, y) continua ın x ∈ [a, b] si care satisface oconditie Lipschitz cu constanta L, uniform pe [a, b]× R, adica

‖f(x, y)− f(x, y∗)‖ ≤ L ‖y − y∗‖ .

Atunci problema Cauchy

dy

dx= f(x, y), x ∈ [a, b],

y(c) = yc

(69)

are o solutie unica pentru orice c ∈ [a, b] si orice yc ∈ Rd. Fie y(x, s)si y(x; s∗) solutiile lui (69) ce corespund lui yc = s si respectivyc = s∗. Atunci, pentru orice norma vectoriala ‖.‖,

‖y(x; s)− y(x; s∗)‖ ≤ eL|x−c| ‖s− s∗‖ . (70)

Ecuatii diferentiale

Metode numerice

Descrierea . . .

Exemple de . . .

Metode Runge- . . .

Descrierea . . .

Monitorizarea . . .

Home Page

Title Page

JJ II

J I

Page 43 of 50

Go Back

Full Screen

Close

Quit

Mecanism de control al pasului: fiecare pas de integrare (dela xn la xn+1 = xn + hn) consta din urmatoarele parti:

1. Estimam hn.

2. Se calculeaza un+1 = un + hnΦ(xn, un;hn) si r(xn, un;hn).

3. Se testeaza daca hpn‖r(xn, un;hn)‖ ≤ εT . Daca testul estesatisfacut se trece la pasul urmator. Daca nu, repetam pasulcu un hn mai mic, pana cand testul este satisfacut.

Pentru a estima hn, presupunem ca n ≥ 1, astfel ca estimatoruldin pasul precedent, r(xn−1, un−1;hn−1) (sau cel putin norma sa) safie disponibil. Atunci, neglijand termenul O(h),

‖τ(xn−1, un−1‖ ≈ ‖r(xn−1, un−1;hn−1)‖,

si deoarece τ(xn, un) ≈ τ(xn−1, un−1), ın plus

‖τ(xn, un)‖ ≈ ‖r(xn−1, un−1;hn−1)‖.

Ceea ce dorim este

‖τ(xn, un)‖hpn ≈ θεT ,

unde θ este un factor de siguranta (sa zicem θ = 0.8). Eliminandτ(xn, un) gasim

hn ≈{

θεT

‖r(xn−1, un−1, hn−1)‖

}1/p

.

Ecuatii diferentiale

Metode numerice

Descrierea . . .

Exemple de . . .

Metode Runge- . . .

Descrierea . . .

Monitorizarea . . .

Home Page

Title Page

JJ II

J I

Page 44 of 50

Go Back

Full Screen

Close

Quit

De notat ca din pasul precedent avem

hpn−1‖r(xn−1, un−1;hn−1)‖ ≤ εT ,

asa cahn ≥ θ1/phn−1

si tendinta este de crestere a pasului.Daca n = 0, procedam la fel, alegand o valoare initiala h

(0)0 a

lui h0 si calculam r(x0, y0;h(0)0 ) pentru a obtine

h(1)0 =

{θεT

r(x0, y0;h(0)0 )

}1/p

.

Procesul se poate repeta odata sau de doua ori pentru a obtineestimarea finala a lui h0 si r(x0, y0;h

(0)0 ).

Pentru o descriere sintetica a metodelor Runge-Kutta cu pasvariabil tabela Butcher se completeaza cu o linie suplimentaracare serveste la calculul lui Φ∗ (si deci a lui r(x, y;h)):

µ1 λ11 λ12 . . . λ1r

µ2 λ21 λ22 . . . λ2r

......

... . . ....

µr λr1 λr2 . . . λrrα1 α2 . . . αrα∗1 α∗2 α∗r α∗r+1

Ecuatii diferentiale

Metode numerice

Descrierea . . .

Exemple de . . .

Metode Runge- . . .

Descrierea . . .

Monitorizarea . . .

Home Page

Title Page

JJ II

J I

Page 45 of 50

Go Back

Full Screen

Close

Quit

Ca exemplu, ın tabela 3 dam tabela Butcher pentru o me-toda de ordinul 2-3. Pentru deducerea elementelor tabelei a seconsulta [12, paginile 451–452].

µj λij

0 014

14

02740−189

800729800

0

1 214891

133

650891

0

αi214891

133

650891

0

α∗i5332106

0 8001053

− 178

Tabela 3: O pereche 2-3

Tabela 4 este tabela Butcher pentru metoda Bogacki-Shampine[2]. Ea sta la baza rezolvitorului ode23 din Matlab.

Un alt exemplu important este DOPRI5 sau RK5(4)7FM, opereche cu ordinele 4-5 si cu 7 stadii (tabela 5). Aceasta este opereche foarte eficienta, ea stand la baza rezolvitorului ode45 dinMatlab, dar si a altor rezolvitori importanti.

Algoritmul 2 ıncearca sa dea sugestii pentru implementareaunei metode Runge-Kutta cu pas variabil cand se cunoaste tabela

Ecuatii diferentiale

Metode numerice

Descrierea . . .

Exemple de . . .

Metode Runge- . . .

Descrierea . . .

Monitorizarea . . .

Home Page

Title Page

JJ II

J I

Page 46 of 50

Go Back

Full Screen

Close

Quit

µj λij

0 012

12

034

0 34

0

1 29

39

49

0

αi29

39

49

0

α∗i724

14

13

18

Tabela 4: Tabela Butcher pentru metoda Bogacki-Shampine

Butcher. ttol este produsul dintre tol si factorul de siguranta (0.8sau 0.9).

Ecuatii diferentiale

Metode numerice

Descrierea . . .

Exemple de . . .

Metode Runge- . . .

Descrierea . . .

Monitorizarea . . .

Home Page

Title Page

JJ II

J I

Page 47 of 50

Go Back

Full Screen

Close

Quit

µj λij

0 015

15

0310

340

940

045

4445

−5615

329

089

193726561

−253602187

644486561

−212729

0

1 90173168

−35533

467325247

49176

− 510318656

0

1 35384

0 5001113

125192

−21876784

1184

0

αi35384

0 5001113

125192

−21876784

1184

0

α∗i517957600

0 757116695

393640

− 92097339200

1872100

140

Tabela 5: Perechea inclusa RK5(4)7FM (DORPRI5)

Ecuatii diferentiale

Metode numerice

Descrierea . . .

Exemple de . . .

Metode Runge- . . .

Descrierea . . .

Monitorizarea . . .

Home Page

Title Page

JJ II

J I

Page 48 of 50

Go Back

Full Screen

Close

Quit

Algoritmul 2 metoda RK cu pas variabildone := false;loopK1,: := f(x, y);for i = 2 to s dow := y + hK:,1:i−1λTi,1:i−1; K:,i := f(x+ µih,w);

end forδ := hmax

(∣∣(α∗ − α)TK∣∣); {estimarea erorii}

β := (δ/ttol)1/(1+p); {raport lung. pas}if δ < tol then{acceptare pas} y := y + h(KαT ); x := x+ h;if done then

EXIT {terminare si iesire}end ifh := h/max(β, 0.1); {predictie pas urmator}if x+ h > xend thenx := xend − x; {reducere pas la capat} done := true;

end ifelse{respingere pas}h := h/min(β, 10); {reducere pas}if done thendone := false;

end ifend if

end loop

Ecuatii diferentiale

Metode numerice

Descrierea . . .

Exemple de . . .

Metode Runge- . . .

Descrierea . . .

Monitorizarea . . .

Home Page

Title Page

JJ II

J I

Page 49 of 50

Go Back

Full Screen

Close

Quit

Bibliografie

[1] Octavian Agratini, Ioana Chiorean, Gheorghe Coman,Trımbitas Radu, Analiza numerica si teoria aproximarii, vol.III, Presa Universitara Clujeana, 2002, coordonatori D. D.Stancu si Gh. Coman.

[2] P. Bogacki, L. F. Shampine, A 3(2) pair of Runge-Kuttaformulas, Appl. Math. Lett. 2 (1989), no. 4, 321–325.

[3] M. Crouzeix, A. L. Mignot, Analyse numerique des equationsdifferentielles, Masson, Paris, Milan, Barcelone, Mexico,1989.

[4] J. Dormand, Numerical Methods for Differential Equations.A Computational Approach, CRC Press, Boca Raton NewYork, 1996.

[5] E. Fehlberg, Klassische Runge-Kutta-Formeln funfter undsiebenter Ordnung mit Schrittweiten-Kontrolle, Computing4 (1969), 93–106, Corrigendum: ibid. 5, 184.

[6] E. Fehlberg, Klassische Runge-Kutta-Formeln vierter undniedriger Ordnung mit Schrittweiten-Kontrolle und ihreAnwendung auf Warmeleitungsprobleme, Computing 6(1970), 61–71, Corrigendum: ibid. 5, 184.

Ecuatii diferentiale

Metode numerice

Descrierea . . .

Exemple de . . .

Metode Runge- . . .

Descrierea . . .

Monitorizarea . . .

Home Page

Title Page

JJ II

J I

Page 50 of 50

Go Back

Full Screen

Close

Quit

[7] W. Gautschi, Numerical Analysis. An Introduction,Birkhauser, Basel, 1997.

[8] E. Isaacson, H. B. Keller, Analysis of numerical methods,John Wiley, New York, 1966.

[9] W. H. Press, S. A. Teukolsky, W. T. Vetterling, B. P. Flan-nery, Numerical Recipes in C, Cambridge University Press,Cambridge, New York, Port Chester, Melbourne, Sidney,1996, disponibila prin www, http://www.nr.com/.

[10] I. A. Rus, Ecuatii diferentiale, ecuatii integrale si sistemedinamice, Transilvania Press, Cluj-Napoca, 1996.

[11] I. A. Rus, P. Pavel, Ecuatii diferentiale, Editura Didactica siPedagogica, Bucuresti, 1982, editia a doua.

[12] J. Stoer, R. Burlisch, Introduction to Numerical Analysis,2nd ed., Springer Verlag, 1992.