Sunteți pe pagina 1din 46

Universitatea OVIDIUS Constant a

Facultatea de Matematic a si Informatica


Metoda diferent elor nite pentru
ecuat ii diferent iale
Lucrare de licent a
Student: Conducator Stiint ic:
-2011-
Cuprins
1 Introducere 3
2 Aproximari prin diferent e nite 5
2.1 Erori de trunchiere . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2 Aproxim ari ale derivatei nt ai folosind diferent ele nite . . . . . . . . 6
2.3 Derivate de ordinul al II - lea . . . . . . . . . . . . . . . . . . . . . . 8
2.4 Derivate de ordin superior . . . . . . . . . . . . . . . . . . . . . . . . 10
2.5 O abordare mai general a pentru a obt ine coecient ii diferent elor nite 11
3 Metoda diferent elor nite pentru probleme la limita. Aplicat ii 13
3.1 Ecuat ia c aldurii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.2 Condit ii la limita . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.3 Problema st arii de echilibru . . . . . . . . . . . . . . . . . . . . . . . 14
3.4 O metoda simpl a folosind diferent ele nite . . . . . . . . . . . . . . . 14
3.5 Eroarea de trunchiere local a . . . . . . . . . . . . . . . . . . . . . . . 17
3.6 Eroarea global a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.7 Stabilitatea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.8 Consistent a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.9 Convergent a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.10 Stabilitatea n norma 2 . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.11 Funct iile Green si stabilitatea n norma . . . . . . . . . . . . . . . 22
3.12 Condit iile la limit a Neumann . . . . . . . . . . . . . . . . . . . . . . 26
3.13 Existent a si unicitatea . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.14 O ecuat ie liniar a generala de ordinul doi . . . . . . . . . . . . . . . . 32
4 Metoda diferent elor nite pentru probleme cu valori init iale. Me-
toda lui Euler. Aplicat ii 35
4.1 C ateva metode numerice de baz a . . . . . . . . . . . . . . . . . . . . 35
4.2 Erori de trunchiere . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.3 Erori cu un pas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.4 Metoda seriilor Taylor . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.5 Convergent a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
4.6 Problema test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
1
4.7 Metode cu un singur pas . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.7.1 Metoda lui Euler pentru probleme liniare . . . . . . . . . . . . 41
4.7.2 Stabilitatea pentru probleme la limita . . . . . . . . . . . . . . 43
4.7.3 Metoda lui Euler pentru probleme neliniare . . . . . . . . . . 44
2
1 Introducere
Metoda diferent elor nite a fost dezvoltata de Dusinberre si se bazeaza pe utilizarea
seriilor Taylor.

In metoda diferent elor nite, sistemul de ecuat ii diferent iale sau cu derivate
part iale valabil pentru orice punct al domeniului de analiza se transform a ntr-un
sistem de ecuat ii valabile numai pentru anumite puncte ale domeniului, puncte ce
denesc ret eaua de discretizare a domeniului.
Metoda ofera avantaje mari prin prisma formularii algoritmilor numerici, a
preg atirii datelor si al timpului de calcul, dar nu permite abordarea problemelor
av and complexitate geometrica ridicat a din cauza restrict iilor impuse asupra formei
celulelor.
Dezavantajul principal al acestei metode l constituie utilizarea unei ret ele
rectangulare de discretizare a domeniului de analiza. Deci folosirea ei pe dome-
nii cu contururi sau suprafet e curbe introduce o serie de dicult at i si de articii
de calcul. Totodat a apar numeroase probleme de stabilitate si de convergent a a
solut iilor, fapt ce impune determinarea condit iilor specice de aparit ie si respectiv,
de evitare a lor, pentru ecare clas a de probleme.
Scopul nostru este de a aproxima solut iile ecuat iilor diferent iale, de exemplu, s a
g asim o funt ie (sau o anumit a aproximare discret a la aceasta funct ie), care satisface
o relat ie dat a ntre diferitele derivate ale sale pe anumite regiuni de spat iu si/sau de
timp, mpreun a cu unele condit ii la limita de-a lungul marginilor acestui domeniu.
Metoda diferent elor nite stabileste un sistem de ecuat ii algebrice care
aproximeaz a solut ia (de regul a funct ia potent ial) printr-un numar nit de valori
n puncte discrete ale domeniului de camp, reprezent and noduri ale unei ret ele uni-,
bi- sau tri- dimensionale, dupa cum problema este n 1D, n 2D saun 3D. Caracterul
liniar sau neliniar al sistemului algebric obt inut este dat de relat ia constitutiva. Me-
toda diferent elor nite implic a alegerea unei ret ele, n ale carei noduri vor denite
valorile funct iei potent ial cu care se descrie solut ia. Ret eaua multidimensionala se
alege, de regul a, ortogonal a. Ea poate carteziana, polara, sferic a, sau chiar curbi-
linie. Aici se va aborda numai cazul ret elei carteziene, cea mai des folosita. Ret eaua
pote avea pas neuniform si se recomand a ca ea s a e astfel construit a nc at frontiera
domeniului si liniile sau suprafet ele de discontinuitate a propriet at ilor de material
s a e formate din laturi si/sau diagonale n 2D, respectiv din fet e si/sau patrula-
tere formate din muchii si diagonale n 3D. Ret eaua cu pas constant dupa ecare
direct ie (o coordonat a) asigur a o mai buna precizie de aproximare prin diferent e si o
convergent a mai bun a a procesului de calcul.

In primul capitol al acestei lucrari
prezent am aproxim arile derivatelor de ordinul nt ai, doi si superior si obt inerea
coecient ilor diferent elor nite.

In cel de-al doilea capitol abord am problemele cu
valori la limita, iar, n schimb, n cel de-al treilea capitol prezentam problemele cu
3
valori init iale si abordam metoda lui Euler.
4
2 Aproximari prin diferent e nite
2.1 Erori de trunchiere
Fie u(x) o funct ie de o variabil a care, n lipsa unor dispozit ii contrare, va ntotdeauna
presupus a a bun a, ceea ce nseamna ca putem diferent ia funct ia de mai multe ori
si ecare derivata este o funct ie la limit a bine denit a pe un interval care cont ine
un anumit punct de interes x.
S a presupunem c a vrem s a aproxim am u

( x) de catre o aproximare a diferent elor


nite bazat a doar pe valorile lui u la un num ar nit de puncte aproape de x. O
alegere evident a ar utilizarea
D
+
u( x)
u( x + h) u( x)
h
(2.1)
pentru unele valori mici ale lui h. D
+
u( x) este panta liniei de interpolare u la
punctele x si x + h.
Expresia 2.1 este o aproximare unilaterala la u

deoarece u este evaluata doar


la valorile lui x x. O alta aproximare unilateral a ar
D

u( x)
u( x) u( x h)
h
. (2.2)
Fiecare dintre aceste formule ofera o aproximare la u

( x) care are precizia de


ordinul nt ai , ceea censeamn a c a m arimea de eroare este aproximativ proport ional a
cu h n sine.
O alta posibilitate este de a utiliza aproximarea centrata
D
0
u( x)
u( x + h) u( x h)
2h
=
1
2
(D
+
u( x) + D

u( x)). (2.3)
Aceasta este panta liniei de interpolare u la x h si x + h si este media celor
dou a aproxim ari unilaterale denite mai sus. Ne astept am ca D
0
u( x) s a dea o
aproximare mai bun a decat oricare dintre aproxim arile unilaterale. De fapt, acesta
d a o aproximare care are precizia de ordinul doi - eroarea este proport ional a
cu h
2
si, prin urmare, este mult mai mic a dec at eroarea aproxim arii de prin ordin,
unde h este mic.
Alte aproxim ari sunt, de asemenea, posibile, de exemplu,
D
3
u( x)
1
6h
[2u( x + h) + 3u( x) 6u( x h) + u( x 2h)]. (2.4)
5
Abordarea standard pentru a analiza eroarea ntr-o aproximare prin diferent e
nite este de a dezvolta ecare dintre valorile funt iei lui u ntr-o serie Taylor n jurul
punctului x, adica:
u( x + h) = u( x) + hu

( x) +
1
2
h
2
u

( x) +
1
6
h
3
u

( x) + O(h
4
) (2.5)
u( x h) = u( x) hu

( x) +
1
2
h
2
u

( x)
1
6
h
3
u

( x) + O(h
4
) (2.6)
Folosirea lui 2.5 ne permite sa calcul am
D
+
u( x) =
u( x + h) u( x)
h
= u

( x) +
1
2
hu

( x) +
1
6
h
2
u

( x) + O(h
3
).

In mod similar, din 2.6, putem calcula ca eroarea n D

u( x) este
D

u( x) u

( x) =
1
2
hu

( x) +
1
6
h
2
u

( x) + O(h
3
).
Combin and 2.5 si 2.6 observam c a
u( x + h) u( x h) = 2hu

( x) +
1
3
h
3
u

( x) + O(h
5
)
si deci
D
0
u( x) u

( x) =
1
6
h
2
u

( x) + O(h
4
). (2.7)
Pentru a analiza D
3
u avem nevoie s a dezvoltam de asemenea u( x 2h) ca
u( x 2h) = u( x) 2hu

( x) +
1
2
(2h)
2
u

( x)
1
6
(2h)
3
u

( x) + O(h
4
). (2.8)
Combin and aceasta cu 2.5 si 2.6 observ am ca
D
3
u( x) = u

( x) +
1
12
h
3
u
(4)
( x) + O(h
4
), (2.9)
unde u
(4)
este derivata de ordin patru a lui u.
2.2 Aproximari ale derivatei ntai folosind diferent ele nite
Presupunem ca vrem s a aproxim am u

( x) folosind diferent ele nite, pe baza unor


mult imi de puncte date. Putem folosi seriile Taylor pentru a obt ine o formul a
adecvata, folosind metoda coecient ilor nedeterminat i.
6
2.1. Exemplu 2.1. Sa presupunem ca dorim o aproximare a lui u

( x) pe baza lui
u( x), u( x h), u( x 2h) de forma
D
2
u( x) = au( x) + bu( x h) + cu( x 2h). (2.10)
Putem determina coecient ii a, b si c pentru a oferi precizia cea mai buna prin
dezvoltarea n serie Taylor si adunarea termenilor. Folosind 2.6 si 2.8 n 2.10,
obt inem
D
2
u( x) = (a+b+c)u( x)(b+2c)hu

( x)+
1
2
(b+4c)h
2
u

( x)
1
6
(b+8c)h
3
u

( x)+ .
(2.11)
Punem condit iile:
a + b + c = 0,
b + 2c =
1
h
,
b + 4c = 0. (2.12)
Rezolvarea acestui sistemul liniar ne d a:
a =
3
2h
, b =
2
h
, c =
1
2h
(2.13)
astfel ca formula este
D
2
u( x) =
1
2h
[3u( x) 4u( x h) + u( x 2h)]. (2.14)
Eroarea n aceast a aproximat ie este
D
2
u( x) u( x) =
1
6
(b + 8c)h
3
u

( x) +
=
1
12
h
2
u

