Академический Документы
Профессиональный Документы
Культура Документы
Introducere 5
3 Formule de cuadratura 35
3.1 Exemple de functii continue cu primitiva in forma de serie in…nita . . . . . 35
3.2 Formula trapezului . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.3 Formula perturbata a trapezului . . . . . . . . . . . . . . . . . . . . . . . . 42
3.4 Formula lui Simpson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.5 Formula lui Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3
4 CUPRINS
Bibliogra…e 87
Introducere
Acest indrumator de laborator urmeaza cursul de calcul numeric [4] si este adresat
studentilor din anul II ai specializarilor Matematica si Informatica, din cadrul Facultatii
de Stiinte. Desigur, acest indrumator poate … folosit si de catre studentii specializarilor
ingineresti ce au in planul de invatamint un curs de metode numerice.
Pe langa continutul clasic al unui indrumator de lucrari de laborator de analiza numer-
ica sau calcul numeric, prezentul indrumator contine multe elemente de noutate adaptate
la evolutia actuala a metodelor numerice, obtinute prin consultarea unor elemente bib-
liogra…ce noi (in acest sens putem mentiona lucrarile [2], [3], [5], [6], [9], [21]) inclusiv
rezultate proprii. Astfel, apar ca o noutate paragrafele 1.4, 1.5, 1.6, 1.7.2, 2.1, 2.2, 3.1,
3.3, 6.5, tratand: procedura de interpolare neteda pe portiuni cubica de tip Hermite
cu noduri duble folosind algoritmul lui Akima, interpolarea spline poligonala, interpo-
larea spline parabolica generata de conditii initiale, interpolarea spline cubica naturala
generata de conditii initiale, metoda celor mai mici patrate pentru obtinerea dreptei de
regresie si a parabolei de regresie (utila la ajustarea datelor experimentale si a‡ata ca
tehnica matematica de cercetare in economie, psihologie, sociologie, statistica aplicata),
cuadratura perturbata a trapezului (cu estimari recente ale restului formulei de cuadratura
atat pentru cuadratura trapezului, cat si pentru cea perturbata a trapezului) si metoda
aproximatiilor succesive pentru problema Cauchy asociata ecuatiilor diferentiale ordinare
de ordinul intai. De asemenea, la inceputul capitolului 3 sunt prezentate doua exemple de
integrale de…nite (provenite din geometrie si teoria probabilitatilor) ce nu se pot calcula
cu exactitate, motivand astfel utilizarea formulelor de cuadratura.
Capitolul intai este dedicat procedeelor de interpolare a functiilor continue, prezentandu-
se polinomul de interpolare a lui Lagrange cu cele doua variante iterative de calcul gener-
ate de algoritmul lui Aitken, respectiv algoritmul lui Newton, apoi polinomul lui Taylor
si procedeele de interpolare neteda pe portiuni (cubica de tip Hermite cu noduri duble,
spline poligonala, spline parabolica generata de conditii initiale, spline cubica naturala
generata de conditii initiale si spline cubica completa generata de conditii bilocale). Al
doilea capitol este dedicat aproximarii polinomiale in medie patratica utilizand metoda
celor mai mici patrate exempli…cata pe polinoamele de gradul intai si doi si obtinand
dreapta de regresie si respectiv, parabola de regresie.
Al treilea capitol prezinta formulele de cuadratura de tip interpolator precum, for-
mula trapezului, formula lui Simpson, formula lui Newton (toate trei …ind formule de tip
Newton-Cotes) si formula perturbata a trapezului (o formula de tip Euler-Mac Laurin cu
doa noduri duble). Capitolele 4 si 5 prezinta metode numerice pentru ecuatii si sisteme
de ecuatii (liniare in capitolul 4, neliniare in capitolul 5). Astfel, in capitolul 3 apare
metoda exacta a lui Gauss bazata pe eliminarea ce utilizeaza tehnica pivotului maxim si
5
metoda iterativa a lui Iacobi. Rezolvarea aproximativa a sistemelor neliniare este abordata
prin metoda aproximatiilor succesive si metoda lui Newton (cu algoritmi elaborati pentru
sisteme de doua ecuatii cu doua necunoscute), iar a ecuatiilor neliniare prin metoda inju-
matatirii intervalului, metoda tangentei (a lui Newton), metoda coardei, metoda aproxi-
matiilor succesive, precedate de tehnica sirului lui Rolle de separare a radacinilor.
Ultimul capitol este dedicat metodelor discrete de aproximare a solutiilor ecuatiilor
diferentiale ordinare cu conditii la limita. Intai este prezentata metoda retelelor pentru
problema bilocala asociata ecuatiei diferentiale liniare de ordinul doi si apoi sunt prezen-
tate metodele unipas de tip Euler, Heun si Runge-Kutta. Capitolul se incheie cu metoda
aproximatiilor succesive bazata pe tehnica punctului …x si cuadratura trapezului. Cei mai
multi dintre algoritmii prezentati sunt insotiti si de programe corespunzatoare in limbajul
C.
Capitolul 1
A = fak : ak 2 R; k = 0; m; g I
si …e functia f : A ! R.
De…nitia 1: Se numeste diferenta divizata de ordinul intai cu nodurile ar si ar+1
relativa la functia f , expresia
r = 0; m 1; k = 1; m r:
Prin conventie, se noteaza D0 f (ar ) = f (ar ) ; r = 0; m: Deasemenea, este cunoscut
faptul ca operatorul Dk este liniar.
Cand nodurile din A sunt echidistante atunci intre diferentele divizate si diferentele
…nite exista relatia
m
f (a)
Dm f (a) = h m :
m!h
In general, pentru diferentele divizate exista exprimarea :
X
k
f (ar+i )
[ar ; ar+1 ; :::; ar+k ; f ] =
i=0
u0 (ar+i )
7
8 CAPITOLUL 1. METODE DE INTERPOLARE A FUNCTIILOR CONTINUE
unde
u (x) = (x ar ) (x ar+1 ) ::: (x ar+k ) :
Observatie: Pentru r = 0 si k = m
X
m
f (ak ) X
m
f (ak )
[a0 ; a1 ; :::; am ; f ] = =
k=0
u0 (ak ) k=0
uk (ak )
unde
u (x) = (x a0 ) (x a1 ) ::: (x am )
si
u (x)
; 8k = 0; m:
uk (x) =
x ak
In calcule, in special la constructia formulei de interpolare a lui Newton pentru polinomul
lui Lagrange, este util tabloul de diferente divizate.
x f Df D2 f D3 f ....... Dm 1 f Dm f
a0 f0 Df0 D2 f0 D3 f0 ....... Dm 1 f0 Dm f0
a1 f1 Df1 D2 f1 D3 f1 ....... Dm 1 f1
a2 f2 Df2 D2 f2 D3 f2 .......
:::: :::: :::::: :::::: :::::
am 2 fm 2 Dfm 2 D2 fm 2
am 1 fm 1 Dfm 1
am fm
unde fi = f (ai ) ; i = 0; m:
La constructia tabelului s-a folosit formula de recurenta
Dk 1 f (ai+1 ) Dk 1 f (ai )
Dk f (ai ) = ; k = 1; m; i = 0; m k:
ai+k ai
Aceeasi formula de recurenta o foloseste algoritmul de mai jos :
I. Date de intrare :
m ordinul maxim al diferentei divizate
ak ; k = 0; m nodurile diferentelor divizate
f (ak ) ; k = 0; m valorile functiei pe noduri.
II. Date de iesire : Tabloul diferentelor divizate pina la ordinul m, adica Dk f (ai ) ;
k = 0; m; i = 0; m k; sau numai valoarea Dm f (a0 ) :
III. Pasii algoritmului :
Pasul 1. Pentru i = 0; m ataseaza
D0 fi := f (ai ) :
Pasul 2. Pentru k = 1; m;
Pentru i = 0; m k; calculeaza
Dk 1 fi+1 Dk 1 fi
Dk fi :=
ai+k ai
1.2. POLINOMUL DE INTERPOLARE AL LUI LAGRANGE 9
Probleme propuse :
1. Sa se construiasca un program de calcul al tabloului de diferente divizate in limbajul
C.
1
2. Considerând functia f : R ! R, f (x) = 1+x 2 sa se construiasca tabloul cu difer-
unde
u (x) = (x a0 ) (x a1 ) ::: (x am ) :
Este cunoscut faptul ca operatorul de interpolare al lui Lagrange Lm este liniar. Deaseme-
nea, in formula de interpolare a lui Lagrange
ju ( )j
Mm+1 (f ) < ":
(m + 1)!
si atunci, jRm f ( )j < ": Dar aici, cerinta cunoasterii majorantului Mm+1 (f ) nu poate …
ocolita. Acest aspect restrange sfera de aplicabilitate a procedeului.
1 fjj aj x
fi;j+1 =
ai aj fij ai x
pentru i = 1; m si j = 0; i 1:
Observam ca
x a1 x a0
f11 = f (a0 ) + f (a1 ) = L1 f (x)
a0 a1 a1 a0
fii = Li f (x)
Astfel, sirul elementelor de pe diagonala tabloului f11 ; f22 ; :::; fii ; :::; fmm devine un sir
de aproximatii ale lui f (x) : Acest sir va converge catre f (x) atunci cand
pentru " > 0 dat initial. Prin urmare, algoritmul lui Aitken genereaza primele i + 1
coloane ale tabloului oprindu-se la prima coloana pentru care este indeplinita conditia
de mai sus. Asadar, gradul maxim al polinomului de interpolare este m, dar algoritmul
se poate opri la un grad mai mic (in urma atingerii preciziei dorite). Deoarece eroarea
formulei de interpolare depinde de ju (x)j ; rezulta ca pentru a opri acest algoritm cat mai
repede este indicat sa se ordoneze nodurile a0 ; :::; am dupa distanta lor fata de ; punctul
in care dorim sa aproximam pe f ( ) : Astfel, se ordoneaza nodurile pina este indeplinita
conditia
jai xj jaj xj ; daca i < j; i = 0; m; j = 1; m:
Dupa cum se observa, metoda lui Aitken si criteriul sau de oprire necesita doar cunoast-
erea valorilor f (ai ) ; i = 0; m. Acest avantaj justi…ca prezenta acestui algoritm in
bibliotecile matematice ale softurilor de calcul numeric (gen Matlab, Mathcad sau Math-
ematica).
Probleme propuse :
1. Sa se construiasca un program
p in limbajul C pentru algoritmul lui Aitken.
2. Valorile functiei f (x) = x sunt date pe noduri in tabelul
3
[x; a0 ; f ] [a0 ; a1 ; f ]
[x; a0 ; a1 ; f ] =
x a1
f (x) f (a0 )
[x; a0 ; f ] = :
x a0
1.2. POLINOMUL DE INTERPOLARE AL LUI LAGRANGE 13
X
m
f (x) = f (a0 ) + (x a0 ) ::: (x ai 1 ) [a0 ; a1 ; :::; ai ; f ] + u (x) [x; a0 ; :::; am ; f ]:
i=1
X
m
= f (a0 ) + (x a0 ) ::: (x ai 1 ) Di f0
i=1
Se observa ca in formula (1.6) s-au folosit doar diferentele divizate de pe latura su-
perioara a tabloului de diferente. Deasemenea, din (1.3) si (1.5) rezulta Lm f (x) =
Nm f (x) ; 8x 2 [a; b]:
Observatie: Din formula (1.6) rezulta ca polinomul de interpolare al lui Newton
veri…ca relatia de recurenta
atunci algoritmul se opreste la ordinul k, adica la polinomul Nk f (x; a0 ; :::; ak ) : Insa gradul
maxim al polinomului generat de algoritmul de mai jos este m.
14 CAPITOLUL 1. METODE DE INTERPOLARE A FUNCTIILOR CONTINUE
Fie
u (x) = (x a0 )r0 +1 (x a1 )r1 +1 ::: (x am )rm +1
si
u (x)
uk (x) = 8k = 0; m:
(x ak )rk +1
Conditiile (1.7) determina in mod unic polinomul de interpolare a lui Hermite, obtinandu-
se
rk
" #!
X
m X (x ak )j f (t)
(j)
Hn f (x) = uk (x) jt = ak ; 8x 2 [a; b] (1.8)
k=0 j=0
j! uk (t)
Din formula (1.9) se observa ca polinomul lui Taylor poate … obtinut recurent prin
T0 f (x) = f (a0 )
(x a0 )k (k)
Tk f (x) = Tk 1 f (x) + f (a0 ) ; pentru k = 1; n:
k!
Astfel, se obtine algoritmul urmator :
16 CAPITOLUL 1. METODE DE INTERPOLARE A FUNCTIILOR CONTINUE
fk := f (k) (a)
p (k) := p (k 1) k
Pasul 2. …e T0 f (u) = f (a) si pentru k = 1; n
1
Tk f (u) = Tk 1 f (u) + (u a)k fk
p (k)
Probleme propuse :
1.Sa se construiasca un program in limbajul C pentru algoritmul polinomului lui Tay-
lor.
2. Pentru n = 7; a = 0; u = 1; f (k) (a) = 1; k = 0; n sa se calculeze T7 f (u) si sa se
compare rezultatul cu e: Se obtine aici o aproximare a numarului e folosind polinomul lui
Taylor pentru interpolarea functiei f (x) = ex :
3. Pentru n = 5, u = 4 ; a = 0; f (0) (a) = 0; f (1) (a) = 1; f (2) (a) = 0; f (3) (a) =
1; f (4) (a) = 0; f (5) (a) = 1 sa se calculeze T5 f (u) si sa se compare rezultatul cu
p p
sin 4 = 22 : Se obtine o aproximare a numarului 2 folosind polinomul lui Taylor pentru
interpolarea functiei f (x) = sin x: Sa se aplice apoi algoritmul pentru u = 18 = 100
aproximand astfel numarul sin (100 ) :
4. Sa se construiasca o problema similara pentru f (x) = cos x , n = 6 si u = 6 (se va
p
obtine o aproximatie pentru 3):
(b x)2 (x a) 0 (x a)2 (b x) 0
P (x) = f (a) f (b) +
(b a)2 (b a)2
avem
(b a)4
jR (x)j 7
f (4) C
8x 2 [a; b]:
3 2
Considerand o diviziune a intervalului [a; b]
si valorile pe aceste noduri ale unei functii f 2 C 1 [a; b], f (xi ) ; f 0 (xi ) ; i = 0; n; se poate
construi o functie neteda F 2 C 1 [a; b] pentru care
Formula (1.12) constituie un punct tare al metodei lui Akima, dar deoarece nu poate
propune o formula si pentru primele doua si ultimele trei noduri conduce la necesitatea
introducerii arti…ciale a unor pante corespunzatoare extremitatilor intervalului [a; b] pen-
tru a extinde formula (1.12), ceea ce constituie un punct slab al metodei. In baza metodei
lui Akima se introduc atunci doar pantele suplimentare
Pasul 2. Calculeaza
xj 1 < < xj :
Pasul 5. Calculeaza
(xj )2 ( xj 1 ) 0 ( xj 1 )2 (xj )
F ( ) := f (xj 1 ) f 0 (xj ) +
(xj xj 1 )2 (xj xj 1 )2
(xj )2 [2 ( xj 1 ) + (xj xj 1 )]
+ f (xj 1 ) :+
(xj xj 1 )3
1.5. INTERPOLARE SPLINE LINIARA 19
( xj 1 )2 [2 (xj ) + (xj xj 1 )]
+ f (xj )
(xj xj 1 )3
Pasul. 6 Tipareste F ( ) : STOP.
Probleme propuse:
1. Sa se construiasca un program in limbajul C pentru algoritmul lui Akima.
2. La momentele 7.5 (adica ora 730 ), 10.5 (ora 1030 ), 13, 15.5 (ora 1530 ), 18, 21, 24 si
27 (adica ora 3 A. M. a doua zi) s-au masurat valorile glicemiei, obtinandu-se 130, 121,
128, 96, 122, 138, 114, 90 (masurate in mg/dl). Sa se aproximeze glicemia acestui pacient
de la orele 12, 14, 23 si 26 (a doua zi A. M. la ora 2) folosind algoritmul lui Akima.
Probleme propuse:
1. Sa se construiasca un algoritm pentru functia spline poligonala de interpolare al
c¼
arei gra…c este linia poligonal¼ a ce uneşte punctele (x0 ; y0 ); (x1 ; y1 ):::; (xn ; yn ) si sa se
programeze in limbajul C.
2. La momentele 7.5 (adica ora 730 ), 10.5 (ora 1030 ), 13, 15.5 (ora 1530 ), 18, 21, 24 si 27
(adica ora 3 A. M. a doua zi) s-au masurat valorile glicemiei, obtinandu-se 130, 121, 128,
96, 122, 138, 114, 90 (masurate in mg/100 ml). Sa se aproximeze glicemia acestui pacient
de la orele 12, 14, 23 si 26 (a doua zi A. M. la ora 2) folosind functia spline poligonala de
interpolare. Sa se compare rezultatele cu cele obtinute prin algoritmul lui Akima.
Probleme propuse
1. Se se construiasca un program in limbajul C pentru algoritmul functiei spline
parabolice generata de conditii initiale.
2. La momentele 7.5 (adica ora 730 ), 10.5 (ora 1030 ), 13, 15.5 (ora 1530 ), 18, 21, 24 si
27 (adica ora 3 A. M. a doua zi) s-au masurat valorile glicemiei, obtinandu-se 130, 121,
128, 96, 122, 138, 114, 90 (masurate in mg/dl). Sa se aproximeze glicemia acestui pacient
de la orele 12, 14, 23 si 26 (a doua zi A. M. la ora 2) folosind algoritmul de la problema
precedenta. Sa se compare rezultatele cu cele obtinute prin algoritmul lui Akima si prin
interpolare spline poligonala. Se da f00 = 2:
22 CAPITOLUL 1. METODE DE INTERPOLARE A FUNCTIILOR CONTINUE
xi x x xi 1
+ yi 1 + yi ; 8x 2 [xi 1 ; xi ]; 8i = 1; n:
hi hi
Pentru determinarea coe…cientilor Mi ; i = 0; n; din conditia s 2 C 1 [a; b] rezulta cerintele
s0i (xi ) = s0i (xi+1 ) ; 8i = 1; n 1: Acestea conduc la un sistem liniar de n-1 ecuatii cu n+1
necunoscute Mi ; i = 0; n
hi Mi 1 hi + hi+1 hi+1 Mi yi+1 yi yi yi 1
+ Mi + = ; 8i = 1; n 1:
6 3 6 hi+1 hi
La acestea se adauga inca doua conditii M0 = Mn = 0; sau s0 (x0 ) = f0 ; s0 (xn ) = fn (in
ipoteza ca sunt cunoscute f 0 (x0 ) = f0 si f 0 (xn ) = fn ). Adaugand de exemplu, ultimele
doua conditii se obtine sistemul
8 hM
>
<
i i 1
6
+ hi +h3 i+1 Mi + hi+16 Mi = yi+1
hi+1
yi yi yi 1
hi
; 8i = 1; n 1
h1 M 0 h1 M 1 y1 y0
+ 6 = h1 f0 (1.17)
>
:
3
hn M n 1 hn M n yn yn 1
6
+ 3 = fn hn
din care se determina in mod unic M0; M1 ; :::; Mn : Observam ca matricea acestui sistem
este tridiagonala diagonal dominanta si de aceea este nesingulara.
In [14] se arata ca functia spline cubica (1.16) ce indeplineste oricare din cele doua
conditii suplimentare de mai sus are proprietatile :
1.7. INTERPOLARE SPLINE CUBICA 23
Zb
J (g) = [g 00 (x)]2 dx
a
adica
J (s) = minfJ (g) : g 2 C 2 [a; b]; g (xi ) = yi ; 8i = 0; ng:
(ii) Aproximare uniforma pentru orice functie f 2 C 2 [a; b]; cu estimarea globala a
erorii p p
kf 0 s0 k b a kf 00 kC h
p p
kf sk b a kf 00 kC h h;
unde h = maxfhi : i = 1; ng:
Pentru functia spline cubica (1.16) veri…cand conditiile s0 (x0 ) = f0 ; s0 (xn ) = fn se
construieste urmatorul algoritm.
xj 1 < < xj :
Pasul 2. Executa
a0 := 2; c0 := 1; bn := 1
Pentru i = 1; n calculeaza
hi := xi xi 1 :
ai := 2
Pasul 3. Executa
6 y1 y0 6 yn yn 1
d0 := f0 ; dn = fn
h1 h1 hn hn
Pentru i = 1; n 1 calculeaza
hi
bi :=
hi + hi+1
ci = 1 bi
24 CAPITOLUL 1. METODE DE INTERPOLARE A FUNCTIILOR CONTINUE
6 yi+1 yi yi yi 1
di :=
hi + hi+1 hi+1 hi
Pasul 4. Executa
c0
0 :=
a0
Pentru i = 1; n 1 calculeaza
!i := ai bi i 1
ci
i :=
!i
Executa
!n := an bn n 1
Pasul 5. Executa
d0
z0 :=
2
Pentru i = 1; n calculeaza
di bi zi 1
zi :=
!i
Pasul 6. Determinarea solutiei M0; M1 ; :::; Mn a sistemului (1.17)
Executa
Mn := zn
Pentru i = n 1; 0 calculeaza
Mi := zi i Mi+1 :
Pasul 7. Calculeaza
" # " #
( xj 1 )3 hj ( xj 1 ) (xj )3 hi (xj )
s ( ) := Mj + Mj 1 +
6hj 6 6hj 6
xj xj 1
+ yj 1 + yj
hj hj
Pasul 8. Tipareste s ( ) : STOP.
Probleme propuse
1. Se se construiasca un program in limbajul C pentru algoritmul functiei spline cubice
generata de conditii bilocale.
2. La momentele 7.5 (adica ora 730 ), 10.5 (ora 1030 ), 13, 15.5 (ora 1530 ), 18, 21, 24 si
27 (adica ora 3 A. M. a doua zi) s-au masurat valorile glicemiei, obtinandu-se 130, 121,
128, 96, 122, 138, 114, 90 (masurate in mg/dl). Sa se aproximeze glicemia acestui pacient
de la orele 12, 14, 23 si 26 (a doua zi A. M. la ora 2) folosind algoritmul de la problema
precedenta. Sa se compare rezultatele cu cele obtinute prin algoritmul lui Akima si prin
interpolare spline poligonala. Se dau f0 = 2; f7 = 3:
1.7. INTERPOLARE SPLINE CUBICA 25
şi (
6 6mi 1
Mi = h2i
(yi yi 1 ) hi
2Mi 1
3 Mi 1 hi
; i = 1; n; (1.21)
mi = hi
(yi yi 1 ) 2mi 1 2
unde hi = xi xi 1 ; 8i = 1; n:
Prin utilizarea relaţiilor de recurenţ¼
a (1.21) se obţine in mod unic functia spline cubica
de interpolare pornind de la valorile y0; y1 ; :::; yn si de la valorile primelor doua derivate pe
primul nod, m0 si M0 : Estimarea erorii in formula corespunzatoare de interpolare spline
poate … gasita in [16] pentru cazurile f 2 Lip[a; b]; respectiv f 2 C 1 [a; b] cu f 0 2 Lip[a; b]:
Observatie: Valorile m0 si M0 sunt in general libere (experimental, de obicei se
determina y0; y1 ; :::; yn ) si pot … date astfel incat functia spline corespunzatoare sa aiba
proprietati suplimentare. Astfel, daca M0 = Mn = 0 atunci functia spline cubica cu
26 CAPITOLUL 1. METODE DE INTERPOLARE A FUNCTIILOR CONTINUE
a C 2 [a; b] ce interpoleaz¼
pe mulţimea funcţiilor de clas¼ a f pe nodurile diviziunii n : Adica,
se obtine o functie spline cubica naturala. Deasemenea, s şi s0 aproximeaz¼ a pe f şi
0
respectiv, f , cu o eroare estimat¼ a global astfel :
p 3
kf sk b a kf 00 kC h 2
p p
kf 0 s0 k b a kf 00 kC h: (1.23)
Pentru a avea Mn = 0 se poate obtine m0 astfel:
Se de…nesc a1 = 2; c1 = h61 ; b1 = h31 (y1 y0 ); d1 = 6
h21
(y1 y0 ) şi recurent se
calculeaza pentru i = 2; n
hi ci 1
ai = 2ai 1
2
3(yi yi 1 ) hi di 1
bi = 2bi 1 (1.24)
hi 2
şi
6ai 1
ci = 2ci 1
hi
6(yi yi 1 ) 6bi 1
di = 2di 1 : (1.25)
h2i hi
Punand
dn
M0 = 0 si m0 = (1.26)
cn
se va obtine Mn = 0:
xj 1 < < xj :
hi := xi xi 1
1.7. INTERPOLARE SPLINE CUBICA 27
Probleme propuse
1. Sa se construiasca un program in limbajul C pentru algoritmul functiei spline cubice
naturale generata de conditii initiale.
2. La momentele 7.5 (adica ora 730 ), 10.5 (ora 1030 ), 13, 15.5 (ora 1530 ), 18, 21, 24 si
27 (adica ora 3 A. M. a doua zi) s-au masurat valorile glicemiei, obtinandu-se 130, 121,
128, 96, 122, 138, 114, 90 (masurate in mg/dl). Sa se aproximeze glicemia acestui pacient
de la orele 12, 14, 23 si 26 (a doua zi A. M. la ora 2) folosind algoritmul de interpolare
spline cubic generat de conditii initiale cu m0 si M0 date in (1.26) prin folosirea subrutinei
de mai sus. Sa se compare rezultatele cu cele obtinute prin algoritmul lui Akima si prin
algoritmul de interpolare spline cubic generat de conditii bilocale.
28 CAPITOLUL 1. METODE DE INTERPOLARE A FUNCTIILOR CONTINUE
Capitolul 2
Atunci cand valorile unei functii pe nodurile xi ; i = 0; n pot … obtinute doar cu aproxi-
matie, problema interpolarii acestor valori îsi pierde justi…carea. O alternativa la aceasta
situatie este obtinerea polinomului, de un anumit grad …xat, situat cel mai aproape de
aceste valori. Un asemenea polinom se poate determina utilizand principiul celor mai mici
patrate descoperit de K. F. Gauss la inceputul secolului XIX.
Concret, …ind date nodurile xi ; i = 0; n si valorile unei functii obtinute experimental
(prin masurare) yi ; i = 0; n se cere sa se determine un polinom de grad p, p < n,
g (x) = ap xp + ::: + a1 x + a0
29
30 CAPITOLUL 2. AJUSTAREA IN MEDIE PATRATICA
Punctele (x0 ; y0 ); (x1 ; y1 ):::; (xn ; yn ) se reprezinta intr-un sistem de axe XOY, iar imag-
inea lor se numeste nor statistic. Daca forma norului statistic este asemanatoare unei
drepte atunci se poate presupune ca legea de dependenta dintre x si y este liniara. Astfel,
se va cauta dreapta cea mai apropiata de punctele norului statistic. Fie ecuatia carteziana
a acestei drepte,
y = ax + b
cu coe…cientii a si b necunoscuti. Consideram functia g (x) = ax + b si vom determina
coe…cientii ce minimizeaza reziduul (abatere patratica medie)
X
n X
n
R (a; b) = [f (xi ) g (xi )]2 = [yi axi b]2 :
i=0 i=0
Totodata,
@2R Xn
2
= 2 x2i > 0
@a i=0
si 2 !2 3
@2R @2R X n
1 X
n
1
= @a2
@2R
@a@b
@2R = 4 (n + 1)2 4 x2i xi 5 > 0;
@a@b @b2 i=0
n + 1 i=0
n + 1
in virtutea inegalitatii lui Jensen. Atunci, determinantul sistemului (2.1) este strict poz-
itiv si solutia sistemului (2.1) este unicul punct de minim local pentru reziduul R (a; b) :
Rezolvand acest sistem se determina coe…cientii din ecuatia dreptei de regresie.
Pasul 1. Calculeaza !2
X
n X
n
d := (n + 1) x2i xi
i=0 i=0
X
n X
n X
n
d1 := (n + 1) xi yi xi yi
i=0 i=0 i=0
X
n X
n X
n X
n
d2 := x2i yi xi yi xi
i=0 i=0 i=0 i=0
Pasul 2. Calculeaza
d1
a :=
d
d2
b :=
d
Pasul 3. Tipareste a; b: STOP.
Probleme propuse:
1. Sa se construiasca un program in limbajele C si Pascal pentru algoritmul dreptei
de regresie.
2. (din [25]) Fie tabelul de valori ale functiei y = f (x)
x 1 3 4 6 8 9
y 1 2 4 4 5 3
Sa se determine dreapta de regresie de ecuatie y = ax+b ce ajusteaza datele din tabel.
95 399
( Se gasesc a = 281 si b = 281 ).
X
n X
n
2
R (a; b; c) = [f (xi ) g (xi )] = [yi ax2i bxi + c]2 :
i=0 i=0
32 CAPITOLUL 2. AJUSTAREA IN MEDIE PATRATICA
Totodata,
@2R Xn
= 2 x4i > 0;
@a2 i=0
2 !2 3
@2R @2R Xn X
n X
n
= @a2
@2R
@a@b
@2R = 4 4 x2i x4i x3i 5>0
@a@b @b2 i=0 i=0 i=0
si
@2R @2R @2R
2 !2 3
@a2 @a@b @a@c X
n X
n X
n
@2R @2R @2R 4 4 5+
HR (a; b; c) = @a@b @b2 @b@c
= 8 xi (n + 1) x2i xi
@2R @2R @2R i=0 i=0 i=0
@a@c @b@c @c2
2 ! ! !2 3
X
n X
n X
n X
n
+8 x2i 4 xi x3i x2i 5+
i=0 i=0 i=0 i=0
" ! ! #
X
n X
n X
n X
n
+8 x3i xi x2i (n + 1) x3i > 0:
i=0 i=0 i=0 i=0
Atunci, determinantul sistemului (2.2) este strict pozitiv si solutia sistemului (2.2) este
unicul punct de minim local pentru reziduul R (a; b; c) : Rezolvand acest sistem se deter-
mina coe…cientii din ecuatia carteziana a parabolei de regresie,
y = ax2 + bx + c:
I. Date de intrare:
n numarul datelor
xi ; i = 0; n, valorile marimii x
yi ; i = 0; n, valorile marimii y
II. Date de iesire:
a; b; c coe…cientii din ecuatia carteziana a parabolei de regresie
III. Pasii algoritmului:
Pasul 1. Calculeaza
! ! ! ! !
Xn X n Xn Xn X
n
d := (n + 1) x2i x4i + 2 xi x2i x3i
i=0 i=0 i=0 i=0 i=0
!3 !2 ! !2
X
n X
n X
n X
n
x2i xi x4i (n + 1) x3i
i=0 i=0 i=0 i=0
! ! ! ! !
X
n X
n X
n X
n X
n
d1 := (n + 1) x2i x2i yi + xi x2i x i yi +
i=0 i=0 i=0 i=0 i=0
! ! ! !2 !
X
n X
n X
n X
n X
n
+ x3i xi yi x2i yi
i=0 i=0 i=0 i=0 i=0
!2 ! ! !
X
n X
n X
n X
n
xi x2i yi (n + 1) x3i xi yi
i=0 i=0 i=0 i=0
! ! ! ! !
X
n X
n X
n X
n X
n
d2 := (n + 1) xi yi x4i + x2i x3i yi +
i=0 i=0 i=0 i=0 i=0
! ! ! !2 !
X
n X
n X
n X
n X
n
+ xi x2i x2i yi x2i xi yi
i=0 i=0 i=0 i=0 i=0
! ! ! ! !
X
n X
n X
n X
n X
n
x4i xi yi (n + 1) x2i yi x3i
i=0 i=0 i=0 i=0 i=0
! ! ! ! ! !
X
n X
n X
n X
n X
n X
n
d3 := x4i x2i yi + xi x2i yi x3i +
i=0 i=0 i=0 i=0 i=0 i=0
! ! ! !2 !
X
n X
n X
n X
n X
n
+ x2i x3i xi yi x2i x2i yi
i=0 i=0 i=0 i=0 i=0
! ! ! !2 !
X
n X
n X
n X
n X
n
xi xi yi x4i x3i yi :
i=0 i=0 i=0 i=0 i=0
Pasul 2. Calculeaza
d1
a :=
d
34 CAPITOLUL 2. AJUSTAREA IN MEDIE PATRATICA
d2
b :=
d
d3
c :=
d
Pasul 3. Tipareste a; b; c: STOP.
Probleme propuse:
1. Sa se scrie un program in limbajul C pentru parabola de regresie.
2. Fie tabelul de valori ale functiei y = f (x)
x -2 -1 1 1.5 2 2.5 3 3.5 4 5
y 3 1 6 8 9 13 16 21 25 36
Sa se determine parabola de regresie de ecuatie y = ax2 + bx + c ce ajusteaza datele
din tabel.
Capitolul 3
Formule de cuadratura
Pentru o functie continua f : [a; b] ! R, cand primitiva sa se poate calcula sub forma
…nita, formula lui Leibniz-Newton permite calculul integralei de…nite
Zb
f (x) dx = F (b) F (a):
a
Zb
Cand primitiva F nu se poate determina sub forma …nita, atunci integrala de…nita f (x) dx
a
se poate calcula doar aproximativ, motivand astfel studiul si utilizarea formulelor de
cuadratura numerica.
In general, o formula de cuadratura este de forma
Zb X
n
f (x) dx = Ak f (xk ) + R(f )
a k=1
35
36 CAPITOLUL 3. FORMULE DE CUADRATURA
in care integrala se poate calcula doar aproximativ. Valorile functiei lui Laplace pentru
x 2 [0; 4] sunt aproximate in 401 noduri echidistante din intervalul [0; 4] si se gasesc
tabelate in tratatele de calculul probabilitatilor.
Consideram elipsa de ecuatie implicita
x2 y 2
(E) : + 2 1 = 0; a; b > 0; a > b
a2 b
p
a2 b2
cu excentricitatea = a
: Ecuatiile parametrice ale elipsei sunt
x = a cos t
(E) : ; t 2 [0; 2 ]:
y = b sin t
Incercand sa calculam lungimea arcului de elipsa cuprins in cadranul I putem folosi atat
ecuatiile parametrice la calculul integralei
Z2 q
E
l = [x0 (t)]2 + [y 0 (t)]2 dt
4
0
b
p
cat si ecuatia explicita y = a
a2 x2 ; x 2 [0; a];
la calculul integralei
Za q
E
l = 1 + [y 0 (x)]2 dx:
4
0
Z2 p
E
l =a 1 2 sin2 tdt:
4
0
Spre exemplu,
Za q Za r 4
E 2 1 a + (b2 a2 )x2
l = 1 + [y 0 (x)] dx = dx;
4 a a2 x 2
0 0
3.2. FORMULA TRAPEZULUI 37
Z2 r
E 1 a2 + (b2 a2 ) sin2 t
l = a cos tdt =
4 a cos2 t
0
Z2 q Z2 r
(a2 b2 )
= a2 + (b2 a2 ) sin2 tdt = a 1 sin2 tdt =
a2
0 0
Z2 p
=a 1 2 sin2 tdt:
0
Z' p
E(k; ') = 1 k 2 sin2 tdt
0
Z'
dt
p ;
1 + h sin2 t 1 k 2 sin2 t
0
Z2 p
l(P ) = 4aE( ; ) = 4a 1 2 sin2 tdt;
2
0
Zb
b a
f (x)dx = [f (a) + f (b)] + R(f ):
2
a
38 CAPITOLUL 3. FORMULE DE CUADRATURA
Pentru valoarea absolut¼ a a restului R(f ) se pot stabili margini superioare. Corespunz¼
ator
cu propriet¼aţile funcţiei f aceste margini superioare pot … mai apropiate sau mai înde-
p¼
artate de jR(f )j. Astfel, dac¼ a f 2 C[a; b] atunci estimarea se face cu ajutorul modulului
de continuitate,
b a b a
jR(f )j $(f ; ):
2 2
În [9] s-au obţinut recent urm¼ atoarele estim¼ ari :
8
> L(b a)2
< 4
; daca f 2 Lip[a; b]
jR(f )j
>
: (b a)2 kf 0 k ;
4
daca f 2 C 1 [a; b]:
Pentru f 2 C 2 [a; b] este cunoscuta estimarea clasic¼
a,
(b a)3 kf 00 k
jR(f )j :
12
Pentru funcţii cu derivata Lipschitz are loc:
Teorema: (in [6]) Dac¼ a f 2 C 1 [a; b] cu f 0 2 Lip[a; b], iar L0 > 0 este constanta
Lipschitz pentru f 0 , atunci
(b a)3 L0
jR(f )j :
12
Considerând o diviziune a intervalului [a; b];
: a = x0 < x1 < ::: < xn 1 < xn = b
not¼
am hi = xi+1 xi ; 8i = 0; n 1; şi
1X
n 1
In (f; ) = hi [f (xi ) + f (xi+1 )]:
2 i=0
Corespunz¼
ator diviziunii de mai sus se obţine :
Teorema: (in [6] si [9]) Formula trapezului corespunz¼
atoare diviziunii este
Zb
f (x)dx = In (f; ) + Rn (f; );
a
Zb X
n 1
b a i(b a)
f (x)dx = [f (a) + 2 f (a + ) + f (b)] + Rn (f ) (3.2)
2n i=1
n
a
şi 8 b a
>
> 2
$(f ; b2na ); dac¼
a f 2 C[a; b]
>
> (b a)2 L
>
< 4n
; dac¼a f 2 Lip[a; b]
(b a)2 kf 0 k
jRn (f )j 4n
; dac¼a f 2 C 1 [a; b] (3.3)
>
> 3
(b a) L 0
>
> ; dac¼
a f 0 2 Lip[a; b]
>
: 12n2
3
(b a) kf k00
12n2
; dac¼a f 2 C 2 [a; b]:
Observatie: Formula (3.2) se poate obtine si integrand formula de interpolare spline
poligonala cu noduri echidistante.
Fie functia integrabila f : [a; b] ! R cu valori cunoscute pe noduri echidistante din
intervalul [a,b].
De…nitia 1. Numim formula de cuadratura generalizata a trapezelor formula de
cuadratura obtinuta prin aplicarea formulei de cuadratura a trapezului pe …ecare subin-
terval
[a + (k 1)h; a + kh]; k = 1; n;
unde h = b na :
1. Formula de cuadratura a trapezelor este
Zb " #
b a X1
m
f (x) dx = f (a) + 2 f (a + kh) + f (b) + Rn (f ) :
2n k=1
a
(b a)3 00 (b a) h2 00
Rn (f ) = f ( )= f ( ); a < < b;
12n2 12
de unde
(b a)3 (b a) h2
jRn (f )j M 2 (f ) = M2 (f ):
12n2 12
3. Formula de cuadratura a trapezelor are gradul de exactitate 1.
4. (Metoda lui Romberg) Daca se considera in formula de cuadratura a trapezelor
n = 2p ; p = 0; 1; 2; :::
si se noteaza prin
b a b a
hp = = ; p = 0; 1; 2; :::
n 2p
X
n 1
Sp = f (a) + 2 f (ak ) + f (b); ak = a + khp ; k = 0; n;
k=1
40 CAPITOLUL 3. FORMULE DE CUADRATURA
cu
S0 = f (a) + f (b);
atunci urmatoarele formule de recurenta au loc
hp
hp+1 = ;
2
p
X
2
Sp+1 = Sp + 2 f (a + (2k 1) hp+1 ) ; p = 0; 1; :::
k=1
deci
Zb
hp
f (x) dx Sp :
2
a
I. Date de intrare:
a, b: capetele intervalului
n: numarul de subintervale al diviziunii
f : expresia functiei de sub integrala
3.2. FORMULA TRAPEZULUI 41
Zb
II. Date de iesire: f (x) dx valoarea aproximativa a acestei integrale.
a
III. Pasii algoritmului:
1. Se citesc datele: a,b,n
2. Se creaza procedura de introducere a functiei f
3. Se construiesc nodurile diviziunii:
Pentru i = 0; n calculeaza
i (b a)
x[i] = a +
n
4. Calculul sumei integrale:
S := 0
Pentru i = 1; n calculeaza
(b a)
T := S
2n
6. A…sarea rezultatului:
Tipareste T . STOP
Probleme propuse:
1. Sa se scrie un program in limbajul C pentru algoritmul cuadraturii clasice a trapezu-
lui.
2. Sa se utilizeze formula de cuadratura a trapezului pentru n=10 la calculul integralei
Z 1
1
dx
0 x+1
folosind faptul ca
arctan x
lim = 1:
x!0 x
5. Sa se utilizeze formula de cuadratura a trapezului pentru n=20 la calculul integralei
Z2 p
1 2 sin2 tdt
0
0
6
unde a = 149; 6 10 km.
(b a)5 f IV
jR(f )j (3.5)
720
pentru functii f 2 C 4 [a; b]: Recent, în 2001, N.Barnett şi S.S.Dragomir au obţinut în [2]
o estimare ce utilizeaz¼a derivata de ordinul trei,
(b a)4 kf 000 k
jR(f )j (3.6)
160
pentru f 2 C 3 [a; b]: Ulterior, în 2002, au fost conduşi la o estimare valabil¼
a pentru funcţii
de 3 ori derivabile cu derivata de ordinul 3 Lipschitz (având constanta Lipschitz L000 , a se
vedea [3]) :
(b a)5 L000
jR(f )j : (3.7)
720
Considerând o diviziune a intervalului [a; b] :
Zb
1X 1 X 2 0
n 1 n 1
f (x)dx = hi [f (xi ) + f (xi+1 )] h [f (xi+1 ) f 0 (xi )] + Rn (f; In ) (3.8)
2 i=0 12 i=0 i
a
kf 000 k X 4
n 1
jRn (f; In )j h: (3.9)
160 i=0 i
b a
Dac¼
a diviziunea In este echidistant¼
a atunci hi = h = n
; 8i = 0; n 1; iar formula se
simpli…ca (3.8) devenind,
Zb X
n 1
b a (b a)2 0
f (x)dx = [f (a) + 2 f (xi ) + f (b)] [f (b) f 0 (a)] + Rn (f ): (3.10)
2n i=1
12n2
a
(b a)4 kf 000 k
jRn (f )j : (3.11)
160n3
iar inegalitatile (3.7) si (3.5) ne conduc la estimarile
8
(b a)5 L000
>
< 720n4
jRn (f )j (3.12)
>
: (b a)5 kf IV k
720n4
:
Pasul 2. Calculeaza
T := 0
Pentru i = 1; n calculeaza
T := T + [f (xi 1 ) + f (xi )]
Pasul 3. Calculeaza
(b a) (b a)2
S := T 2
[f 0 (b) f 0 (a)]:
2n 12n
Pasul 4. Tipareste S. STOP.
Probleme propuse :
1. Sa se scrie un program in limbajul C pentru algoritmul cuadraturii perturbate a
trapezului.
2. Sa se utilizeze formula de cuadratura perturbata a trapezului pentru n=10 la
calculul integralei Z 1
1
dx
0 x+1
si sa se compare rezultatul cu valoarea exacta a acestei integrale ln 2:
3. Sa se utilizeze formula de cuadratura a perturbata a trapezului pentru n=10 la
calculul integralei Z 1:5
t2
e 2 dt;
0
si sa se compare cu rezultatul de la paragraful precedent si cu cel dat in tabelele de valori
ale functiei integrale a lui Laplace.
4. Sa se utilizeze formula de cuadratura perturbata a trapezului pentru n=20 la
calculul integralei
Z2 p
1 2 sin2 tdt
0
cu = 0; 016729 si apoi sa se calculeze o aproximatie pentru lungimea orbitei Pamantului
in jurul Soarelui
Z2 p
L (P ) = 4a 1 2 sin2 tdt;
0
6
unde a = 149; 6 10 km.
(b a)5 (iv)
R (f ) = f ( ); a < < b;
2880
astfel pentru evaluarea erorii (a se vedea [4], [17]) avem
(b a)5
jR (f )j M4 (f );
2880
unde
M4 (f ) = maxf f IV (x) : x 2 [a; b]g:
De…nitia 1. Numim formula de cuadratura a lui Simpson repetata formula de cuadratura
obtinuta prin aplicarea formulei de cuadratura a lui Simpson pe …ecare subinterval
[a + 2 (k 1) h; 2kh] ; k = 1; n; unde h = b2na :
1. Formula de cuadratura repetata a lui Simpson este
Zb " #
b a X
n X
n 1
f (x) dx = f (a) + 4 f (a + (2k 1) h) + 2 f (a + 2kh) + f (b) + Rn (f ) :
6n k=1 k=1
a
n = 2p ; p = 0; 1; 2; :::
si se noteaza prin
b a b a
hp = = ; p = 0; 1; 2; :::
2n 2p+1
cu
S0 = f (a) + f (b);
X
n
Sp(1) = f (a + (2k 1) hp ) ; p = 0; 1; 2; :::
k=1
X
n 1
Sp(2) = f (a + 2khp ) ; p = 0; 1; 2; :::
k=1
46 CAPITOLUL 3. FORMULE DE CUADRATURA
(2)
cu S0 = 0; atunci au loc relatiile de recurenta
1
hp+1 = hp ;
2
(2)
Sp+1 = Sp(2) + Sp(1) ;
deci
Zb
hp
f (x) dx S0 + 2Sp(2) + 4Sp(1) :
3
a
Zb
Algoritmul calculeaza valoarea aproximativa a integralei f (x) dx prin formula repetata
a
a lui Simpson, cu o precizie data :
Intrari: a,b-limitele de integrare
f-expresia functiei
precizia dorita
Zb
Iesiri: f (x) dx-valoarea aproximativa
a
Pasul 1: (Initializari)
p := 0; hp := b 2 a ; S0 := f (a) + f (b); n0 := 1;
(2) (1) (2) (1)
S0 := 0; S0 := f (a + h0 ); I0 := h3 S0 + 2Sp + 4Sp
Pasul 2: p := p + 1
Pasul 3: hp := 12 hp 1
Pasul 4: np := 2np 1
(2) (2) (1)
Pasul 5: Sp := Sp 1 + Sp 1
(1)
Pasul 6: Sp := 0
Pasul 7: Pentru k := 1; np executa
(1) (1)
Sp := Sp + f (a + (2k 1) hp )
(2) (1)
Pasul 8: Ip := h3p S0 + 2Sp + 4Sp
Pasul 9: Daca jIp Ip 1 j atunci
salt la pasul al doilea
Pasul 10: Tipareste Ip : STOP.
Observatie: Formula de cuadratura repetata a lui Simpson se poate scrie si sub forma
Zb X
n
b a b a
f (x) dx = [f (a) + 2 f a+i +
6n k=1
n
a
3.4. FORMULA LUI SIMPSON 47
X
n
b a b a
+4 [f a+i +f a + (i 1) ] + f (b)] + Rn (f )
k=1
n n
cu aceeasi estimare a erorii.
Algoritmul cuadraturii clasice a lui Simpson
I. Date de intrare:
a,b capetele intervalului de integrare
n, numarul nodurilor
f functia ce se integreaza
Rb
II. Date de iesire : T , valoarea aproximativa a integralei f (x)dx
a
III. Pasii algoritmului
1. Se citesc datele: a,b,n
2. Se creaza procedura de introducere a functiei f
3. Se construiesc nodurile diviziunii:
Pentru i = 0; n calculeaza
i (b a)
x[i] = a +
n
4. Calculul sumei integrale:
S := 0; M := 0
Pentru i = 1; n calculeaza
S := S + (f (x[i]) + f (x[i 1]))
x[i 1] + x[i]
M := M + f
2
5. Calculul aproximatiei integralei:
(b a)
T := (S + 4M )
6n
6. A…sarea rezultatului:
Tipareste T . STOP
Probleme propuse
0
48 CAPITOLUL 3. FORMULE DE CUADRATURA
0
6
unde a = 149; 6 10 km. Sa se compare rezultatele obtinute folosind cuadratura trapezu-
lui, cuadratura perturbata a trapezului si cuadratura lui Simpson.
(b a)5 (iv)
R (f ) = f ( ); a < < b;
6480
astfel pentru evaluarea erorii (a se vedea [4], [17]) avem
(b a)5
jR (f )j M4 (f );
6480
unde
M4 (f ) = maxf f IV (x) : x 2 [a; b]g:
Pentru formula repetata a lui Newton se considera o diviziune echidistanta a interval-
ului [a; b];
: a = x0 < x1 < ::: < xn 1 < xn = b
cu
i (b a)
xi = a + ; i = 0; n
n
si punctele care impart in trei segmente de lungimi egale …ecare subinterval [xi 1 ; xi ]; i =
1; n :
xi xi 1 2(xi xi 1 )
yi = xi 1 + ; zi = xi 1 + ; i = 1; n
3 3
si se obtine formula
Zb " n #
b a X X X
n n
f (x) dx = (f (xi ) + f (xi 1 )) + 3 f (yi ) + 3 f (zi ) + Rn (f )
8 k=1 k=1 k=1
a
cu estimarea erorii
(b a)5
jRn (f )j M4 (f ):
6480n4
3.5. FORMULA LUI NEWTON 49
i (b a)
x[i] = a +
n
4. Se construiesc nodurile din interiorul subintervalelor
Pentru i = 1; n calculeaza
x[i] x[i 1]
y[i] := x[i 1] +
3
2(x[i] x[i 1])
z[i] := x[i 1] +
3
5. Calculul sumelor integrale
Fie S := 0; U := 0; V := 0
Pentru i = 1; n calculeaza
U := U + f (y[i])
V := V + f (z[i])
6. Calculul aproximatiei integralei:
(b a)
T = (S + 3U + 3V )
8n
7. A…sarea rezultatului:
Tipareste T . STOP.
1. Sa se scrie un program in limbajul C pentru algoritmul cuadraturii lui Newton.
1
2. Se considera functia f (x) = 1+x : Sa se calculeze valoarea aproximativa a integralei
Z1
f (x) dx; cu o precizie = 10 1 ; = 10 2 ; = 10 3 ; folosind formulele repetate ale
0
lui Simpson, respectiv Newton..
50 CAPITOLUL 3. FORMULE DE CUADRATURA
Capitolul 4
(p)
pentru p = 1; n 1; iar i; j = p + 1; n; in ipoteza ca app 6= 0; p = 1; n:
(p)
Observatia 1. (a se vedea [7]) Asigurarea conditiilor app 6= 0; p = 1; n; se poate
(p)
face prin procedeul pivotului maxim. Astfel, pentru a asigura ca app 6= 0; se determina,
(p)
dintre elementele aij ; i; j = p; n; elementul cu valoarea absoluta maxima. Fie acesta
(p) (p)
aip jp : Schimband intre ele liniile p si ip respectiv coloanele p si jp , elementul aip jp va
ocupa pozitia (p,p). Matricea A …ind nesingulara, acest element este diferit de zero.
Observatia 2. Pentru a evita unele schimbari de coloane, se poate folosi o pivotare
(p)
partiala. Astfel, daca app = 0, se schimba linia p cu linia ip pentru care avem
n o
(p)
aip ;p = max aip ; i = p + 1; n :
51
52 CAPITOLUL 4. REZOLVAREA SISTEMELOR LINIARE
(p)
In cazul in care aip = 0; i = p; n; se va face uz si de schimbarea coloanelor.
2) rezolvarea sistemului triunghiular folosind metoda substitutiei inverse:
xn = b(n) (n)
n =ann ;
" #
1 Xn
(p)
xp = (p)
b(p)
p apj xj ; p = n 1; 1:
app j=p+1
Algoritmul (Gauss)
Algoritmul rezolva sistemul liniar Ax = b prin metoda lui Gauss, alegandu-se drept
varianta de implementare aceea a pivotului maxim.
Intrari: n-ordinul matricei
A-matricea sistemului
b- vectorul termenilor liberi
Iesiri: x-vectorul solutiilor, sau
un mesaj de eroare, in cazul in care sistemul nu e compatibil determinat
Pasul 1: (crearea unui vector auxiliar p) Pentru k = 1; n; executa: pk := k
Pasul 2: Pentru k = 1; n 1; executa
Pasul 2.1: determina i; j 2 fk; k + 1; :::; ng astfel incat:
jaij j = max jar;q j ; r; q = k; n
Pasul 2.2: Daca aij = 0 atunci
Tipareste:”Sistemul nu este compatibil determinat”. STOP.
Pasul 2.3: Schimba linia i cu linia k din matricea A
Pasul 2.4: Schimba componentele i si k in vectorul b
Pasul 2.5: Schimba coloana j cu coloana k in matricea A
Pasul 2.6: Schimba componentele i si k ale vectorului p.
Pasul 2.7: Pentru i = k + 1; n executa
Pasul 2.7.1:
aik
temp :=
akk
Pasul 2.7.2: Pentru j = k + 1; n executa
Probleme propuse
1. Sa se scrie un program in limbajul C pentru algoritmul lui Gauss..
2. Sa
8 se rezolve sistemele:
>
> 2x1 + x2 4x3 + x4 = 0
<
4x1 + 3x2 + 5x3 2x4 = 10
(a) ;
>
> x1 x2 + x3 x4 = 3
:
x1 + 3x2 3x3 + 3x4 = 1
(solutia exacta este 72 ; 27 ; 52 ; 12 )
8
< 2x1 + 2x2 + 2x3 = 6
(b) x1 x2 = 2 :
:
3x1 + x2 + 2x3 = 8
(solutia
8 exacta este (2; 0; 1))
>
> x1 + 2x2 + 3x3 2x4 = 6
<
2x1 x2 2x3 3x4 = 8
(c)
>
> 3x1 + 2x2 x3 + 2x4 = 4
:
2x1 3x2 + 2x3 + x4 = 8
(solutia exacta este (1; 2; 1; 2))
folosind algoritmul lui Gauss si sa se compare rezultatul obtinut cu solutia exacta
punand in evidenta singura eroare care poate apare in acest caz, eroarea de trunchiere si
rotunjire a masinii de calcul la efectuarea operatiilor aritmetice.
=( ij )i;j=1;n ; = ( 1 ; :::; n)
54 CAPITOLUL 4. REZOLVAREA SISTEMELOR LINIARE
(k+1)
X
n
(k)
fxi = ij xj + i , i = 1; n: (4.4)
j=1
(0) 1 0
x1
Iteraţiile (4.3) vor porni de la un vector iniţial arbitrar, x(0) = @ ::: A : Astfel, este
(0)
xn
de…nit un proces iterativ Picard. Aplicând principiul de punct …x al lui Banach vom
obţine condiţii su…ciente de convergenţ¼
a a acestui proces. :
Teorema: (in [4]) Dac¼ a det A 6= 0 şi k k1 < 1; atunci sistemul (4.1) are o unic¼ a
n
soluţie x 2 R , ce este limita şirului de…nit prin recurenţ¼
a în (4.3) indiferent de vectorul
iniţial x(0) : Dac¼
a x(0) = atunci are loc urm¼ atoarea estimare a erorii (apriori, respectiv
a posteriori):
(k) k kk1
x x 1
k k1 ; 8k 2 N : (4.5)
1 k k1
k k1
x x(k) 1
x(k) x(k 1)
1
1 k k1
Observatia 1: O conditie su…cienta pentru a avea k k1 < 1 se obtine tinand cont
de expresia normei pentru matrici,
X
n
k k1 = max j i;j j : (4.6)
i=1;n
j=1
4.2. METODA ITERATIVA A LUI IACOBI 55
Astfel,
X
n X
n
ai;j X n
max j i;j j = max <1, jai;j j < jai;i j ; 8i = 1; n
i=1;n
j=1
i=1;n
j=1
ai:i j=1;j6=i
X
n
jai;j j < jai;i j ; 8i = 1; n:
j=1;j6=i
atunci sirul de…nit de procesul iterativ (4.3) este convergent si sistemul (4.1) are o unic¼a
soluţie x 2 Rn , obtinuta ca limita acestui sir.
In conditiile acestui corolar, sirul x(k) k2N este convergent, adica fundamental in Rn
si atunci un criteriu de oprire al algoritmului lui Iacobi este: pentru " > 0 dat, sa se
determine primul numar natural k astfel incat,
(k) (k 1)
xi xi < "; 8i = 1; n:
Pentru i = 1; n
calculeaza u(k + 1:i) := 0
ai;j
Pentru j = 1; n calculeaza u(k + 1; i) := u (k + 1; i) + ai;i
x (k; j)
calculeza x(k + 1; i) := u (k + 1; i) + x (k; i) + beta (i)
7) Pentru k pentru care se realizeaza
57
58 CAPITOLUL 5. METODE NUMERICE PENTRU ECUATII NELINIARE
b a
jxn xj ;
2n
daca xn = an sau xn = bn :
0 < m1 f 0 (x) M1 ; 8x 2 J
a f 0 (x) =
( acest lucru se poate realiza dac¼ 6 0 şi atunci când f 0 (x) < 0; c¼
aci ecuaţia
f (x) = 0 poate … pus¼a sub forma f (x) = 0 ). Apoi, ecuaţia f (x) = 0 se pune sub
forma echivalent¼ax=x a avem k'0 k1 < 1;
f (x) ; unde > 0 se alege astfel încât s¼
60 CAPITOLUL 5. METODE NUMERICE PENTRU ECUATII NELINIARE
şi se va pune ' (x) = x f (x) : Pentru a determina constanta > 0 pornim de la
inegalitatea
0 '0 (x) = 1 f 0 (x) q<1
m1
ceea ce va conduce la a alege = M11 şi atunci vom obţine q = 1 M 1
< 1:
Observatia 4: Dac¼ a intervalul compact J nu conţine originea şi funcţia ' este bi-
jectiv¼ a şi când j'0 (x)j
a, atunci ecuaţia (5.1) poate … rezolvat¼ k > 1: În acest caz
procesul iterativ ar deveni divergent. De aceea se pune ecuaţia (5.1) sub forma echiva-
not
a x = ' 1 (x) = (x) : Vom … conduşi la soluţia ecuaţiei (5.1), iar procedura iterativa
lent¼
Picard corespunz¼ atoare este convergent¼
a, deoarece
0 1 1
j (x)j = = q < 1:
'0 ( (x)) k
Calculeaza
Tipareste xn : STOP.
Probleme propuse :
1. Sa se construiasca un program in limbajul C pentru metoda aproximatiilor succe-
sive.
2. Folosind metoda aproximatiilor succesive sa se aproximeze solutia din intervalul
(1,2) a ecuatiei
x4 x 1 = 0:
3. Folosind metoda aproximatiilor succesive sa se aproximeze radacina reala a ecuatiei
x3 x 1 = 0:
5.3. METODA APROXIMATIILOR SUCCESIVE PENTRU SISTEME NELINIARE61
x5 5x + 1 = 0
situata in intervalul ( 1; 1) :
5. Folosind metoda aproximatiilor succesive sa se aproximeze radacina reala a ecuatiei
lui Kepler
x = sin x + 0:25
situata in intervalul 4 ; 2 : Radacina se va izola, folosind metoda sirului lui Rolle si
injumatatirea intervalului, ajungand la intervalul (1:1; 1:3) si se va lua x0 = 1:2: Atunci
q = 0:62 = cos 520 si aplicand procedeul recurent (5.2) se va obtine pentru x5 = 1:172
eroare mai mica decat 0:0016:
Convergenţa acestui şir este asigurat¼ a de calitatea de contracţie a funcţiei ': Pentru a
obţine calitatea de contracţie pentru ' va …su…cient s¼
a presupunem c¼ a 'i 2 C 1 (D) ; 8i =
1; n şi s¼a g¼
asim constanta de contracţie cu ajutorul normei matricii Jacobi a lui ';
@ '
'0 = @ xij ; i; j = 1; n: Astfel, în spaţiul de matrici putem considera norma Cebîşev,
@'i X
n
@'i (x)
k'0 k1 = ; i; j = 1; n = max max :
@xj 1 i n
j=1
x2D @xj
62 CAPITOLUL 5. METODE NUMERICE PENTRU ECUATII NELINIARE
x = F (x; y)
y = G(x; y);
xn+1 = F (xn ; yn )
(5.9)
yn+1 = G(xn ; yn );
cu (x0 ; y0 ) 2 D:
Daca sirul (xn ; yn )n 0 este convergent si F; G sunt continue pe D, atunci limita
sirului este solutia (x ; y ) :
5.3. METODA APROXIMATIILOR SUCCESIVE PENTRU SISTEME NELINIARE63
atunci (xn ; yn ) ! (x ; y ) :
Observatia 4. Un exemplu de norma ce poate … considerata este
@F @F @G @G
kW k = M = max max + max ; max + max : (5.10)
D @x D @y D @x D @y
Calculeaza
xn+1 := F (xn ; yn )
yn+1 := G(xn ; yn );
Tipareste xn ; yn : STOP.
Probleme propuse :
1. Sa se construiasca un program in limbajul C pentru metoda aproximatiilor succesive
asociata sistemelor neliniare de doua ecuatii cu doua necunoscute.
64 CAPITOLUL 5. METODE NUMERICE PENTRU ECUATII NELINIARE
f (x; y) = 2x2 xy 5x + 1 = 0
g (x; y) = x + 3 lg x y 2 = 0:
Se va considera r
x (y + 5) 1
F (x; y) =
2
p
si G (x; y) = x + 3 lg x si atunci sistemul devine
( q
x = x(y+5)
2
1
p
y = x + 3 lg x
jf (xn )j
jxn xj ;
m1 (f )
sau
M2 (f )
jxn xj (xn xn 1 )2 ;
2m1 (f )
5.4. METODA LUI NEWTON PENTRU ECUATII SCALARE 65
unde
m1 (f ) = inf jf 0 (x)j si M2 (f ) = sup jf 00 (x)j
[a;b] [a;b]
jxn xj (xn xn 1 )2 :
f (xn )
xn+1 = xn :
f 0 (x0 )
Observatia 4. Algoritmul a fost dat pentru cazul in care solutia ecuatiei a fost izolata
in intervalul [a,b], iar functiile f 0 si f 00 au semn constant pe acest interval. Alegerea
lui x0 la pasul 1 este evidenta.
Probleme propuse
f (x) := x3 + x 0; 1 = 0:
x3 x 1 = 0:
5. Folosind metoda tangentei sa se calculeze cea mai mica radacina pozitiva a ecuatiei
x tgx = 0:
Metoda lui Newton de aproximare a solutiilor sistemului (5.12) se bazeaza pe formula lui
Taylor si furnizeaza un sir recurent de aproximatii a …ecarei solutii pornind de la un punct
initial x0 = (x01 ; :::; x0n ) 2 V D: Mai precis, se construieste sirul de…nit recurent prin,
xk+1 = xk Jf 1
xk f xk ; k 2 N: (5.13)
(iv) = 2nA0 B0 C 1: Atunci procesul iterativ al lui Newton descris de sirul (5.13) este
convergent,
lim xk = x
k!1
iar metoda este stabila in raport cu alegerea punctului initial intr-o bila centrata in x0 cu
raza mai mica decat 12 B0 :
Observatia 1: Metoda modi…cata a lui Newton este generata de sirul recurent:
xk+1 = xk Jf 1
x0 f xk ; k 2 N;
in care se evalueaza matricea Iacobi Jf (x0 ) la …ecare pas doar pe punctul initial.
Observatia 2: Considerand sistemul de doua ecuatii neliniare cu doua necunoscute
F (x; y) = 0
(5.14)
G (x; y) = 0
cu F; G 2 C 2 (D) ; D R2 ; metoda lui Newton se obtine din formula lui Taylor neglijand
termenii ce contin derivatele partiale de ordinul doi:
@F @F 1 @2F
F (x; y) = F (xn ; yn )+ (xn ; yn ) (x xn )+ (xn ; yn ) (y yn )+ [ 2 ( ; ) (x xn )2 +
@x @y 2 @x
@2F @2F
+2 ( ; ) (x xn ) (y yn ) + ( ; ) (y yn )2 ]
@x@y @y 2
@G @G 1 @2G
G (x; y) = G (xn ; yn )+ (xn ; yn ) (x xn )+ (xn ; yn ) (y yn )+ [ 2 ( 0 ; 0 ) (x xn )2 +
@x @y 2 @x
@2G 0 0 @2G 0 0
+2 ( ; ) (x xn ) (y yn ) + ( ; ) (y yn )2 ];
@x@y @y 2
0 0
; …ind situate intre x si xn ; iar ; …ind situate intre y si yn : Astfel,
@F @F
F (x; y) F (xn ; yn ) + (xn ; yn ) (x xn ) + (xn ; yn ) (y yn )
@x @y
@G @G
G (x; y) G (xn ; yn ) + (xn ; yn ) (x xn ) + (xn ; yn ) (y yn ) :
@x @y
68 CAPITOLUL 5. METODE NUMERICE PENTRU ECUATII NELINIARE
Calculeaza
1 @G @F
x1 := x0 [F (x0 ; y0 ) (x0 ; y0 ) G (x0 ; y0 ) (x0 ; y0 )]
J (x0 ; y0 ) @y @y
1 @F @G
y1 := y0 [ (x0 ; y0 ) G (x0 ; y0 ) (x0 ; y0 ) F (x0 ; y0 )]
J (x0 ; y0 ) @x @x
4. Pentru n 0; cat timp
Calculeaza
@F @G @F @G
J (xn ; yn ) := (xn ; yn ) (xn ; yn ) (xn ; yn ) (xn ; yn )
@x @y @y @x
1 @G @F
xn+1 := xn [F (xn ; yn ) (xn ; yn ) G (xn ; yn ) (xn ; yn )]
J (xn ; yn ) @y @y
1 @F @G
yn+1 := yn [ (x0 ; y0 ) G (xn ; yn ) (x0 ; y0 ) F (xn ; yn )]
J (xn ; yn ) @x @x
5. Pentru n 2 N ; pentru care
Tipareste n; xn ; yn : STOP.
Probleme propuse:
1. Sa se construiasca algoritmul metodei modi…cate a lui Newton.
2. Sa se scrie un program in C pentru algoritmul metodei tangentei si pentru modi…-
carea acesteia prezentata in Observatia 3.
3. Cu metoda lui Newton sa se gaseasca solutia aproximativa a sistemului
2x3 y2 1=0
xy 3 y 4=0
x2 + y 2 = 10
p :
x+y =2
pornind odata de la punctul initial (x0 ; y0 ) = (0:9; 3:1) si apoi de la punctul initial
(x0 ; y0 ) = (2:9; 1:1) cu " = 10 6 si sa se compare rezultatul obtinut cu solutia exacta
(1; 3) ; respectiv (3; 1) :
70 CAPITOLUL 5. METODE NUMERICE PENTRU ECUATII NELINIARE
f (xn )
xn+1 = xn (b xn ) ; x0 = a; (5.18)
f (b) f (xn )
sau
f (xn )
xn+1 = xn (a xn ) ; x0 = b; (5.19)
f (a) f (xn )
spunem ca se utilizeaza metoda coardei pentru aproximarea solutiei x :
Observatia 1. Daca sirul (xn )n 0 este convergent si f 2 C[a; b], atunci limita
sirului este x :
Observatia 2. Aproximarea initiala x0 se alege dupa cum urmeaza
iar aceste doua posibilitati acopera toate cazurile in care putem obtine convergenta
metodei coardei. Se observa ca ambele siruri date de procesele iterative (5.18) sau (5.19)
sunt monoton convergente.
Proprietatea 1. Daca f 2 C 2 [a; b] si f 0 ; f 00 au semn constant pe [a,b], atunci
xn ! x :
Proprietatea 2. (a se vedea [22]) In conditiile proprietatii 1., eroarea absoluta
comisa se evalueaza prin
jf (xn )j
jxn x j ;
m1 (f )
sau
M1 (f ) m1 (f )
jxn x j jxn xn 1 j ;
m1 (f )
unde
m1 (f ) = inf jf 0 (x)j si M1 (f ) = sup jf 0 (x)j ;
x2[a;b] x2[a;b]
jxn xj jxn xn 1 j :
expresia functiei f
valorile f 00 (a) ; f 00 (b) necesare pentru alegerea primului termen de
iteratie
II. Date de iesire: n ultima iteratie
xn aproximatia solutiei la ultima iteratie, sau sirul de aproximatii
xi ; i = 0; n
III. Pasii algoritmului
1. Se introduc datele a; b; "
2. Se de…neste expresia functiei f
3. Se introduc valorile f 00 (a) ; f 00 (b)
4. Daca f (a) f 00 (a) < 0 atunci x (0) := a
4.1. Fie
f (x0 )
x1 := x0 (b x0 )
f (b) f (x0 )
4.2. Pentru n 0; cat timp
Calculeaza
f (xn )
xn+1 := xn (b xn )
f (b) f (xn )
Tipareste n; xn : STOP.
altfel treci la pasul 5.
00
5. Daca f (b) f (b) < 0 atunci x (0) := b
5.1. Fie
f (x0 )
x1 = x0 (a x0 )
f (a) f (x0 )
5.2. Pentru n 0; cat timp
Calculeaza
f (xn )
xn+1 = xn (a xn )
f (a) f (xn )
Tipareste n; xn : STOP.
altfel treci la pasul 4.
72 CAPITOLUL 5. METODE NUMERICE PENTRU ECUATII NELINIARE
Deoarece in oricare din cazurile considerate in (5.20) sirul recurent dat de metoda lui
Newton si sirul dat de metoda coardei sunt monoton convergente avand tipuri contrare de
monotonie, rezulta ca solutia ecuatiei se va situa intotdeauna intre cele doua aproximatii
de acelasi rang date de aceste metode. Din acest motiv, precizia se poate imbunatati
combinand cele doua metode, iar aproximatia solutiei se va lua ca media aritmetica a
aproximatiilor de acelasi rang date de cele doua metode. Astfel de metode combinate se
prezinta in continuare.
De…nitia 2. Spunem ca avem metoda combinata secanta-tangenta, daca se constru-
ieste sirul de intervale
sau
xt0 ; xs0 xt1 ; xs1 ::: xtn ; xsn ::: (5.22)
astfel incat x 2 (xsn ; xtn ) ; respectiv x 2 (xtn ; xsn ) ; iar
f (xtn )
xtn+1 = xtn ;
f 0 (xtn )
f (xsn )
xsn+1 = xsn xt xsn :
f (xtn ) f (xsn ) n
Observatia 4. Daca f (a)f 0 (a) < 0 se ia xs0 = a si xt0 = b; caz in care se obtine
sirul (5.21), iar daca f (b)f 0 (b) < 0 se ia xs0 = b si xt0 = a; caz in care se obtine sirul
(5.22).
Observatia 5. Daca xn = xtn sau xn = xsn avem evaluarea
Pasul 4: n := n + 1
Pasul 5: Daca jxtn xsn j < eps atunci SOL:=xtn : STOP
altfel mergi la Pasul 2.
Observatia 6. Reamintim ca algoritmul a fost dat pentru cazul in care f (a)f (b) < 0
(exista o solutie in intervalul [a,b]) si semnul functiei f 00 e constant pe intervalul [a,b].
O alta posibilitate de alegere a xs0 si xt0 este cea data de Observatia 4., in care nu e
necesara cunoasterea semnului derivatei a doua a functiei f.
Observatia 7. Ca aproximatie a solutiei ecuatiei se poate considera xsn sau xtn , dar
exista si o alta posibilitate
xs + xtn
SOL:= n :
2
Observatia 8. In aplicatii se cere aproximarea unei solutii pentru o ecuatie data, cu
eroare precizata. De obicei, eroarea este precizata prin distanta intre 2 aproximatii succe-
sive jxn xn 1 j : In general insa, jxn xn 1 j nu implica intotdeauna jxn x j < :
De aceea, sunt foarte utile metodele combinate prin care solutia x este aproximata din
ambele parti, ea a‡andu-se mereu intre 2 aproximante succesive:
Probleme propuse
x3 x 1 = 0:
hf (a) = f (a + h) f (a) ;
iar diferenta …nita de ordinul k cu pasul h pe nodul a relativa la functia f; este data
recurent prin,
k k 1 k 1 k 1
hf (a) = h h f (a) = h f (a + h) h f (a) :
75
76 CAPITOLUL 6. METODE NUMERICE PENTRU ECUATII DIFERENTIALE
cu conditiile la limita
y (a) = A; y (b) = B (6.6)
si p; q; f 2 C[a; b]: Presupunem ca problema bilocala (6.5)+(6.6) are solutie unica pe [a; b]:
Se considera o diviziune echidistanta a intervalului [a; b] prin nodurile
xi = a + i h; i = 0; n
1
cu h = n
(b a) si se fac notatiile
y (xi+1 ) y (xi 1 )
y 0 (xi ) = (6.8)
2h
y (xi+1 )
2y (xi ) + y (xi 1 )
y 00 (xi ) = : (6.9)
h2
Notand yi = y (xi ) ; i = 0; n, din (6.7), (6.8) si (6.9) se obtine sistemul liniar
1 1
h2
(yi+1 2yi + yi 1 ) + 2h
pi (yi+1 yi 1 ) + qi yi = fi ; i = 1; n 1
(6.10)
y0 = A; yn = B:
Rezolvand sistemul (6.10) de n-1 ecuatii cu n-1 necunoscute y1 ; :::; yn 1 se obtine aproxi-
matia solutiei problemei bilocale (6.5)+(6.6) pe nodurile diviziunii considerate.
xi := a + i h
6.2. METODA LUI EULER 77
Pasul 3. Executa
y0 := A; yn := B
Pasul 4. Rezolva sistemul
(2 h pi ) yi 1 + (2h2 qi 4) yi + (2 + h pi ) yi+1 = 2h2 fi ; i = 1; n 1
y0 = A; yn = B:
Probleme propuse
1. Sa se construiasca un program in limbajul C pentru algoritmul metodei retelelor.
2. Folosind metoda retelelor sa se rezolve problema bilocala
y 0 = f (x; y)
; x 2 [x0 ; x0 + T ] (6.11)
y(x0 ) = y0
x x0 0 (x x0 )2 00
y(x) = y(x0 ) + y (x0 ) + y (x0 ) + ::: (6.12)
1! 2!
Avand in vedere (6.11) si folosind pentru derivatele partiale ale lui f notatiile
@f @2f
fx = ; fxy = ; ...
@x @x@y
se obtine
y0 = f
y 00 = fx + fy y 0 = fx + fy f
y 000 = fxx + 2fxy f + fyy f 2 + fx fy + fy2 f:
78 CAPITOLUL 6. METODE NUMERICE PENTRU ECUATII DIFERENTIALE
Deci,
x x0 (x x0 )2 (1)
y(x) = y0 + f (x0 ; y0 ) + f (x0 ; y0 ) + :::
1! 2!
(x x0 )p 1
::: + f (p 1)
(x0 ; y0 ) + ::: (6.13)
p!
unde f (j) este derivata totala de ordinul j a functiei f (x; y (x)) in raport cu x. Se
observa ca f (j) = y (j+1) :
Prin transcrierea seriei (6.13) si alegerea unui pas de lungime h, x x0 = h; se poate
evalua solutia y in punctul x1 := x0 + h: Mai departe, calculand derivatele y 0 ; y 00 ; ::: in
punctul x1 ; se poate aproxima y(x2 ); x2 := x1 + h: Continuand in acest mod se obtine
o multime discreta de valori yk care aproximeaza solutia y in punctele xk := x0 + kh;
si yk y (xk ) ; k = 1; 2; :::.
In felul acesta, suntem condusi la o metoda iterativa de aproximare discreta a solutiei
y a problemei (6.11).
hp
yk+1 = yk + hf (xk ; yk ) + ::: + f (xk ; yk ) :
p!
Introducand polinomul lui Taylor
h (1) hk 1 (k 1)
(Tk f ) (x; y) = f (x; y) + f (x; y) + ::: + f (x; y); k = 1; 2; :::
2! k!
formula (6.13) se scrie sub forma:
y(x) = y0 + hf (x0 ; y0 )
yk+1 = yk + hf (xk ; yk ) ; k = 0; n
in care h = Tn ; xi = x0 + ih; i = 1; n:
Datorita interpretarii sale geometrice, metoda lui Euler se mai numeste si metoda
liniiilor poligonale. Estimarea erorii comise (a se vedea [1]) este:
h2
jy (xk ) yk j ky 00 kC ; 8k = 1; n: (6.15)
2
Probleme propuse
1. Sa se scrie un program in limbajul C pentru metoda lui Euler.
2. Sa se rezolve problema lui Cauchy
y 0 = x2 y
; x 2 [0; 4]
y(0) = 1
y 0 = y + x; x 2 [0; 1]
:
y(0) = 1
y (x) = 2ex x 1:
h h
yi+1 = yi + h f x i + ; yi + f (xi ; yi ) ; i = 0; n
2 2
80 CAPITOLUL 6. METODE NUMERICE PENTRU ECUATII DIFERENTIALE
h (1) hk 1 (k 1)
(Tk f ) (x; y) = f (x; y) + f (x; y) + ::: + f (x; y); k = 1; 2; :::
2! k!
si formula
y(x) = y0 + h (Tk f ) (x; y)
genereaza metodele de tip Runge-Kutta pentru k = 1; 2; 3; 4:
Pentru k = 1 se obtine metoda lui Euler (Runge-Kutta de ordinul I).
Pentru k = 2 se obtine metoda Runge-Kutta de ordinul al II-lea data recurent prin
1
yi+1 = yi + (K0 + K1 ) ; i = 0; n; n 2 N,
2
unde
K0 = hf (xi ; yi ); K1 = hf (xi + h; yi + K0 ); y0 dat.
Pentru k = 3 se obtine metoda Runge-Kutta de ordinul al III-lea (numita si metoda lui
Runge) generata recurent prin
1
yi+1 = yi + (K0 + 4K1 + K2 ) ; i = 0; n; n 2 N, y0 dat, (6.16)
6
K0 = hf (xi ; yi );
1 1
K1 = hf (xi + h; yi + K0 );
2 2
K2 = hf (xi + h; yi + 2K1 K0 ):
Cea mai des folosita este metoda Runge-Kutta de ordinul al IV-lea (numita si metoda lui
Kutta …ind obtinuta pentru k = 4) generata recurent prin
1
yi+1 = yi + (K0 + 2K1 + 2K2 + K3 ) ; i = 0; n; n 2 N, y0 dat, (6.17)
6
K0 = hf (xi ; yi );
1 1
K1 = hf (xi + h; yi + K0 );
2 2
1 1
K2 = hf xi + h; yi + K1 ;
2 2
K3 = hf (xi + h; yi + K2 ):
Ordinul de marime al erorii de trunchiere in metodele Runge-Kutta este de hk+1 :(a se
vedea [8], [1]). Pentru estimarea erorii in metoda Runge-Kutta de ordinul IV are loc:
Teorema: (a se vedea [19]) Considerand problema Cauchy
y 0 = f (x; y)
y(x0 ) = y0
82 CAPITOLUL 6. METODE NUMERICE PENTRU ECUATII DIFERENTIALE
@ if
; i = 1; 4; j; k = 0; i; j + k = i:
@xj @y k C
h K1
K2 = h f x[i 1] + ; y[i 1] +
2 2
h K2
K3 = h f x[i 1] + ; y[i 1] +
2 2
K4 = h f (x[i 1] + h; y[i 1] + K3 )
1
y[i] = y[i 1] +
(K1 + 2K2 + 2K3 + K4 )
6
5. Pentru i = 1; n tipareste y[i]: Stop.
Observatia 1. In cazul in care functia f nu depinde de y, procedeul lui Runge (6.16)
se reduce la regula de integrare a lui Simpson.
Probleme propuse
1. Sa se scrie un program in limbajul C pentru metoda lui Runge-Kutta.
2. Se considera problema Cauchy
y 0 = y + x; x 2 [0; 1]
:
y(0) = 1
6.5. METODA APROXIMATIILOR SUCCESIVE 83
y (x) = 2ex x 1:
y0 (x) = y0 ; 8x 2 [a; b]
Zx
ym (x) = y0 + f (s; ym 1 (s))ds; 8x 2 [a; b]; 8m 2 N : (6.19)
a
i (b a)
xi = a + ; 8i = 0; n
n
84 CAPITOLUL 6. METODE NUMERICE PENTRU ECUATII DIFERENTIALE
Pentru calculul aproximatiilor succesive discrete ale solutiei date in (6.20) se foloseste
formula de cuadratura a trapezului cu estimarea erorii data in [9] pentru functii Lipschitz,
obtinandu-se algoritmul:
y0 (xi ) = y0 ; 8i = 0; n
y1 (x0 ) = y0
(b a) X
i
y1 (xi ) = y0 + [f (xj 1 ; y0 ) + f (xj ; y0 )] + R1;i = y1 (xi ) + R1;i ; 8i = 1; n
2n j=1
a) X
i
(b
y2 (xi ) = y0 + [f (xj 1 ; y1 (xj 1 ) + R1;j 1 ) + f (xj ; y1 (xj ) + R1;j )] + R2;i =
2n j=1
y2 (x0 ) = y0
a) X
i
(b
= y0 + [f (xj 1 ; y1 (xj 1 )) + f (xj ; y1 (xj ))] + R2;i = y2 (xi ) + R2;i ; 8i = 1; n:
2n j=1
a) X
i
(b
+f (xj ; ym 1 (xj ) + Rm 1;j )] + Rm;i = y0 + [f (xj 1 ; ym 1 (xj 1 ))+
2n j=1
unde
M 00 = M2 (M + 1)2 + M12 (M + 1)
@2f @2f @2f
M2 = maxf ; ; g
@x2 C @x@y C @y 2 C
@f @f
M1 = maxf ; g:
@x C @y C
a) X
i
(b
y[1; i] = y0 + (f (x[j 1]; y0 ) + f (x[j]; y0 )
2n j=1
calculeaza
y[m; 0] = y0
Pentru i = 1; n calculeaza
a) X
i
(b
y[m; i] = y0 + (f (x[j 1]; y[m 1; j 1]) + f (x[j]; y[m 1; j]))
2n j=1
86 CAPITOLUL 6. METODE NUMERICE PENTRU ECUATII DIFERENTIALE
Probleme propuse
1. Sa se scrie un program in limbajul C pentru metoda aproximatiilor succesive.
2. Se considera problema Cauchy
y 0 = y + x; x 2 [0; 1]
:
y(0) = 1
y (x) = 2ex x 1:
Se va lua " = 10 6 : Sa se compare rezultatele cu cele date de metoda lui Euler si metoda
Runge-Kutta. Sa se observe la ce iteratie s-a oprit algoritmul. Micsorand pasul prin
cresterea numarului de puncte, n = 20; sa se observe eroarea obtinuta si sa se determine
iteratia la care s-a oprit algoritmul.
Bibliogra…e
[1] O. Agratini, I. Chiorean, Gh. Coman, R. Trîmbiţaş, Analiz¼a numeric¼a şi teoria aprox-
im¼arii, vol.3, Presa Univ.Clujean¼
a, Cluj-Napoca, 2002.
[4] A. Bica, S. G. Gal, Analiza numerica. Metode numerice, partea a doua, Litogra…a
Univ. Oradea 1998.
[5] A. M. Bica, Survey on the numerical methods for ODE’s using the sequence of succe-
sive approximations, RGMIA Research Report Collection, vol.8, no.1, article 7, 1-16,
2005.
[6] A.M. Bica, Metode numerice iterative pentru ecuatii operatoriale, Editura Universi-
tatii din Oradea, 2006.
[7] P. Blaga, S. Pop, Gh. Coman, Analiza numerica : lucrari de laborator, Universitatea
Babes-Bolyai Cluj-Napoca, 1994.
[8] C. M. Bucur, C. A. Popeea, Gh. Gh. Simion, Matematici speciale. Calcul numeric,
Ed. Didactic¼
a şi Ped., Bucureşti, 1983.
[9] P.Cerone, S.S. Dragomir, Trapezoidal and Midpoint-Type Rules from Inequalities
Point of View, Handbook of Analytic Computational Methods in Applied Mathe-
matics ( G.A. Anastassiou ed.), Chapman&Hall/CRC Press, Boca Raton, London,
New York , Washington DC, 2000.
[12] B.Demidovitch, I.Maron, Elements de calcul numerique, Ed. Mir, Moscow, 1979.
87
88 BIBLIOGRAFIE
[13] S.G. Gal, Analiza numerica. Aproximarea functiilor, partea intai, Editura Universi-
tatii din Oradea, 1994.
[15] C.Iancu, On the cubic spline of interpolation, Seminar of Functional Analysis and
Numerical Methods, Preprint 4, Cluj-Napoca, (1981), 52-71.
[16] C.Iancu, C.Must¼ aţa, Error estimation in the approximation of functions by interpo-
lation cubic splines, Mathematica, Tome 29 (52), No1, (1987),33-39.
[19] D.V. Ionescu, Ecuatii diferentiale si integrale, editia a doua, Ed. Didactica si Peda-
gogica, Bucuresti 1972.
[20] Gh. Marinescu, Analiza numerica, Editura Academiei R.S. Romania, Bucuresti 1974.
[22] Gh. Sireţchi, Calcul diferential si integral, vol.1, Ed. Stiinti…ca si Enciclopedica, Bu-
curesti 1985.
[23] D.D.Stancu, Gh.Coman, O.Agratini, R.Trîmbiţaş, Analiz¼a numeric¼a şi teoria aprox-
im¼arii, vol.1, Presa Univ. Clujean¼
a, Cluj-Napoca, 2001.
[24] D.D.Stancu, Gh.Coman, P.Blaga, Analiz¼a numeric¼a şi teoria aproxim¼arii, vol.2,
Presa Univ.Clujean¼
a, Cluj-Napoca, 2002.