( x) + O(h
3
). (2.15)
Exist a si alte modalitat i pentru a obt ine aceleasi aproximat ii pentru diferent ele
nite. O modalitate este de a aproxima funct ia u(x) cu polinoame p(x) si apoi
folosind p

( x) ca o aproximat ie pentru u

( x). Dac a vom determina polinomul de


interpolare al lui u ntr-o mult ime corespunz atoare de puncte, atunci vom obt ine
aceleasi metode pentru diferent ele nite ca mai sus.
7
2.2. Exemplu 2.2. Pentru a obt ine metoda de la Exemplul 1.1 n acest fel, e p(x)
polinomul patratic care interpoleaza u n x, x h, x 2h, si apoi calculam p

( x).
Rezultatul este exact (2.14).
2.3 Derivate de ordinul al II - lea
Aproximat ia derivatei a doua u

( x) poate obt inutantr-un mod analog. Aproximat ia


standard centrat a de ordinul al II - lea este dat a de
D
2
u( x) =
1
h
2
[u( x h) 2u( x) + u( x + h)]
= u

( x) +
1
12
h
2
u

( x) + O(h
4
). (2.16)
Din nou, deoarece aceasta este o aproximare simetric centrat a, tot i termenii
de ordin impar dispar. Aceast a aproximare poate , de asemenea, obt inuta prin
metoda coecient ilor nedeterminat i, sau alternativ, prin calcularea derivatei a doua
a polinomului p atratic de interpolare pentru u(x) n x h, x si x + h, asa cum se
procedeaz a n Exemplul 2.3 de mai jos pentru o generalitate mai mare a cazului de
puncte inegal distribuite.
Un alt mod de a obt ine aproximari pentru derivatele de ordin superior este
aplicarea n mod repetat a diferent elor de ordin nt ai. Asa cum a doua derivata este
derivata lui u

, putem vedea D
2
u( x) ca ind diferent a primei diferent e. De fapt,
D
2
u( x) = D
+
D

u( x)
din moment ce
D
+
(D

u( x)) =
1
h
[D

u( x + h) D

u( x)]
=
1
h
__
u( x + h) u( x)
h
_

_
u( x) u( x h)
h
__
= D
2
u( x). (2.17)
Alternativ, D
2
u( x) = D

D
+
u( x), sau putem vedea, de asemenea, D
2
u( x) ca o
diferent a centrata de diferent e centrate, dac a folosim un pas de dimensiune h/2 n
ecare aproximat ie centrat a a primei derivate.
8
Dac a denim

D
0
u( x) =
1
h
_
u
_
x +
h
2
_
u
_
x
h
2
__
,
atunci obt inem ca

D
0
(

D
0
u( x)) =
1
h
__
u( x + h) u( x)
h
_

_
u( x) u( x h)
h
__
= D
2
u( x). (2.18)
2.3. Exemplu 2.3. Sa presupunem ca vrem sa aproximam u

(x
2
) pe baza valorilor
date U
1
, U
2
si U
3
, n trei puncte inegal distant ate x
1
, x
2
si x
3
. Fie h
1
= x
2
x
1
si
h
2
= x
3
x
2
. Aproximarea poate gasita prin interpolarea cu o funct ie patratica si
derivarea de doua ori. Folosind forma lui Newton a polinomului de interpolare
p(x) = U[x
1
] + U[x
1
, x
2
](x x
1
) + U[x
1
, x
2
, x
3
](x x
1
)(x x
2
),
observam ca a doua derivata este constanta si egala cu de doua ori diferent ampart irii
ordinului doi,
p

(x
2
) = 2U[x
1
, x
2
, x
3
]
= 2
_
U
3
U
2
h
2

U
2
U
1
h
1
__
(h
1
+ h
2
)
= c
1
U
1
+ c
2
U
2
+ c
3
U
3
, (2.19)
unde
c
1
=
2
h
1
(h
1
+ h
2
)
, c
2
=
2
h
1
h
2
, c
3
=
2
h
2
(h
1
+ h
2
)
. (2.20)
Aceasta ar aproximarea noastra pentru u

(x
2
). Acelasi rezultat poate g asit
prin metoda coecient ilor nedeterminat i.
Pentru a calcula eroarea n aceasta aproximat ie, putem dezvolta u(x
1
) si u(x
3
)
n serie Taylor n jurul lui x
2
si g asim ca
c
1
u(x
1
)+c
2
u(x
2
)+c
3
u(x
3
)u

(x
2
) =
1
3
(h
2
h
1
)u
(3)
(x
2
)+
1
12
_
h
3
1
+ h
3
2
h
1
+ h
2
_
U
(4)
(x
2
)+ .
(2.21)
9

In general, dac a h
1
= h
2
, eroarea este proport ional a cu max(h
1
, h
2
) si aceast a
aproximare are precizia de ordinul nt ai.

In cazul particular h
1
= h
2
(puncte echidistante), aproximat ia 2.19 se reduce
la aproximat ia standard centrat a din relat ia 2.16 cu eroarea de ordinul doi ar atat a
acolo.
2.4 Derivate de ordin superior
Aproxim arile folosind diferent ele nite pentru derivatele de ordin superior pot ,
de asemenea, obt inute folosind orice abordare prezentat a mai sus.Aproxim arile prin
diferent e repetate pentru derivatele de ordin inferior reprezint a o abordare deosebit
de simpla.
2.4. Exemplu 3.4. Ca un exemplu, prezentam doua aproximari diferite pentru
u

( x). Prima este necentrata si are precizia de primul ordin:


D
+
D
2
u( x) =
1
h
3
(u( x + 2h) 3u( x + h) + 3u( x) u( x h))
= u

( x) +
1
2
hu

( x) + O(h
2
). (2.22)
Urmatoarea aproximat ie este centrata si are precizia de ordinul doi:
D
0
D
+
D

u( x) =
1
2h
3
(u( x + 2h) 2u( x + h) + 2u( x h) u( x 2h))
= u

( x) +
1
4
h
2
u

( x) + O(h
4
). (2.23)
Un alt mod de a obt ine aproxim ari folosind diferent ele nite pentru derivatele
de ordin superior este prin interpolarea cu un polinom de ordin sucient de mare
pe baza valorilor funct iei n punctele sablon dorite si apoi si apoi prin calcularea
derivatei corespunz atoare polinomului respectiv. Aceasta este, n general, o metod a
greoaie de a face acest lucru. O abordare mai simpl a, care se preteaz a bine la auto-
matizare este de a folosi metoda coecient ilor nedeterminat i.
10
2.5 O abordare mai generala pentru a obt ine coecient ii
diferent elor nite
Metoda ilustrat a n Sect iunea 1 poate extins a pentru a determina ceocient ii
diferent elor nite pentru calculul unei aproximat ii la u
(k)
( x), derivata de ordin k a
lui u(x) calculata n x, bazat pe un sablon arbitrar format din n k + 1 puncte
x
1
, . . . , x
n
. De obicei, x este unul dintre punctele sablon, dar nu neaparat.
Presupunem ca u(x) este sucient de neted a, adic a de cel put in n + 1 ori conti-
nuu diferent iabil a n intervalul care cont ine x si toate punctele sablon, astfel nc at
dezvolt arile n serie Taylor de mai jos sunt valide. Dezvolt arile n serie Taylor ale
lui u n ecare punct x
i
i 1, 2, . . . , n ne dau
u(x
i
) = u( x) + (x
i
x)u

( x) + +
1
k!
(x
i
x)
k
u
(k)
( x) + (2.24)
pentru i = 1, . . . , n. Vrem sa gasim o combinat ie liniar a a acestor valori care s a
corespund a cu u
(k)
( x) cat mai bine posibil. Deci vrem ca
c
1
u(x
1
) + c
2
u(x
2
) + + c
n
u(x
n
) = u
(k)
( x) + O(h
p
), (2.25)
unde p este c at mai mare posibil.
Urm and abordarea din Sectiunea 1, alegem coecient ii c
j
astfel nc at
1
(i 1)!
n

j=1
c
j
(x
j
x)
(i1)
=
_
1, daca i 1 = k
0, n rest
(2.26)
pentru i = 1, . . . , n. Cu condit ia c a punctele x
j
sunt distincte, acest sistem n n
Vandermonde este nesingular si are o unic a solut ie. Dac a n k (prea put ine puncte
n sablon), atunci partea dreapta si solut ia sunt am andou a vectorul zero, dar pentru
n > k coecient ii dau o aproximare potrivit a diferent elor nite.
Care este acuratet ea acestei metode? Partea dreapt a a vectorului l are pe 1 n
r andul i = k + 1, care asigur a c a aceasta combinat ie liniara aproximeaz a derivata
de ordin k. Zero-ul din alt a componenta din partea dreapta asigura c a termenii
_
n

j=1
c
j
(x
j
x)
(i1)
_
u
(i1)
( x)
se anuleaza n combinat ia liniar a a seriei Taylor pentru i 1 = k. Pentru i 1
k acest lucru este necesar pentru a obt ine precizia de prim ordin a aproximat iei
diferent ei nite. Pentru i 1 > k (care este posibil numai daca n > k + 1),
aceasta ofera anularea termenilor de ordin superior din dezvoltare si o precizie mai
mare dec at cea de ordin nt ai.

In general, ne asteptam ca ordinul de precizie al
11
aproxim arii diferent ei nite s a e de cel put in p n k. Acesta poate chiar
mai mare dac a termenii de ordin superior se reduc (cum se nt ampla adesea cu
aproxim arile centrate, de exemplu).
12
3 Metoda diferent elor nite pentru probleme la
limita. Aplicat ii
3.1 Ecuat ia caldurii
Ca un exemplu specic, lu am n considerare uxul de caldur a ntr-o tija realizata
din unele materiale conduc atoare de caldur a, sub rezerva unor surse de c aldur a
externe de-a lungul lungimii sale, n unele condit ii la limit a la ecare cap at. Daca
presupunem c a propriet at ile materialului, temperatura init iala de distribut ie si sursa
variaza doar cu x, distant a de-a lungul lungimii, si nu pe orice sect iune transversal a,
atunci ne astept am ca distribut ia temperaturii n orice moment s a varieze doar cu
x. Avand n vedere c a solut ia ar putea varia n funct ie de timp, vom l asa u(x, t)
s a indice temperatura n punctul x la momentul t, n cazul n care a < x < b de-
a lungul unor lungimi nite ale tijei. Solut ia este apoi reglementata de ecuat ia
caldurii
u
t
(x, t) = (k(x)u
x
(x, t))
x
+ (x, t), (3.1)
unde k(x) este coecientul de conductibilitate termica, care poate varian funct ie
de x, si (x, t) este sursa de caldur a.
3.2 Condit ii la limita

In cazul n care materialul este omogen, atunci k(x) k este independent de x si


ecuat ia c aldurii 3.1 se reduce la
u
t
(x, t) = ku
xx
(x, t) + (x, t). (3.2)

Impreun a cu ecuat ia, avem nevoie de condit iile init iale,


u(x, 0) = u
0
(x),
si condit iile la limita, de exemplu, temperatura ar putea specicata la ecare
cap at,
u(a, t) = (t), u(b, t) = (t). (3.3)
13
Astfel de condit ii la limit a, n cazul n care valoarea de solut ie n sine este speci-
cat a, sunt numite condit ii la limita Dirichlet. Alternativ un cap at, sau ambele
capete, ar putea izolate, caz n care nu este zero uxul de c aldur a n acest scop,
si deci u
x
= 0 n acel punct. Aceast a condit ie la limit a, care este o condit ie a de-
rivatei lui u mai degraba, decat a lui u n sine, este numita o condit ie la limita
Neumann. Pentru a ncepe, vom lua n considerare problema Dirichlet pentru 3.2
cu condit iile la limit a 3.3.
3.3 Problema starii de echilibru

In general ne astept am ca distribut ia temperaturii s a se schimbe cu timpul. Cu


toate acestea, n cazul n care (x, t), (t), si (t) sunt tot timpul independente,
atunci ne-am putea astepta ca solut ia s a ajung a n cele din urm a o solut ie a starii
de echilibru u(x), care apoi r amane n esent a neschimbat a n momentele de mai
t arziu. De obicei, va exista un timp tranzitoriu init ial, dar dac a suntem interesat i
doar sa calculam solut ia starii de echilibru n sine, atunci putem stabili u
t
= 0 n
3.2 si obt inem un ODE ????????? n x pentru a rezolva pentru u(x):
u

(x) = f(x), (3.4)


unde vom introduce f(x) = (x)/k pentru a evita semnele minus de mai jos.

In cazul nostru avem condit iile la limita


u(a) = , u(b) = . (3.5)
Problemele 3.4, 3.5 sunt numite 2-puncte (BVP), din moment ce o condit ie este
specicat a la ecare dintre cele dou a puncte nale ale intervalului n care solut ia
este dorit a. Daca n schimb doua valori date au fost specicate n aceleasi puncte,
s a zicem u(a) = , u

(a) = , si vrem s a gasim solut ia pentru t a, atunci am avea


o problema a valorii init iale (IVP).
3.4 O metoda simpla folosind diferent ele nite
Ca un prim exemplu al metodei diferent elor nite pentru rezolvarea unei ecuat ii
diferent iale, lu am n considerare ecuat ia diferent iala ordinar a:
u

(x) = f(x) pentru 0 < x < 1, (3.6)


14
cu urmatoarele condit ii la limita date
u(0) = , u(1) = . (3.7)
Funct ia f(x) este data si dorim s a determin am u(x) n intervalul 0 < x < 1.
Aceast a problem a se numeste problema la limita n doua puncte, ntrucat
condit iile de frontiera sunt date n doua puncte distincte. Aceast a problema este
at at de simpla nc at o putem rezolva n mod explicit (integr am f(x) de doua ori
si alegem dou a constante de integrare, astfel ncat sa e ndeplinite condit iile la
limit a), dar studiind aceast a ecuat ie cu metoda diferent elor nite vom descoperi
c ateva dintre caracteristicile esent iale ale acestei metode, n special relat ia dintre
eroarea globala si eroarea locala de trunchiere.
Vomncerca sa calculam o funct ie ret ea constandn valorile U
0
, U
1
, . . . , U
m
, U
m+1
,
unde U
j
este aproximat ia noastra pentru solut ia u(x
j
). Luam x
j
= jh si h =
1/(m + 1) este pasul ret elei, adic a distant a ntre doua puncte ale ret elei. Din
condit iile la limit a stim c a U
0
= si U
m+1
= , deci avem m valori necunoscute
U
1
, . . . , U
m
de calculat. Dac anlocuim u

(x) n 3.6 cu aproximarea folosind diferent a


centrat a
D
2
U
j
=
1
h
2
(U
j1
2U
j
+ U
j+1
),
atunci obt inem un set de ecuat ii algebrice
1
h
2
(U
j1
2U
j
+ U
j+1
) = f(x
j
) pentru j = 1, 2, . . . , m. (3.8)
Observ am ca prima ecuat ie (j = 1) cont ine valoarea U
0
= si ultima ecuat ie
(j = m) cont ine valoarea U
m+1
= . Avem un sistem liniar de m ecuat ii cu m
necunoscute, care poate scris de forma:
AU = F, (3.9)
unde U este vectorul de necunoscute U = [U
1
, U
2
, . . . , U
m
]
T
si
A =
1
h
2
_

_
2 1
1 2 1
1 2 1
.
.
.
.
.
.
.
.
.
1 2 1
1 2
_

_
, F =
_

_
f(x
1
) /h
2
f(x
2
)
f(x
3
)
.
.
.
f(x
m1
)
f(x
m
) /h
2
_

_
. (3.10)
Acest sistem liniar tridiagonal este nesingular si poate rezolvat cu usurint a n
raport cu U pentru orice F.
C at de bine aproximeaz a U funct ia u(x)? Stim c a aproximat ia prin diferent e
centrate D
2
, c and este aplicat a la o funct ie u(x) neted a, d a o aproximare cu o
15
precizie de ordin 2 pentru u

(x). Dar aici facem ceva mai complicat - stim valorile


pentru u

pentru ecare punct si calcul am un set ntreg de valori discrete U


1
, . . . , U
m
cu proprietatea ca aplic and D
2
la aceste valori discrete obt inem valorile dorite f(x
j
).
Trebuie s a claric am ceea cent elegem noi prin eroarea valorilor discrete U
1
, . . . , U
m
relativ la solut ia u(x), care este o funct ie. Deoarece U
j
ar trebui s a aproximeze u(x
j
),
este resc s a utilizeze erorile punctuale U
j
u(x
j
). Dac a not am cu

U vectorul va-
lorilor adevarate:

U =
_

_
u(x
1
)
u(x
2
)
.
.
.
u(x
m
)
_

_
, (3.11)
atunci vectorul eroare E denit de
E = U

U
cont ine erorile din ecare punct al ret elei. Scopul nostru este acum de a obt ine o
margine a normei acestui vector, arat and ca este O(h
2
) c and h 0. Vom folosi
norma:
E

= max
1jm
|E
j
| = max
1jm
|U
j
u(x
j
)|.
Aceasta este doar cea mai mare eroare pe parcursul ntregului interval. Dac a
putem demonstra ca E

= O(h
2
), atunci rezult a c a ecare eroare punctual a va
O(h
2
) de asemenea.
Alte norme care sunt frecvent utilizate pentru a m asura eroarea sunt:
E
1
= h
m

j=1
|E
j
|
si
E
2
=
_
h
m

j=1
|E
j
|
2
_
1/2
.
Observ am factorul h care apare n aceste denit ii.
Acum s a ne ntoarcem la problema de estimare a erorii din solut ia diferent ei
nite obt inut a prin rezolvarea sistemului 3.9. Tehnica pe care o vom folosi este de
baz a pentru analiza metodelor diferent elor nite n general. Aceasta implic a dou a
etape cheie.

In primul r and vom calcula eroarea de trunchiere locala (LTE)
a metodei, iar apoi vom folosi o forma de stabilitate pentru a ar ata c a eroarea
globala poate m arginit a n termeni de LTE.
Eroarea globala se refera la eroarea U

U pe care ncerc am s a o m arginim. LTE


se refer a la eroarea din aproximarea derivatelor prin diferent e nite si, prin urmare,
16
este ceva ce poate estimat cu usurint a folosind dezvolt arile n serie Taylor. Stabi-
litatea este ingredientul care ne permite sa trecem de la marginile usor de calculat
pentru eroarea local a la estim arile pe care le vrem cu adev arat pentru eroarea glo-
bal a.
3.5 Eroarea de trunchiere locala
LTE este denita prinnlocuirea lui U
j
cu solut ia adev arata u(x
j
)n formula diferent ei
nite 3.8.

In general, solut ia adev arata u(x
j
) nu va satisface exact aceast a ecuat ie
si diferent a este LTE, care este notata prin
j
:

j
=
1
h
2
(u(x
j1
) 2u(x
j
) + u(xj + 1)) f(x
j
) (3.12)
pentru j = 1, 2, . . . , m.

In practic a, nu stim care este adevarata solut ie u(x), dar
dac a am presupune ca este neteda, prin dezvolt arile n serie Taylor, stim ca

j
=
_
u
n
(x
j
) +
1
12
h
2
u

(x
j
) + O(h
4
)
_
f(x
j
). (3.13)
Folosind ecuat ia diferent iala original a 3.6 aceasta devine

j
=
1
12
h
2
u

(x
j
) + O(h
4
).
Desi u

este necunoscut n general, este o funct ie x a independent a de h, si deci

j
= O(h
2
) cand h 0.
Dac a denim ca ind vectorul cu componentele
j
, atunci
= A

U F,
unde

U este vectorul cu valorile solut iei adev arate 3.11, si deci
A

U = F + . (3.14)
3.6 Eroarea globala
Pentru a obt ine o relat ie ntre eroarea locala si eroarea globala E = U

U, se
scade 3.14 din 3.9 care deneste U, obt in and
AE = . (3.15)
17
Aceasta este matricea sistemului de ecuat ii
1
h
2
(Ej 1 2E
j
+ E
j+1
) = (x
j
) pentru j = 1, 2, . . . , m
cu condit iile la limit a
E
0
= E
m+1
= 0
deoarece folosim condit iile la limita U
0
= si U
m+1
= . Observ am ca eroarea
global a satisface un set de ecuat ii cu diferent e nite care are exact aceeasi forma
ca ecuat iile noastre diferent iale originale pentru U cu except ia faptului c a partea
dreapt a este dat a mai degrab a de , n loc de F.
De aceea ar trebui s a e clar de ce ne asteptam ca eroarea globala sa e de
aproximativ aceeasi amploare ca eroarea local a. Putem interpreta sistemul 3.15 ca
o discretizare a ecuat iei diferent iale ordinare:
e

(x) = (x) pentru 0 < x < 1 (3.16)


cu condit iile la limit a
e(0) = 0, e(1) = 0.

Intruc at (x)
1
12
h
2
u

(x), integrand de dou a ori observam ca eroarea global a


trebuie sa e aproximativ egala cu :
e(x)
1
12
h
2
u

(x) +
1
12
h
2
(u

(0) + x(u

(1) u

(0)))
si prin urmare eroarea ar trebui s a e O(h
2
).
3.7 Stabilitatea
Argumentul de mai sus nu este pe deplin conving ator, deoarece noi ne bazam pe
ipoteza ca rezolvarea ecuat iilor cu diferent e nite ofera o aproximare decenta a
solut iei ecuat iilor diferent iale de la care plec am.
Ne uitam direct la sistemul 3.15, pe care l vom rescrie n forma
A
h
E
h
=
h
, (3.17)
unde exponentul h indic a ca suntem pe o ret ea cu pasul h. Aceasta reaminteste c a
aceste cantitat i se schimb a pe masur a ce ran am grila.

In particular, matricea A
h
este o matrice m m cu h = 1/(m + 1), astfel nc at dimensiunea sa creste c and
h 0.
18
Fie (A
h
)
1
inversa acestei matrici. Atunci, rezolvand sistemul 3.17 obt inem ca
E
h
= (A
h
)
1

h
si aplic and norma obt inem
E
h
= (A
h
)
1

(A
h
)
1

h
. (3.18)
Stim c a
h
= O(h
2
) si speram c a la fel va adev arat pentru E
h
. Este clar
de ce anume avem nevoie pentru ca aceasta sa e adevarat: avem nevoie ca (A
h
)
1

s a e marginita de anumite constante independente de h c and h 0:


(A
h
)
1
C pentru tot i h sucient de mici.
Apoi vom avea
E
h
C
h
(3.19)
si deci E
h
se duce la zero cel put in la fel de rapid ca
h
. Aceasta motiveaza
urm atoarea denit ie de stabilitate pentru problemele liniare cu valori la limita.
3.1. Denit ie. Sa presupunem ca o metoda a diferent elor nite pentru o problema
liniara cu valori la limita ofera o secvent a de ecuat ii matriciale de forma A
h
U
h
=
F
h
, unde h este pasul ret elei. Spunem ca aceasta metoda este stabil a daca (A
h
)
1
exista pentru tot i h sucient de mici (sa spunem pentru h < h
0
) si daca exista o
constanta C, independenta de h, astfel ncat
(A
h
)
1
C pentru tot i h < h
0
. (3.20)
3.8 Consistent a
Spunem ca o metoda este consistenta cu ecuat ia diferent ial a si cu condit iile la limit a
dac a

h
0 cand h 0. (3.21)
De obicei,
h
= O(h
p
) pentru un ntreg p > 0, si atunci metoda este cu sigurant a
consistent a.
19
3.9 Convergent a
Spunem c a o metod a este convergenta daca E
h
0 c and h 0. Combinand
ideile introduse mai sus,putem concluziona ca
consistent a + stabilitate convergent a. (3.22)
Acest lucru este usor de demonstrat folosind 3.20 si 3.21 pentru a obt ine margi-
nea:
E
h
(A
h
)
1

h
0 cand h 0.
Desi acest lucru a fost demonstrat doar pentru problemele la limit a liniare, de fapt,
cele mai multe analize ale metodelor diferent elor nite pentru ecuat ii diferent iale
urmeaz a aceasta aceeasi abordare pe dou a nivele, si declarat ia 3.22 este uneori nu-
mit a teorema fundamentala a metodelor diferent elor nite. De fapt, dupa cum arat a
analiza noastra de mai sus, acest lucru poate n general, nt arit prin:
eroarea de trunchiere local a O(h
p
) + stabilitate eroare globala O(h
p
). (3.23)
Consistent a (si ordinul de precizie) este, de obicei, partea cea mai usoara de
vericat. Vericarea stabilit at ii este partea cea mai grea. Chiar si pentru pro-
blemele la limit a liniare nu este deloc clar modul n care putem verica condit ia
3.20 deoarece aceste matrici devin mai mari cand h 0. Pentru alte probleme nu
poate chiar clar cum s a se deneasc a stabilitatea ntr-un mod adecvat. Dup a cum
vom vedea, exista multe denit ii ale stabilit at ii pentru diferite tipuri de probleme.
3.10 Stabilitatea n norma 2
Revenind la problema la limit a de la nceputul capitolului vom vedea c a putem
verica stabilitatea si, prin urmare, precizia de ordinul 2. Tehnica folosit a depinde
de ce norm a dorim sa lu am n considerare. Aici vom lua n considerare norma 2
si vom vedea c a putem demonstra stabilitatea n mod explicit calcul and vectorii si
valorile proprii ale matricei A.
Deoarece matricea A din 3.10 este simetrica, norma 2 a lui A este egal a cu raza
spectral a:
A
2
= (A) = max
1pm
|
p
|,
(am notat cu
p
cea de-a p valoare proprie a matricei A). Matricea A
1
este, de
asemenea, simetric a si valorile proprii ale lui A
1
sunt inversele valorilor proprii ale
20
lui A, deci
A
1

2
= (A
1
) = max
1pm
|(
p
)
1
| =
_
min
1pm
|(
p
)|
_
1
.
Deci, tot ce trebuie s a facem este s a calcul am valorile proprii ale lui A si s a arat am
c a acestea sunt m arginite de valorile diferite de zero cand h 0. Desigur, avem
o mult ime innit a de matrici A
h
pe care sa le lu am n considerare, c and h variaza,
dar din moment ce structura acestor matrici este atat de simpl a, putem obt ine o
expresie generala pentru valorile proprii ale ec arei matrice A
h
.
Ne vom concentra acum pe valoarea particular a h = 1/(m + 1) si vom renunt a
la indicele superior h pentru a simplica notat ia. Atunci, cele m valori proprii ale
lui A sunt date de

p
=
2
h
2
(cos(ph) 1) pentru p = 1, 2, . . . , m. (3.24)
Vectorul propriu u
p
corespunz ator lui
p
are componentele u
p
j
, pentru j = 1, 2, . . . , m,
date de
u
p
j
= sin(pjh). (3.25)
Acest lucru poate demonstrat prin vericarea ca Au
p
=
p
u
p
. Componenta j
a vectorului Au
p
este
(Au
p
)
j
=
1
h
2
_
u
p
j1
2u
p
j
+ u
p
j+1
_
=
1
h
2
(sin(p(j 1)h) 2 sin(pjh) + sin(p(j + 1)h))
=
1
h
2
(sin(pjh) cos(ph) 2 sin(pjh) cos(ph))
=
p
u
p
j
.
Ret inem c a pentru j = 1 si j = m cea de-a j component a a lui Au
p
arat a
usor diferit (termenul u
p
j1
sau u
p
j+1
lipseste), dar forma de mai sus si calculele
trigonometrice sunt nc a valabile cu condit ia c a vom deni
u
p
0
= u
p
m+1
= 0,
n concordant a cu 3.25. Din 3.24 observ am c a cea mai mic a valoare proprie a lui A
este

1
=
2
h
2
(cos(h) 1)
=
2
h
2
_

1
2

2
h
2
+
1
24

4
h
4
+ O(h
6
)
_
=
2
+ O(h
2
).
21
Aceasta este clar m arginit a de ceva diferit de zero cand h 0, si astfel vom vedea
c a metoda este stabila n norma 2. Mai mult dec at at at, eroarea este m arginit a de:
E
h

2
(A
h
)
1

2

1

2
.
Deoarece
h
j

1
12
h
2
u

(x
j
), ne asteptam ca
h

2

1
12
h
2
u

2
=
1
12
h
2
f

2
.
Ret inem ca vectorul propriu 3.25 este n str ans a leg atur a cu funct ia proprie
corespunz atoare operatorului diferent ial

2
x
2
. Funct iile
u
p
(x) = sin(px), p = 1, 2, 3, . . . ,
satisfac relat ia

2
x
2
u
p
(x) =
p
u
p
(x)
cu valoarea proprie
p
= p
2

2
. Aceste funct ii satisfac de asemenea u
p
(0) = u
p
(1) =
0, si prin urmare ele sunt funct ii proprii ale lui

2
x
2
pe [0, 1] cu condit ii omogene la
limit a. Aproximarea discreta a acestui operator dat de matricea A are doar m valori
proprii n loc de un numar innit, si vectorii proprii corespunzatori 3.25 sunt primele
m funct ii proprii ale lui

2
x
2
evaluate n punctele de ret ea. Valoarea proprie
p
nu
este exact la fel ca
p
, dar cel put in pentru valorile mici ale lui p este aproape aceeasi,
deoarece dezvoltarea n serie Taylor a cosinusului n 3.24 da

p
=
2
h
2
_

1
2
p
2

2
h
2
+
1
24
p
4

4
h
4
+ . . .
_
= p
2

2
+ O(h
2
) cand h 0 pentru p xat.
3.11 Funct iile Green si stabilitatea n norma

In sect iunea anterioara am demonstrat ca matricea A este stabila n norma 2, si prin


urmare E
2
= O(h
2
). S a presupunem, totusi, c a vrem o margine a eroarii maxime
pe interval, adic a o margine pentru E

= max |E
j
|. Putem obt ine o astfel de
margine direct din marginea pe care o avem pentru norma 2. Stim c a
E

h
E
2
= O(h
3/2
) cand h 0.
Cu toate acestea, acest lucru nu arat a precizia de ordinul doi pe care speram s a o
avem. Pentru a arata ca E

= O(h
2
) vom calcula n mod explicit inversa lui A
si apoi vom arata c a A
1

= O(1), si prin urmare


E

A
1

= O(h
2
)
22
deoarece = O(h
2
). Ca si n cazul valorilor proprii din ultima sect iune, putem
face acest lucru doar pentru c a problema noastr a model 3.6 este at at de simpl a.

In
general, ar imposibil sa se obt ina forma inverselor matricelor A
h
c and h variaz a.
Fiecare coloana a matricei inverse poate interpretata ca o solut ie a unei anumite
probleme cu valori la limit a. Coloanele sunt aproximari discrete ale funct iilor Green,
care sunt de obicei introduse n studiul ecuat iilor diferent iale.

Incepem prin a spune ce nseamn a funt ia Green pentru solut ia problemei:


u

(x) = f(x) pentru 0 < x < 1 (3.26)


cu condit iile la limit a Dirichlet
u(0) = , u(1) = . (3.27)
Pentru a p astra simplitatea vom presupune c a suntem pe intervalul unitate, dar
totul poate transferat la un interval oarecare [a, b].
Pentru orice punct xat x [0, 1], funct ia Green G(x; x) este funct ia de x care
rezolv a problema de mai sus cu f(x) = (x x) si = = 0 ( ind funt ionala lui
Dirac centrata n x).Putem interpreta problema ?? ca ind problema stat ionar a a
c aldurii, cu sursa (x) = f(x).Cazul f(x) = (x x) corespunde unei surse de
c aldura localizate n x. Av and condit iile la limit a u(0) = u(1) = 0, care p astreaza
temperatura stabil a la ecare cap at, ne-am astepta ca temperatura cea mai mare
s a e n punctul x si sa scad a liniar la zero pentru ecare parte (liniar, deoarece
u

(x) = 0 n afara lui x. Cu f(x) = (x x), avemn schimb o temperatura minima


n x, cresc and liniar n ecare parte, asa cum observ amn Figura 2.1. Aceast a gur a
prezint a o funct ie tipica Green G(x; x) pentru o alegere particular a a lui x. Pentru a
completa denit ia acestei funct ii trebuie s a stim valoarea minima G(x; x). Aceast a
valoare este determinat a de faptul c a saltul n acest punct trebuie sa e 1, deoarece
u

( x + ) u

( x ) =
_
x+
x
u

(x) dx
=
_
x+
x
(x x) dx
= 1. (3.28)
Funct ia liniara pe port iuni G(x; x) va dat a de
G(x; x) =
_
( x 1)x pentru 0 x x,
x(x 1) pentru x x 1.
(3.29)
Ne ntoarcem acum la studiul stabilit at ii n norma a solut iei obt inute prin
metoda diferent elor nite, care se va baza pe determinarean mod explicit a matricei
23
Figura 1: Funct ia Green G(x; x) de la 3.29
inverse a matricei care decurge din aceasta discretizare. Vom lucra cu o form a usor
diferit a a problemei algebrice liniare n care vom vedea U
0
si U
m+1
ca necunoscute
adit ionale n problem a si introducem dou a ecuat ii noi n sistem, si anume U
0
= si
u
m+1
= . Sistemul modicat are forma AU = F, unde acum
A =
1
h
2
_

_
h
2
0
1 2 1
1 2 1
.
.
.
.
.
.
.
.
.
1 2 1
1 2 1
0 h
2
_

_
, U =
_

_
U
0
U
1
U
2
.
.
.
U
m1
U
m
U
m+1
_

_
, F =
_

f(x
1
)
f(x
2
)
.
.
.
f(x
m1
)
f(x
m
)

_
.
(3.30)
Desi am putea lucra direct cu matricea de la 3.10, aceast a reformulare are doua
avantaje:
1. Separa ecuat iile algebrice corespunz atoare condit iilor la limit a de ecuat iile al-
gebrice corespunz atoare ecuat iei diferent iale u

(x) = f(x).

In sistemul 3.10,
prima si ultima ecuat ie cont in un amestec al ecuat iilor diferent iale si condit iilor
la limit a. Separarea acestor termeni va face mai clar modul n care inversa lui
A este legat a de reprezentarea funct iei Green a solut iei adev arate g asite mai
sus.
2.

In urmatoarea sect iune vom considera condit ia la limit a Neumann u

(0) =
n locul lui u(0) =

In acest caz valoarea U
0
ntr-adev ar este necunoscuta si
noua noastra formulare este usor de extins la acest caz prinnlocuirea primului
r and al lui A cu o discretizare a acestei condit ii la limit a.
24
Not am cu B matricea (m+2) (m+2) care reprezint a inversa lui A din relat ia
3.30, B = A
1
. Vom indexa elementele lui B de la B
00
p ana la B
m+1,m+1
. Notam
cu B
j
coloana j a lui B pentru j = 0, 1, . . . , m + 1. Atunci
AB
j
= e
j
,
unde e
j
este coloana j a matricei identitate. Putem vedea aceast a relat ie ca un
sistem liniar ce trebuie rezolvat n raport cu B
j
. Ret inem c a acest sistem liniar este
pur si simplu discretizarea problemei la limit a pentru o alegere special a a lui F, n
care doar un element al acestui vector este nenul. Coloana B
0
corespunde problemei
cu = 1, f(x) = 0 si = 0, si astfel ne astept am ca B
0
s a e o aproximare discret a
a funct iei G
0
(x). De fapt, prima coloan a a lui B (adic a pentru j = 0) are elementele
obt inute prin evaluarea lui G
0
n punctele ret elei:
B
i0
= G
0
(x
i
) = 1 x
i
. (3.31)
Deoarece aceasta este o funct ie liniara, operatorul cu diferent e de ornul 2 aplicat
n orice punct d a zero.

In mod similar, ultima coloan a a lui B (adic a pentru j =
m + 1) are elementele
B
i,m+1
= G
1
(x
i
) = x
i
. (3.32)
Coloanele interioare (1 j m) corespund funct iei Green pentru condit iile la
limit a zero si sursa concentrata ntr-un singur punct, deoarece F
j
= 1 si F
i
= 0
pentru i = j. Observam c a aceasta este o versiune discret a lui h(x x
j
) deoarece
ca o funct ie ret ea F este nenul a peste un interval de lungime h, dar are valoarea 1
acolo, si prin urmare are masa totala h. Astfel ne astept am ca coloana B
j
s a e o
aproximare discret a a funct iei hG(x; x
j
). De fapt, este usor de vericat c a
B
ij
= hG(x
i
; x
j
) =
_
h(x
j
1)x
i
, i = 1, 2, . . . , j,
h(x
i
1)x
j
, i = j, j + 1, . . . , m.
(3.33)
F pentru sistemul liniar poate scris ca
F = e
0
+ e
m+1
+
m

j=1
f
j
e
j
, (3.34)
si solut ia U = BF este
U = B
0
+ B
m+1
+
m

j=1
f
j
B
j
(3.35)
cu elementele
25
U
i
= (1 x
i
) + x
i
+ h
m

j=1
f
j
G(x
i
; x
j
). (3.36)
Pentru a verica stabilitatea n norma a metodei numerice, trebuie sa arat am
c a B

este uniform marginit a cand h 0. Norma innit a matricei este dat a de


B = max
0jm+1
m+1

j=0
|B
ij
|.
Prima linie din B are B
00
= 1 si B
0j
= 0 pentru j > 0, si prin urmare suma pe
linie este 1.

In mod similar, ultima linie cont ine numai zerouri, cu except ia lui
B
m+1,m+1
= 1. R andurile intermediare sunt dense si primele si ultimele elemente
(din coloanele B
0
si B
m+1
) sunt marginite de 1. Celelalte m elemente din ecare din
aceste randuri sunt toate marginite de h din relat ia 3.33, si prin urmare
m+1

j=0
|B
ij
| 1 + 1 + mh < 3
deoarece h = 1/(m + 1). Fiecare suma pe linie este m arginita de cel mult 3, si deci
A
1

< 3 pentru tot i h si stabilitatea este demonstrat a.


Reprezentarea cu ajutorul funct iei Green arata, n mod clar, efectul pe care l
are ecare eroare de trunchiere locala asupra erorii globale. Ne amintim ca eroarea
global a E este legata de eroarea de trunchiere local a prin AE = .
3.12 Condit iile la limita Neumann
S a presupunem acum ca avem una sau mai multe condit ii la limit a Neumann n loc
de condit ii la limit a Dirichlet. De exemplu, n exemplul nostru de transmitere a
c aldurii putem avea un cap at al tijei izolate, astfel ncat uxul de caldur anu trece
prin acest cap at, si, prin urmare, u

= 0 acolo. Mai general, am putea avea uxul


de caldur a dat de u

= n acest cap at.


Vom vedea n sect iunea urm atoare ca impunerea condit iilor la limita Neumann
la ambele capete d a o problem a care nu este bine pus a, care e nu are solut ie, e
solut iile sunt innit de multe.

In aceast a sect iune vom lua n considerare 3.26 cu o
singur a condit ie Neumann, s a zicem,
u

(0) = , u(1) = . (3.37)


Figura 2 arat a solut ia la aceast a problema cu f(x) = e
x
, = 0, si = 0.
26
Figura 2: (a) Solut ia pentru ecuat ia stat ionara a caldurii cu o condit ie la limita de
tip Neumann la stanga si Dirichlet la dreapta. Linia ngrosata este solut ia adevarata.
Semnul plus arata o solut ie pe o ret ea cu 20 de puncte folosind 3.38. Cerculet ele
prezinta solut ia pe aceeasi ret ea folosind 3.40. (b) O reprezentare a erorii n norma
este aratata pentru ecare caz.
Pentru a rezolva aceasta problema numeric, avem nevoie s a determin am U
0
ca
una dintre necunoscute. Dac a folosim formularea de la 3.30, atunci primul rand al
matricei A trebuie modicat dup a modelul condit iilor la limit a de la 3.37.
Prima abordare. Ca o prim a ncercare, am putea folosi pentru u

(0) aproxi-
marea unilateral a:
U
1
U
0
h
= . (3.38)
Dac a folosim aceasta ecuat ie n locul primei linii din sistemul 3.30, obt inem
urm atorul sistem de ecuat ii pentru necunoscutele U
0
, U
1
, . . . , U
m
, U
m+1
:
1
h
2
_

_
h h
1 2 1
1 2 1
1 2 1
.
.
.
.
.
.
.
.
.
1 2 1
1 2 1
0 h
2
_

_
_

_
U
0
U
1
U
2
U
3
.
.
.
U
m1
U
m
U
m+1
_

_
=
_

f(x
1
)
f(x
2
)
f(x
3
)
.
.
.
f(x
m1
)
f(x
m
)

_
. (3.39)
27
Rezolvarea acestui sistem de ecuat ii ne da o aproximare a solut iei adevarate (a se
vedea Figura 2), dar vericarea erorilor arat a c a aceasta are precizia doar de ordinul
nt ai. Problema este c a eroarea locala de trunchiere a aproxim arii 3.38 este O(h),
deoarece

0
=
1
h
2
(hu(x
1
) hu(x
0
))
= u

(x
0
) +
1
2
hu

(x
0
) + O(h
2
)
=
1
2
hu

(x
0
) + O(h
2
).
Observat ie: uneori este posibil s a a obt inem o precizie de ordinul al doilea, chiar
dac a eroarea de trunchiere local a este O(h) ntr-un singur punct, si este O(h
2
) peste
tot n rest. Acest lucru este adev arat, deoarece efectul asupra erorii globale ar

j
B
j
, unde B
j
este coloana j a inversei matricei corespunzatoare. Ca si n cazul
Dirichlet, aceast a coloan a este data de funct ia Green corespunzatoare scalat a cu h,
si deci eroarea local a O(h) ar face ca eroarea global a n ecare punct interior s a e
O(h
2
). Cu toate acestea, introducerea unei erori O(h) n
0
d a o contribut ie a lui

0
B
0
n erorea global a, si, ca si n cazul Dirichlet, aceast a prim a coloan a a lui B
cont ine elemente care sunt O(1), rezultandntr-o contribut ie O(h) la eroarea global a
n ecare punct.
A doua abordare. Pentru a obt ine o metoda cu precizia de ordinul doi, putem
folosi o aproximare centrata a lui u

(0) = n locul aproximarii unilaterale 3.38. Am


putea introduce o alt a necunoscuta U
1
si, n loc de o singur a ecuat ie 3.38, folosim
urm atoarele doua ecuat ii:
1
h
2
(U
1
2U
0
+ U
1
) = f(x
0
),
1
2h
(U
1
U
1
) = . (3.40)
Acest lucru duce la un sistem de m + 3 ecuat ii.
Introducerea necunoscutei U
1
n afara intervalului [0, 1] n care se pune
problema init ial a poate parea nesatisfac atoare. Putem evita acest lucru prin eli-
minarea necunoscutei U
1
din cele doua ecuat ii 3.40, rezultand o singur a ecuat ie
care poate scrisa ca
1
h
(U
0
+ U
1
) = +
h
2
f(x
0
). (3.41)
Am redus acum sistemul la unul cu doar m+2 ecuat ii cu necunoscutele U
0
, U
1
, . . . , U
m+1
.
Matricea este exact aceeasi ca matricea din 3.39, care a rezultat din aproximarea
unilateral a. Singura diferent a n sistemul liniar este ca primul element din partea
dreapt a a lui 3.39 este acum schimbat de la la +
h
2
f(x
0
).
28
Alternativ, putem vedea partea stang a a lui 3.41 ca o aproximare centrat a pentru
u

(x
0
+ h/2) si partea dreapta ca primii doi termeni din dezvoltarea n serie Taylor
a acestei valori,
u

_
x
0
+
h
2
_
= u

(x
0
) +
h
2
u

(x
0
) + = +
h
2
f(x
0
) + .
A treia abordare. Dec at s a folosim ordinul al doilea de precizie al aproximarii
centrate pentru condit ia la limit a de tip Neumann, am putea folosi ordinul al doilea
de precizie al aproxim arii unilaterale bazate pe cele trei necunoscute U
0
, U
1
si U
2
. O
aproximare de aceste a forma a fost data n Exemplul 1.1 si folosind acest lucru ca o
condit ie la limita, obt inem ecuat ia
1
h
_
3
2
U
0
2U
1
+
1
2
U
2
_
= .
Acest lucru duce la sistemul liniar
1
h
2
_

_
1 2 1
1 2 1
1 2 1
.
.
.
.
.
.
.
.
.
1 2 1
1 2 1
0 h
2
_

_
_

_
U
0
U
1
U
2
U
3
.
.
.
U
m1
U
m
U
m+1
_

_
=
_

f(x
1
)
f(x
2
)
f(x
3
)
.
.
.
f(x
m1
)
f(x
m
)

_
. (3.42)
Aceast a condit ie la limita are precizia de ordinul al doilea, din expresiea erorii
2.15. Utilizarea acestei ecuat ii modic a usor structura tridiagonal a, dar produce un
rezultat cu precizia de ordinul doi. Aceast a abordare este adesea cea mai usoar a de
generalizat la alte situat ii, cum ar metodele cu precizie de ordin superior, ret ele
neuniforme, sau condit ii mai complicate la limita.
3.13 Existent a si unicitatea

In ncercarea de a rezolva o problem a de matematica printr-o metod a numeric a,


trebuie mai nt ai vericat dac a problema init iala are o solut ie si dac a aceast a pro-
blem a este corect pus a. Aceasta nseamn a ca problema ar trebui s a aib a o solut ie
29
unic a, care depinde n mod continuu de datele utilizate pentru a deni problema.

In aceast a sect iune vom ar ata ca probleme la limit a chiar aparent simple pot s a nu
e corect puse.
Consider am problema de la Sect iunea 3.12, dar acum sa presupunem c a avem
condit ii la limita Neumann la ambele capete, adica avem 3.6 cu
u

(0) =
0
, u

(1) =
1
.

In acest caz, tehnicile din Sect iunea 3.12 ne-ar conduce resc la sistemul discret
1
h
2
_

_
h h
1 2 1
1 2 1
1 2 1
.
.
.
.
.
.
.
.
.
1 2 1
h h
_

_
_

_
U
0
U
1
U
2
U
3
.
.
.
U
m
U
m+1
_

_
=
_

_
+
h
2
f(x
0
)
f(x
1
)
f(x
2
)
f(x
3
)
.
.
.
f(x
m
)

1
+
h
2
f(x
m+1
)
_

_
. (3.43)
Dac a am ncerca totusi sa rezolv am acest sistem, am descoperi c a matricea este
singular a, si, n general, sistemul nu are nici o solut ie. (Sau, n cazul n care partea
dreapt a se a a n Range-ul matricei, sistemul are o innitate de solut ii.) Este usor
s a vericam ca matricea este singulara.
Aceasta nu reprezinta un esec al modelului nostru matematic. De fapt, aceasta
reect a faptul ca problema pe care ncercam sa o rezolv am nu este bine pusa, iar
ecuat ia diferent iala va avea, de asemenea, e nici o solut ie, e innit de multe solut ii.
Acest lucru poate usor de nt eles din punct de vedere zic, lu and n considerare
din nou ecuat ia caldurii care st a la baza celor discutate n sect iunea precedent a.

In
primul rand consideram cazul n care
0
=
1
= 0 si f(x) 0 astfel nc at ambele
capete ale tijei sunt izolate, nu exist a ux de c aldur a prin capete si nu exist a nici o
surs a de c aldura n interiorul tijei. Reamintim c problema cu valori la limit a este o
ecuat ie simplicat a pentru a g asi solut ia stat ionar a a ecuat iei caldurii 3.2 cu datele
init iale u
0
(x). Cum se comporta u(x, t) n raport cu timpul?

In cazul pe care l
lu am n considerat ie acum, energia termic a totala n tija trebuie sa e p astrat a n
timp, deci
_
1
0
u(x, t) dx
_
1
0
u
0
(x) dx ntotdeauna. Difuziunea c aldurii tinde s a se
redistribuie pan a cand aceasta este uniform distribuit a pe ntreaga tij a, astfel ncat
ne astept am ca solut ia stat ionar a u(x) sa e constanta n x,
u(x) = c, (3.44)
n cazul n care constanta c depinde de data init ial a u
0
(x). De fapt, prin conservarea
energiei, c =
_
1
0
u
0
(x) dx pentru tija noastra de lungime unitate. Observam acum
30
c a orice funct ie constant a de forma 3.44 este o solut ie a problemei stat ionare cu
valori la limit a, deoarece ndeplineste toate condit iile u

(x) 0, u

(0) = u

(1) = 0.
Ecuat ia diferent iala are o innite de solut ii n acest caz. Problema zica are doar
o singur a solut ie, dar n ncercarea de a o simplica prin rezolvarea numai pentru
starea stat ionar a, am l asat la o parte o port iune cruciala de date, care este cont inutul
de c aldura al datelor init iale pentru ecuat ia c aldurii. Daca cel put in o condit ie la
limit a este o condit ie Dirichlet, atunci se poate demonstra c a solut ia stat ionar a este
independent a de datele init iale si putem rezolva problema cu valori la limit a n mod
unic, dar nu si n cazul de fat a.
Acum s a presupunem ca avem un termen surs a f(x), care nu este identic zero, s a
zicem, f(x) < 0 peste tot. Apoi ad aug amn mod constant caldur an tij a (reamintim
c a f = n 3.4). Din moment ce caldura nu poate scapa prin capetele izolate, ne
astept am ca temperatura sa continue sa creasc a f ara limite.

In acest caz, nu vom
ajunge niciodat a la o stare stationar a, si problema cu valori la limita nu are nici o
solut ie. Pe de alt a parte, daca f este pozitiva pe o parte a intervalului si negativa pe
cealalt a parte, si efectul net al sursei de c aldura se anuleaz a atunci ar putea exista o
stare stat ionar a. De fapt, rezolvarea problemei cu valori la limit a prin integrarea de
dou a ori si ncercarea de a determina constantele de integrare din condit iile la limit a
arat a c a exist a o solut ie, numai daca
_
1
0
f(x) dx = 0, caz n care exista solut ii innit
de multe. Dac a
0
si/sau
1
sunt diferite de zero, atunci exista un ux de c aldur a
n capete si sursa de c aldura net a trebuie s a anuleze uxurile din capete. Deoarece
u

(1) = u

(0) +
_
1
0
u

(x) dx =
_
1
0
f(x) dx, (3.45)
trebuie ca
_
1
0
f(x) dx =
1

0
. (3.46)

In mod similar, sistemul liniar singular 3.43 are o solut ie (de fapt o mult ime
innit a de solut ii), numai n cazul n care partea dreapt a F este ortogonal a pe
spat iul nul al lui A
T
. Aceasta da condit ia
h
2
f(x
0
) + h
m

i=1
f(x
i
+
h
2
f)x
m+1
) =
1

0
, (3.47)
care regula de aproximare trapezoidal a pentru condit ia 3.46.
31
3.14 O ecuat ie liniara generala de ordinul doi
Vom lua n considerat ie acum ecuat ia liniar a mai general a
a(x)u

(x) + b(x)u

(x) + c(x)u(x) = f(x), (3.48)


mpreun a cu condit iile Dirichlet
u(a) = , u(b) = . (3.49)
Aceast a ecuat ie poate discretizata de ordinul doi prin
a
i
_
U
i1
2U
i
+ U
i+1
h
2
_
+ b
i
_
U
i+1
U
i1
2h
_
+ c
i
U
i
= f
i
, (3.50)
unde, de exemplu, a
i
= a(x
i
). Acest lucru d a sistemul liniar AU = F, unde A este
matricea tridiagonal a
_

_
(h
2
c
1
2a
1
) (a
1
+ hb
1
/2)
(a
2
hb
2
/2) (h
2
c
2
2a
2
) (a
2
+ hb
2
/2)
.
.
.
.
.
.
.
.
.
(a
m1
hb
m1
/2) (h
2
c
m1
2a
m1
) (a
m1
+ hb
m1
/2)
(a
m
hb
m
/2) (h
2
c
m
2a
m
)
_

_
(3.51)
si
U =
_

_
U
1
U
2
.
.
.
U
m1
U
m
_

_
, F =
_

_
f
1
(a
1
/h
2
b
1
/2h)
f
2
.
.
.
f
m1
f
m
(a
m
/h
2
+ b
m
/2h).
_

_
(3.52)
Acest sistem liniar poate rezolvat cu tehnici standard, presupunand ca matricea
este nesingulara. O matrice singular a ar sugera c a sistemul discret nu are o solut ie
unic a, care poate sa apara dac a problema init ial a nu este bine pus a.
Exemplu 3.1. Consider am transmiterea c aldurii ntr-o tij a cu propriet at ii di-
ferite ale conduct iei c aldurii, unde parametrul k(x) variaza n funct ie de x si este
ntotdeauna pozitiv. Problema stat ionara a caldurii este atunci:
(k(x)u

(x))

= f(x) (3.53)
mpreun a cu niste condit ii la limit a, s a zicem condit iile Dirichlet 3.49. Pentru dis-
cretizarea acestei ecuat ii am putea tentat i sa rescriem 3.53 ca
32
k(x)u

(x) + k

(x)u

(x) = f(x) (3.54)


si apoi sa aplic am discretizarea 3.51, rezult and matricea
_

_
2k
1
(k
1
+ hk

1
/2)
(k
2
hk

2
/2) 2k
2
(k
2
+ hk

2
/2)
.
.
.
.
.
.
.
.
.
(k
m1
hk

m1
/2) 2k
m1
(k
m1
+ hk

m1
/2)
(k
m
hk

m
/2) 2k
m
_

_
(3.55)
Cu toate acestea, aceasta nu este cea mai bun a abordare. Este mai bine sa
discretiz am problema zica 3.53 n mod direct. Acest lucru poate realizat prin
aproximarea de ordinul ntai a lui k(x)u

(x) n punctele de la jum atatea distant ei


dintre punctele ret ea, folosind aproximarea centrata
k(x
i+1/2
)u

(x
1+1/2
) = k
i+1/2
_
U
i+1
U
i
h
_
si aproximarea analoag a n x
i1/2
. Diferent ierea acestora da o aproximare centrat a
a lui (ku

n punctele ret ea x
i
:
(ku

(x
i
)
1
h
_
k
i+1/2
_
U
i+1
U
i
h
_
k
i1/2
_
U
i
U
i1
h
__
=
1
h
2
[k
i1/2
U
i1
(k
i1/2
+ k
i+1/2
)U
i
+ k
i+1/2
U
i+1
]. (3.56)
Aceasta conduce la matricea
_

_
(k
1/2
+ k
3/2
) k
3/2
k
3/2
(k
3/2
+ k
5/2
) k
5/2
.
.
.
.
.
.
.
.
.
k
m3/2
(k
m1/2
) k
m1/2
k
m1/2
(k + m1/2 + k
m+1/2
)
_

_
(3.57)
Compar and 3.55 cu 3.57, observam ca sunt de ordinul O(h
2
), observand c a
k(x
i+1/2
) = k(x
i
) +
1
2
hk

(x
i
) + O(h
2
) = k(x
i+1
)
1/2
h
k

(x
i+1
) + O(h
2
).
Cu toate acestea, matricea 3.57 are avantajul de a simetric a, asa cum speram, de-
oarece ecuat ia diferent iala init iala este auto-adjuncta. Mai mult, deoarece k > 0
33
se poate demonstra ca matricea este nesingular a si negativ denita. Acest lu-
cru nseamna c a toate valorile proprii sunt negative, o proprietate, de asemenea,
mp artasit a de catre operatorul diferent ial

x
k(x)

x
. Se poate ar ata apoi, ca solut ia
ecuat iei cu diferent e satisface un principiu maxim de acelasi tip ca solut ia ecuat iei
diferent iale: pentru ecuat ia omogen a cu f(x) 0, valorile lui u(x) se a a peste tot
ntre valorile din capetele si , astfel nc at valorile maxime si minime ale lui u
vor ap area n capete. Pentru problema transmiterii c aldurii, acest lucru este zic
evident: starea stat ionara a temperaturii n tij a nu va dep asi ceea ce a fost impus
n capete dac a nu exist a nici o sursa de caldur a.
34
4 Metoda diferent elor nite pentru probleme cu
valori init iale. Metoda lui Euler. Aplicat ii

In acest capitol vom ncepe un studiu de ecuat ii diferent iale dependente de timp,
ncep and cu problema cu valoare init ial a (IVP) pentru o ecuat ie diferent ial a ordinara
(ODE) dependenta de timp.
Problema cu valori init iale ia forma:
u

(t) = f(u(t), t) pentru t > t


o
(4.1)
cu unele date init iale
u(t
0
) = . (4.2)
De cele mai multe ori vom presupune t
0
= 0 pentru simplitate.

In general, 4.1 poate reprezenta un sistem de ecuat ii diferent iale ordinare, adica
u poate un vector cu s componente u
1
, . . . , u
s
, si atunci f(u, t) reprezint a de
asemenea un vector cu componentele f
1
(u, t), . . . , f
s
(u, t), ecare dintre care poate
o funct ie neliniar a a tuturor componentelor lui u.
Vom lua n considerare doar ecuat ia de ordinul ntai 4.1, dar, de fapt, aceasta
este mai generala decat pare, deoarece putem reduce ecuat ii de ordin superior la
unui sistem de ecuat ii de ordinul ntai.
4.1 Cateva metode numerice de baza
Observ am ca problema cu valori init iale difer a de problema cu valori la limit a luata
n considerare nainte, n care ne sunt date toate datele n momentul init ial t
0
= 0.
Vom nota cu k pasul timpului, deci t
n
= nk pentru n 0.
Avem datele init iale
U
0
= (4.3)
si vrem s a calcul am aproxim arile U
1
, U
2
, . . . satisf acand
U
n
u(t
n
).
Cea mai simpla metod a este metoda lui Euler bazat a pe nlocuirea lui u

(t
n
)
cu D
+
U
n
= (U
n+1
U
n
)/k de la 2.1. Avem acum metoda
U
n+1
U
n
k
= f(U
n
), n = 0, 1, . . . . (4.4)
35
Dec at sa vedem acest lucru ca pe un sistem de ecuat ii simultane asa cum am
f acut pentru problema cu valori la limita, putem rezolva aceasta n mod explicit
pentru U
n+1
n termeni de U
n
:
U
n+1
= U
n
+ kf(U
n
). (4.5)
Pentru valoarea init iala U
0
putem calcula U
1
, apoi U
2
, si asa mai departe.
Aceasta se numet e metoda time-marchin. ??????
Metoda lui Euler napoi ??? este similar a, dar se bazeaza pe nlocuirea lui
u

(t
n+1
) cu D

U
n+1
:
U
n+1
U
n
k
= f(U
n+1
) (4.6)
sau
U
n+1
= U
n
+ kf(U
n+1
). (4.7)

In metoda lui Euler napoi, 4.7 este o ecuat ie care trebuie rezolvat a pentru U
n+1
,
si n general f(u) este o funct ie neliniar a. Putem vedea aceasta n catarea unui zero
al funt iei
g(u) = u kf(u) U
n
,
care poate aproximat folosind unele metode iterative, cum ar metoda lui New-
ton.
Pentru ca metoda lui Euler napoi da o ecuat ie care trebuie rezolvat a pentru
U
n+1
, aceasta se numet e o metoda implicita, n timp ce metoda lui Euler nainte
4.5 este o metoda explicit a.
O alt a metoda implicita este metoda trapezoidala, obt inut a prin media a dou a
metode Euler:
U
n+1
U
n
k
=
1
2
(f(U
n
) + f(U
n+1
)). (4.8)
Asa cum ne asteptam, aceast a aproximare simetric a are precizia de ordinul doi, n
timp ce metodele lui Euler au precizia doar de ordinul nt ai. Metodele de mai sus
sunt toate metode cu un singur pas, ceea ce nseamna ca U
n+1
este determinat
de U
n
singur si valorile anterioare ale lui U nu sunt necesare. O modalitate de a
obt ine o precizie de un ordin mai mare este de a folosi metoda cu mai mult i pasi
care implica alte valori anterioare. De exemplu, folosind aproximat ia
u(t + k) u(t k)
2k
= u

(t) +
1
6
k
2
u

(t) + O(k
3
)
obt inem metoda punctului de mijloc
36
U
n+1
U
n1
2k
= f(U
n
) (4.9)
sau
U
n+1
= U
n1
+ 2kf(U
n
), (4.10)
care are precizia de ordinul doi metoda explicit a cu doi pasi. Aproximarea D
2
u din
2.14, rescrisa sub forma
3u(t + k) 4u(t) + u(t k)
2k
= u

(t + k) +
1
12
k
2
u

(t + k) + ,
obt inem c a are precizia de ordinul doi metoda implicita cu doi pasi
3U
n+1
4U
n
+ U
n1
2k
= f(U
n+1
). (4.11)
4.2 Erori de trunchiere
Exemplu 4.1. Eroarea de trunchiere locala a metodei punctului de mijloc 4.9 este
denit a de

n
=
u(t
n+1
) u(t
n1
)
2k
f(u(t
n
))
=
_
u

(t
n
) +
1
6
k
2
u

(t
n
) + O(k
4
)
_
u

(t
n
)
=
1
6
k
2
u

(t
n
) + O(k
4
).
Observ am c a deoarece u(t) este solut ia adevarat a a ecuat iei diferent iale ordinare,
u

(t
n
) = f(u(t
n
)). Termenul O(k
3
) se anuleaz a prin simetrie. Eroarea de trunchiere
este O(k
2
) si spunem c a metoda are precizia de ordin doi.
4.3 Erori cu un pas

In mare parte din literatura de specialitate privind metodele numerice pentru ecuat iile
diferent iale ordinare, este utilizat a o denit ie usor diferita de eroarea locala de trun-
chiere care se bazeaz a pe forma 4.10, de exemplu, n loc de 4.9. Not and aceast a
valoarea cu L
n
, avem
37
L
n
= u(t
n+1
) u(t
n1
) 2kf(u(t
n
)) (4.12)
=
1
3
k
3
u

(t
n
) + O(k
5
).
Deoarece L = 2k
n
, aceast a eroare locala este O(k
3
), n loc de O(k
2
), dar eroarea
global a r amane aceeasi, si va O(k
2
). Folosind aceasta denit ie alternativa, mai
multe rezultate standard n teoria ecuat iilor diferent iale ordinare spune c a o metoda
care are precizia de ordinul p ar trebui s a aibe o eroare locala de trunchiere care este
O(k
p+1
). Cu notat iile pe care le folosim, o metod a care are precizia de ordinul p are
o eroare local a de trunchiere care este O(k
p
).
L se va numi eroarea cu un singur pas, deoarece poate privit ca eroarea care va
introdusa ntr-un pas de timp dac a valorile anterioare U
n
, U
n1
, . . . au fost toate
luate pentru a exact valorile din u(t). De exemplu, n metoda punctului de mijloc
4.10 presupunem ca
U
n
= u(t
n
) si U
n1
= u(t
n
1)
si folosim acum aceste valori pentru a calcula U
n+1
, o aproximat ie a lui u(t
n+1
):
U
n+1
= u(t
n1
+ 2kf(u(t
n
))
= u(t
n1
) + 2ku

(t
n
).
Atunci eroarea este
u(t
n+1
) U
n+1
= u(t
n+1
) u(t
n1
) 2ku

(t
n
) = L
n
.
Din 4.12 observam c a ntr-un singur pas eroarea introdus a este O(k
3
). Acest lucru
este n concordant a cu precizia de ordinul doi n eroarea globala, dac a ne g andim
s a ncercam sa calculam o aproximare a solut iei adevarate u(T) la un moment x
T > 0. Pentru a calcula de la timpul t = 0 pan a la timpul T, avem nevoie sa lu am
T/k pasi de timp de lungime k. O estimare aproximativa a erorii la momentul T
ar putea obt inuta presupunand ca o nou a eroare de dimensiune L
n
este introdus a
n pasul de timp n si este efectuata n pasi de-a lungul timpului mai t arziu, far a a
afecta dimensiunea de erori viitoare locale si f ara cresterea sau diminuarea n sine.
Apoi ne-am astepta ca eroarea globala care rezult a n momentul T s a e suma tu-
turor acestor erori locale.
38
4.4 Metoda seriilor Taylor
Metoda lui Euler 4.5 poate derivata folosind o dezvoltare n serie Taylor a lui
u(t
n+1
) despre u(t
n
):
u(t
n+1
) = u(t
n
) + ku

(t
n
) +
1
2
k
2
u

(t
n
) + . (4.13)
Dac a scadem tot i termenii de ordin k
2
si superior si folosim ecuat ia diferent ial a
pentru a nlocui u

(t
n
) cu f(u(t
n
), t
n
), obt inem
u(t
n+1
) u(t
n
) + kf(u(t
n
), t
n
).
Metoda seriei Taylor de precizie mare poate obt inut a prin p astrarea c at
mai multor termeni n serie Taylor. Daca pastram primii p+1 termeni ai dezvolt arii
n serie Taylor
u(t
n+1
) u(t
n
) + ku

(t
n
) +
1
2
k
2
u

(t
n
) + +
1
p!
k
p
u
(p)
(t
n
)
obt inem metoda care are precizia de ordin p. Problema este ca ne sunt date numai
u

(t) = f(u(t), t)
si trebuie sa calcul am derivatele mai mare prin diferent ierea repetat a a acestei
funct ii. De exemplu, putem calcula
u

(t) = f
u
(u(t), t)u

(t) + f
1
(u(t), t) (4.14)
= f
u
(u(t), t)f(u(t), t) + f
t
(u(t), t)
Acest lucru poate duce la expresii foarte dezordonate care trebuie s a e elaborate
pentru ecare ecuat ie, si, ca urmare, aceast a abordare nu este adesea folosita n
practic a. Cu toate acestea, o astfel de abordare este evident ca este de ment ionat,
si, n unele cazuri, poate utila.

In continuare vom prezenta un exemplu pentru a
ilustra tehnica si limit arile sale.
Exemplu 4.2. S a presupunem c a vrem s a rezolv am aceasta ecuat ie
u

(t) = t
2
sin(u(t)). (4.15)
Atunci putem calcula
u

(t) = 2tsin(u(t)) + t
2
cos(u(t))u

(t)
= 2tsin(u(t)) + t
4
cos(u(t))sin(u(t)).
39
O metoda de ordinul doi este data de
U
n+1
= U
n
+ kt
2
n
sin(U
n
) +
1
2
k
2
[2t
n
sin(U
4
) + t
4
n
cos(U
n
)sin(U
n
)].

In mod evident derivatele de ordin superior pot calculate si utilizate, dar acest
lucru este greoi chiar si pentru acest exemplu simplu. Pentru sistemele de ecuat ii
metoda devine si mai complicat a.
4.5 Convergent a
Pentru a discuta despre convergent a unei metode numerice pentru problema cu
valoari init iale, ne concentr am pe un timp xat (dar arbitrar) T > 0 si consider am
aproximarea lui u(T) calculata cu metoda folosind pasul de timp k. Metoda converge
pentru aceast a problem a daca eroarea tinde la zero c and k 0. Ret inem c a num arul
de pasi timp de care avem nevoie pentru a ajunge la timpul T creste c and k 0.
Dac a folosim N pentru a indica aceast a valoare (N = T/k), atunci convergent a
nseamn a c a
lim
k0
U
N
= u(T). (4.16)

In principiu, o metod a ar putea converge pentru o problem a, dar nu pentru alta,


sau ar putea converge pentru un set de valori de plecare, dar nu pentru un alt set.
Pentru a spune c a o metod a c a este convergenta, n general, avem nevoie ca ea
s a convearga pentru toate problemele dintr-o clasa sucient de mare, pentru toate
valorile rezonabile de pornire. Pentru o metod a cu r pasi avem nevoie de r valori de
plecare. Aceste valori vor depinde de obicei de k, si pentru a face acest lucru clar le
vom scrie ca U
0
(k), U
1
(k), . . . , U
r1
(k).

In timp ce acestea vor aproxima n general
u(t) la momentele t
0
= 0, t
1
= k, . . . , t
r1
= (r 1)k, respectiv, cand k 0, ele tind
la t
0
= 0. Deci, cea mai slab a condit ie pe care am putea s a o punem pentru valorile
noastre de plecare este ca ele converg la valoarea init ial a corect a c and k 0:
lim
k0
U

(k) = pentru = 0, 1, . . . , r 1. (4.17)


Consider am ecuat ia 4.1. Putem da acum denit ia convergent ei.
Denit ie. Spunem c a o metod a cu r pasi este convergent a dac a aplic and me-
toda pentru orice ecuat ie diferent iala cu f(u, t) Lipschitz continu a n u, si cu orice
set de valori de pornire ce satisface 4.17, vom obt ine convergent a n sensul 4.16
pentru orice timp xat T > 0 pentru care ecuat ia diferent ial a are o solut ie unic a.
40
4.6 Problema test
Vom prezenta o parte a teoriei de mai jos studiind o ecuat ie scalar a liniara simpl a
de forma:
u

(t) = u(t) + g(t) (4.18)


cu datele init iale
u(t
0
) = .
Solut ia acestei probleme este:
u(x) = e
(tt
0
)
+
_
t
t
0
e
(t)
g() d
4.7 Metode cu un singur pas
4.7.1 Metoda lui Euler pentru probleme liniare
Dac a vom aplica metoda lui Euler pentru 4.18 vom obt ine
U
n+1
= U
n
+ k(U
n
+ g(t
n
))
= (1 + k)U
n
+ kg(t
n
). (4.19)
Eroarea locala de trunchiere pentru metoda lui Euler este dat a de

n
=
_
u(t
n
+ 1) u(t
n
)
k
_
(u(t
n
) + g(t
n
))
=
_
u

(t
n
) +
1
2
ku

(t
n
) + O(k
2
)
_
u

(t
n
)
=
1
2
ju

(t
n
) + O(k
2
). (4.20)
Rescriind aceasta ecuat ie ca
u(t
n+1
) = (1 + k)u(t
n
) + kg(t
n
) + k
n
si sc az and aceasta din 4.19 obt inem o ecuat ie diferent a pentru eroarea global a E
n
:
E
n+1
= (1 + k)E
n
k
n
. (4.21)
41
Observ am ca aceasta are exact aceeasi forma ca 4.19, dar cu un alt termen
neomogen:
n
n locul lui g(t
n
).
Deoarece ecuat ia si metoda pe care le avem acum n vedere sunt at at de simple,
vom obt ine o ecuat ie 4.21 pe care o putem rezolva n mod explicit pentru a calcula
eroarea globala E
n
. Aplic and recursiv 4.21 n mod repetat observ am ce forma ar
trebui sa ia solut ia:
E
n
= (1 + k)E
n1
k
n1
= (1 + k)[(1 + k)E
n2
k
n2
] k
n1
= .
Prin induct ie, putem arma cu usurint a ca, n general,
E
n
= (1 + k)
n
E
0
k
n

m=1
(1 + k)
nm

m1
. (4.22)
Suntem acum gata s a demonstr am c a metoda lui Euler converge pentru problema
4.18. Trebuie doar s a observ am ca
|1 + k| e
k||
(4.23)
si deci
(1 + k)
nm
e
(nm)k||
e
nk||
e
||T
, (4.24)
cu condit ia c a vom luan intervalul nit de timp 0 t T, astfel ncat t
n
= nk T.
Apoi din 4.22 rezult a c a
|E
n
| e
||T
_
|E
0
| + k
n

m=1
|
m1
|
_
e
||T
_
|E
0
| + nk max
1mn
|
m1
|
_
. (4.25)
Fie N = T/k num arul de pasi de timp necesari pentru a ajunge la timpul T si
avem:
||||

= max
0nN1
|
n
|.
Din 4.20 ne astept am ca
||||


1
2
k||u

||

= O(k),
42
unde ||u

||

este valoarea maxima a funct iei u

peste intervalul [0, T]. Apoi, pentru


t = nk T, avem din 4.25 c a
|E
n
| e
||T
(|E
0
| + T||||

).
Dac a 4.17 este satisfacut a atunci E
0
0 cand k 0. De fapt, pentru aceasta
metod a cu un singur pas lu am, n general, U
0
= u(0) = , caz n care E
0
dispare si
r amanem cu
|E
n
| e
||T
T||||

= O(k) cand k 0 (4.26)


si, prin urmare, metoda converge si are, de fapt, precizia de ordinul ntai.
4.7.2 Stabilitatea pentru probleme la limita
Dac a privim ecuat iile 4.19 pentru n = 0, 1, . . . , N 1 ca un sistem liniar AU = F
pentru U = [U
1
, U
2
, . . . , U
N
]
T
, atunci
A =
1
k
_

_
1
(1 + k) 1
(1 + k) 1
.
.
.
(1 + k) 1
(1 + k) 1
_

_
si
U =
_

_
U
1
U
2
U
3
.
.
.
U
N1
U
N
_

_
, F =
_

_
(1/k + )U
0
+ g(t
0
)
g(t
1
)
g(t
2
)
.
.
.
g(t
N2
)
g(t
N1
)
_

_
.
Am mpart it ambele p art i ale lui 4.19 prin k, conform notat iei din capitolul 3.
Deoarece matricea este inferior triunghiular a, acest sistem se rezolva simplu prin
substitut ie, ceea ce duce la ecuat ia iterativa 4.19.
Fie acum

U vectorul obt inut din solut ia adev arat a ca n capitolul 3. Scaz and
A

U = F + din AU = F, obt inem 3.15 (forma matriceal a a lui 4.21), care are
solut ia 4.22. Suntem atunci n exact acelasi cadru ca si n capitolul 4. Deci avem
convergent a si o eroare global a de acelasi ordin ca eroarea locala, cu condit ia c a
43
metoda este stabil a, n sensul c a inversa matricei A este marginit a independent de
k pentru tot i k, sucient de mici.
Inversa acestei matrici este usor de calculat. De fapt, putem vedea din solut ia
4.22, ca
A
1
= k
_

_
1
(1 + k) 1
(1 + k)
2
(1 + k) 1
(1 + k)
3
(1 + k)
2
(1 + k) 1
.
.
.
.
.
.
(1 + k)
N1
(1 + k)
N2
(1 + k)
N3
(1 + k) 1
_

_
4.7.3 Metoda lui Euler pentru probleme neliniare
Metoda lui Euler pentru ecuat ia neliniara u

= f(u) ia forma
U
n+1
= U
n
+ kf(U
n
) (4.27)
si eroarea de trunchiere este denita de

n
=
1
k
(u(t
n+1
) u(t
n
)) f(u(t
n
))
=
1
2
ku

(t
n
) + O(k
2
),
la fel ca n cazul liniar. Deci solut ia satisface
u(t
n+1
) = u(t
n
) + kf(u(t
n
)) + k
n
si sc az and aceasta din 4.27 obt inem
E
n+1
= E
n
+ k(f(U
n
) f(u(t
n
))) k
n
. (4.28)

In cazul liniar f(U


n
) f(u(t
n
)) = E
n
si avem relat ia 4.21 pentru E
n
.

In
cazul neliniar nu putem exprima n general f(U
n
) f(u(t
n
)) direct n funct ie de
eroarea E
n
. Cu toate acestea, folosind continuitatea Lipschitz a lui f putem obt ine
o margine pentru E
n
:
|f(U
n
) f(u(t
n
))| L|U
n
u(t
n
)| = L|E
n
|.
44
Folosind aceasta n 4.28 obt inem
|E
n+1
| |E
n
| + kL|E
n
| + k|
n
| = (1 + kL)|E
n
| + k|
n
|. (4.29)
Din aceasta inegalitate se poate demonstra prin induct ie c a
|E
n
| (1 + kL)
n
|E
0
| + k
n

m=1
(1 + kL)
nm
|
m1
|
si astfel, folosind aceiasi pasi ca si n obt inerea lui 4.26 (si din nou presupunand ca
E
0
= 0), vom obt ine
|E
n
| e
LT
T||||

= O(k) cand k 0 (4.30)


pentru tot i n cu nk T, dovedind ca metoda converge.

In cazul liniar, L = || si
acest lucru se reduce exact la 4.26.
45

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