Sunteți pe pagina 1din 88

INDRUMATOR DE LUCRARI DE

LABORATOR DE CALCUL NUMERIC

ALEXANDRU MIHAI BICA VIORICA PURJE


2
Cuprins

Introducere 5

1 Metode de interpolare a functiilor continue 7


1.1 Diferente divizate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2 Polinomul de interpolare al lui Lagrange . . . . . . . . . . . . . . . . . . . 9
1.2.1 Algoritmul lui Aitken . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.2.2 Algoritmul lui Newton . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.3 Polinomul de interpolare a lui Taylor . . . . . . . . . . . . . . . . . . . . . 15
1.4 Interpolarea Hermite neteda pe portiuni . . . . . . . . . . . . . . . . . . . 16
1.5 Interpolare spline liniara . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.6 Interpolare spline parabolica . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.7 Interpolare spline cubica . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.7.1 Spline cubic complet general de conditii bilocale . . . . . . . . . . . 22
1.7.2 Spline cubic natural generat de conditii initiale . . . . . . . . . . . 25

2 Ajustarea in medie patratica 29


2.1 Metoda celor mai mici patrate: dreapta de regresie . . . . . . . . . . . . . 29
2.2 Metoda celor mai mici patrate: parabola de regresie . . . . . . . . . . . . . 31

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

4 Rezolvarea sistemelor liniare 51


4.1 Metoda directa a lui Gauss . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.2 Metoda iterativa a lui Iacobi . . . . . . . . . . . . . . . . . . . . . . . . . . 53

5 Metode numerice pentru ecuatii neliniare 57


5.1 Metoda injumatatirii intervalului . . . . . . . . . . . . . . . . . . . . . . . 57
5.2 Metoda aproximatiilor succesive pentru ecuatii scalare . . . . . . . . . . . . 59
5.3 Metoda aproximatiilor succesive pentru sisteme neliniare . . . . . . . . . . 61
5.4 Metoda lui Newton pentru ecuatii scalare . . . . . . . . . . . . . . . . . . . 64
5.5 Metoda lui Newton pentru sisteme neliniare . . . . . . . . . . . . . . . . . 66

3
4 CUPRINS

5.6 Metoda coardei . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

6 Metode numerice pentru ecuatii diferentiale 75


6.1 Metoda retelelor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
6.2 Metoda lui Euler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
6.3 Metoda lui Heun . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
6.4 Metoda Runge-Kutta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
6.5 Metoda aproximatiilor succesive . . . . . . . . . . . . . . . . . . . . . . . . 83

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

Metode de interpolare a functiilor


continue

1.1 Diferente divizate


Consideram intr-un interval I R, multimea de noduri

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

notatie f (ar+1 ) f (ar )


Df (ar ) = [ar ; ar+1 ; f ] = ; r = 0; m 1:
ar+1 ar

De…nitia 2: Se numeste diferenta divizata de ordinul k cu nodurile ar ; ar+1 ; :::; ar+k ;


relativa la functia f; expresia

notatie Dk 1 f (ar+1 ) Dk 1 f (ar )


Dk f (ar ) = [ar ; ar+1 ; :::; ar+k ; f ] = ; (1.1)
ar+k ar

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

Pasul 3. A…seaza Dk fi ; k = 1; m; i = 0; m k; sau a…seaza numai Dm f0 : STOP.

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-

entele divizate relativ la nodurile 3; 1; 0; 1; 1:5 pina la ordinul 4.


3. Pentru functia densitate de probabilitate a lui Gauss
1 1 2
x
f : R ! R; f (x) = p e 2
2
sa se construiasca tabloul de diferente divizate pina la ordinul 5 cu nodurile echidistante
ak = a + kh; k = 0; 5; h = 0:4:

1.2 Polinomul de interpolare al lui Lagrange


Sunt prezentate formula de interpolare a lui Newton ce foloseste recurent diferentele di-
vizate (diagonala tabloului de diferente divizate) si procedura de interpolare a lui Aitken
pentru polinomul lui Lagrange.
Se considera cunoscute valorile functiei f : [a; b] ! R; pe nodurile distincte ak 2 [a; b];
k = 0; m; yk = f (ak ) :
De…nitia 1: Se numeste polinomul de interpolare al lui Lagrange relativ la functia
f si la nodurile ak ; k = 0; m; polinomul de grad minim Lm f care satisface conditiile de
interpolare
Lm f (ak ) = f (ak ) = yk ; 8k = 0; m:
Observatie: Gradul polinomului Lm f este m, iar conditiile de interpolare de mai
sus conduc la un sistem liniar de m + 1 ecuatii cu cei m + 1 coe…cienti ca necunoscute si
astfel, polinomul de interpolare al lui Lagrange este unic determinat de aceste conditii de
interpolare. Se obtine expresia lui Lm f ,
X
m
u (x)
Lm f (x) = f (ak ) ; 8x 2 [a; b]; (1.2)
k=0
(x ak ) u0 (ak )

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

f (x) = Lm f (x) + Rm f (x) ; x 2 [a; b] (1.3)

are loc estimarea erorii :


ju (x)j [x; a0 ; :::; am ; f ]; 8x 2 [a; b]; daca f 2 C[a; b]
jRm f (x)j 1 (1.4)
(m+1)!
ju (x)j f (m+1) C 8x 2 [a; b]; daca f 2 C m+1 [a; b]:
10 CAPITOLUL 1. METODE DE INTERPOLARE A FUNCTIILOR CONTINUE

Din punct de vedere practic, dându-se o fonctie f : [a; b] ! R; cunoscuta doar pe


nodurile ak 2 [a; b]; k = 0; m; si precizându-se o eroare admisa " > 0, se cere sa se
determine m 2 N si sa se aproximeze valoarea f ( ) prin Lm f ( ) cu o eroare ce nu depas-
este ": In acest caz, presupunandu-se cunoscut un majorant Mm+1 (f ) ; pentru normele
derivatelor f (k) C ; k = 0; m + 1 se determina m astfel incat

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.2.1 Algoritmul lui Aitken


O metoda mult mai practica este stabilita prin algoritmul lui Aitken, bazat pe urmatoarea
proprietate de recurenta a polinomului lui Lagrange:
Proprietatea de recurenta: Notand L0 f (x; aj ) = f (aj ) ; j = 0; m se obtine relatia
de recurenta
x ai
Lm f (x; a0 ; a1 ; :::; am ) = Lm 1 f (x; a0 ; :::; ai 1 ; ai+1 ; :::; am )
ak ai
x ak
Lm 1 f (x; a0 ; :::; ak 1 ; ak+1 ; :::; am ); k; i = 0; m; 8x 2 [a; b]:
ak ai
Metoda lui Aitken consta in generarea tabloului
a0 f00
a1 f10 f11
a2 f20 f21 f22
a3 f30 f31 f32 f33
.. .. .. .. ..
. . . . .
am fm0 fm1 fm2 fm3 ..... fmm
unde fi0 = f (ai ) ; i = 0; m, iar elementele celorlalte coloane sunt calculate prin

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

si analog se obtine pentru i = 2; m

fii = Li f (x)

adica polinomul de interpolare Lagrange relativ la nodurile a0 ; a1 ; :::; ai :


1.2. POLINOMUL DE INTERPOLARE AL LUI LAGRANGE 11

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

lim Lm f (x) = f (x) ;


m!1

ceea ce in baza criteriului lui Cauchy este echivalent cu

lim jfii fi 1;i 1 j = 0:


i!1

De aici rezulta un criteriu de oprire a algoritmului lui Aitken dat de conditia

jfii fi 1;i 1 j <"

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).

Algoritmul lui Aitken:


I. Date de intrare:
m gradul maxim al polinomului de interpolare
ai ; i = 0; m; nodurile de interpolare
f expresia functiei, sau valorile ei pe nodurile de interpolare f (ai ) ; i = 0; m
" eroarea absoluta maxima admisibila
2 [a; b] punctul in care se aproximeaza functia f:
II. Date de iesire:
Li f ( ) valoarea calculata cu precizia ceruta (i m este gradul polinomului pentru
care s-a atins aceasta precizie)
sau un mesaj de eroare in care se speci…ca faptul ca in conditiile date nu s-a putut
calcula o aproximatie cu precizia dorita.
III. Pasii algoritmului:
Pasul 1. Se ordoneaza nodurile in functie de distanta lor fata de punctul ; adica
Pentru i = 0; m
Pentru j = i + 1; m
Daca jai j > jaj j atunci u := a[i]; a[i] := a[j]; a[j] := u;
Pasul 2. Pentru i = 0; m executa fi0 := f (ai ) ;
12 CAPITOLUL 1. METODE DE INTERPOLARE A FUNCTIILOR CONTINUE

Pasul 3. Pentru i = 1; m si j = 0; i 1 calculeaza


1
fi;j+1 = [fjj (ai ) fij (aj )];
ai aj

Daca jfii fi 1;i 1 j < " atunci tipareste Li f ( ) = fii : STOP


Altfel, i := i + 1;
Pasul 4. Daca jfmm fm 1;m 1 j < " atunci tipareste Lm f ( ) = fmm :
Altfel, tipareste " Nu s-a putut calcula o aproximatie cu precizia dorita ".
STOP.

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 1:0 1:1 1:3 1:5 1:6


f (x) 1 1:032 1:091 1:145 1:17
Folosind algoritmul lui Aitken, sa se calculeze f (1:15) cu o eroare absoluta maxima
de 10 3 :
3. Valorile unei functii f sunt date pe noduri prin intermediul tabelului
x 1:00 1:08 1:13 1:20 1:27 1:31 1:38
f (x) 1:17520 1:30254 1:38631 1:50946 1:21730 1:22361 1:23470
Folosind algoritmul lui Aitken, sa se calculeze cu o precizie de 10 5 valorile functiei in
punctele 1:134; 1:151; 1:185:

1.2.2 Algoritmul lui Newton


Newton a dat o formula utila, din punct de vedere al calcului si al usurintei de progra-
mare (in virtutea modului recurent de constructie), pentru polinomul de interpolare al lui
Lagrange.
Pentru a obtine aceasta formula consideram diferentele divizate

[x; a0 ; f ]; [x; a0 ; a1 ; f ]; :::; [x; a0 ; a1 ; :::; am ; f ]

exprimate cu ajutorul diferentelor de ordin inferior,


[x; a0 ; a1 ; :::; am 1 ; f ] [a0 ; a1 ; :::; am ; f ]
[x; a0 ; a1 ; :::; am ; f ] =
x am
[x; a0 ; a1 ; :::; am 2 ; f ] [a0 ; a1 ; :::; am 1 ; f ]
[x; a0 ; a1 ; :::; am 1 ; f ] =
x am 1
.....................................................................................

[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

Eliminând din aceste m + 1 relatii diferentele divizate [x; a0 ; :::; ak ; f ]; k = 0; m 1 ,


adica inmultind a doua egalitate cu x 1am , pe a treia egalitate cu (x am 11)(x am ) si asa mai
departe pina ultima egalitate se inmulteste cu
1
(x a1 ) ::: (x am )

si adunând egalitatile obtinute membru cu membru si apoi exprimând f (x) se obtine

X
m
f (x) = f (a0 ) + (x a0 ) ::: (x ai 1 ) [a0 ; a1 ; :::; ai ; f ] + u (x) [x; a0 ; :::; am ; f ]:
i=1

Astfel, s-a obtinut tocmai formula de interpolare a lui Lagrange

f (x) = Nm f (x) + Rm f (x) ; x 2 [a; b] (1.5)

cu polinomul de interpolare dat prin formula lui Newton


X
m
Nm f (x) = f (a0 ) + (x a0 ) ::: (x ai 1 ) [a0 ; a1 ; :::; ai ; f ] = (1.6)
i=1

X
m
= f (a0 ) + (x a0 ) ::: (x ai 1 ) Di f0
i=1

iar restul dat cu ajutorul diferentelor divizate

Rm f (x) = u (x) [x; a0 ; :::; am ; f ]:

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

Nk f (x; a0 ; :::; ak ) = Nk 1 f (x; a0 ; :::; ak 1 ) + (x a0 ) ::: (x ak 1 ) [a0 ; :::; ak ; f ];

8k = 1; m; unde N0 f (x) = f (a0 ) : Aceasta proprietate permite construirea recurenta a


acestui polinom (deci programare mai facila) precum si oprirea algoritmului odata atinsa
precizia dorita, dupa ce in prealabil s-au reordonat nodurile in functie de distanta lor pina
la punctul in care dorim sa aproximam functia f: Astfel se obtin iterativ polinoamele
lui Newton de gradele 1, 2, ... intr-un mod asemanator cu generarea polinoamelor lui
Lagrange prin metoda lui Aitken. Criteriul de oprire este asemanator. Daca

jNk f ( ) Nk 1 f ( )j < "

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

Algoritmul polinomului lui Newton:


I. Date de intrare:
m gradul maxim al polinomului de interpolare
ak ; k = 0; m; nodurile de interpolare
f expresia functiei, sau valorile ei pe nodurile de interpolare f (ak ) ; k = 0; m
" eroarea absoluta maxima admisibila
2 [a; b] punctul in care se aproximeaza valoarea functiei f:
II. Date de iesire:
Nk f ( ) valoarea calculata cu precizia ceruta (k m este gradul polinomului pentru
care s-a atins aceasta precizie)
sau un mesaj de eroare in care se speci…ca faptul ca in conditiile date nu s-a putut
calcula o aproximatie cu precizia dorita.
III. Pasii algoritmului:
Pasul 1. Se ordoneaza nodurile in functie de distanta lor fata de punctul ; adica
Pentru k = 0; m
Pentru j = k + 1; m
Daca jak j > jaj j atunci u := a[k]; a[k] := a[j]; a[j] := u;
Pasul 2. Se calculeaza diferentele divizate [a0 ; :::; ak ; f ] = Dk f0 ; k = 0; m utilizand
procedura din paragraful 1.2 sau obtinând aici iterativ,
D0 fk := f (ak ) ; pentru k = 0; m
si
Dj 1 fk+1 Dj 1 fk
Dj fk := pentru j = 1; m si pentru k = 0; m j:
ak+j ak
Pasul 3. k := 0; N0 f ( ) = f (a0 )
Pasul 4. Pentru k 0 cat timp k < m executa
Nk f ( ) := Nk 1 f ( ) + ( a0 ) ::: ( ak 1 ) [a0 ; :::; ak ; f ]
Daca jNk f ( ) Nk 1 f ( )j < " atunci tipareste Nk f ( ) : STOP.
Pasul 5. Daca jNm f ( ) Nm 1 f ( )j < " atunci tipareste Nm f ( ). STOP.
Altfel, tipareste " Nu s-a putut calcula o aproximatie cu precizia dorita ".
STOP.
Probleme propuse :
1.Sa se construiasca un program
p in limbajul C pentru algoritmul lui Newton.
2. Valorile functiei f (x) = 3 x sunt date pe noduri in tabelul
x 1:0 1:1 1:3 1:5 1:6
f (x) 1 1:032 1:091 1:145 1:17
Folosind algoritmul lui Newton, sa se calculeze f (1:15) cu o eroare absoluta maxima
de 10 5 :
3. Valorile unei functii f sunt date pe noduri prin intermediul tabelului
x 1:00 1:08 1:13 1:20 1:27 1:31 1:38
f (x) 1:17520 1:30254 1:38631 1:50946 1:21730 1:22361 1:23470
Folosind algoritmul lui Newton, sa se calculeze cu o precizie de 10 5 valorile functiei
in punctele 1:134; 1:151; 1:185: Sa se compare cu valorile obtinute prin algoritmul lui
Aitken. Apoi, sa se calculeze cu o precizie de 10 5 valorile functiei in punctele 1.140,
1.175, 1.195, cu ajutorul algoritmului lui Newton.
1.3. POLINOMUL DE INTERPOLARE A LUI TAYLOR 15

1.3 Polinomul de interpolare a lui Taylor


Consideram functia f : [a; b] ! R; pentru care sunt cunoscute pe nodurile ak [a; b];
k = 0; m; valorile f (j) (ak ) ; j = 0; rk ; k = 0; m; unde rk 2 N si …e n = m + r0 + ::: + rm :
De…nitia 1: Se numeste polinomul de interpolare al lui Hermite relativ la functia f
, la nodurile ak ; k = 0; m; si la valorile f (j) (ak ) ; j = 0; rk ; k = 0; m; polinomul de
grad minim Hn f care satisface conditiile de interpolare :

Hn f (j) (ak ) = f (j) (ak ) ; 8j = 0; rk ; 8k = 0; m: (1.7)

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)

iar in formula de interpolare a lui Hermite

f (x) = Hn f (x) + Rn f (x) ; x 2 [a; b]

estimarea restului este


1
jRn f (x)j ju (x)j f (n+1) C
8x 2 [a; b]; daca f 2 C n+1 [a; b]:
(n + 1)!

Pentru m = 0 si n = r0 in formula (1.8) se obtine polinomul lui Taylor ca un polinom


de interpolare cu un singur nod multiplu de ordinul n+1,
X
n
(x a0 )k (k)
Tn f (x) = f (a0 ) (1.9)
k=0
k!

iar estimarea restului este


1
jRn f (x)j jx a0 jn+1 f (n+1) C
daca f 2 C n+1 [a0 h; a0 + h]:
(n + 1)!

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

Algoritm pentru polinomul lui Taylor


I. Date de intrare:
n gradul polinomului de interpolare
a nodul de interpolare
(k)
f (a) ; k = 0; n; valorile pe nodul a
u 2 [a; b] punctul in care se aproximeaza valoarea functiei f
II. Date de iesire:
Tn f (u) aproximatia lui f (u) prin polinomul lui Taylor
III. Pasii algoritmului:
Pasul 1. …e f0 := f (a) , p (0) := 1 si pentru k = 1; n

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)

Pasul 3. Tipareste Tn f (u) : STOP.

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):

1.4 Interpolarea neteda pe portiuni prin polinomul


lui Hermite cu noduri duble. Metoda lui Akima
Pentru f : [a; b] ! R; f 2 C 1 [a; b]; polinomul de interpolare al lui Hermite cu doua noduri
duble este unic determinat de conditiile

P (a) = f (a) ; P 0 (a) = f 0 (a)


P (b) = f (b) ; P 0 (b) = f 0 (b)
1.4. INTERPOLAREA HERMITE NETEDA PE PORTIUNI 17

avand pe [a; b] expresia

(b x)2 (x a) 0 (x a)2 (b x) 0
P (x) = f (a) f (b) +
(b a)2 (b a)2

(b x)2 [2 (x a) + (b a)] (x a)2 [2 (b x) + (b a)]


+ f (a) + f (b) :
(b a)3 (b a)3
Daca f 2 C 4 [a; b] atunci pentru estimarea erorii formulei de interpolare

f (x) = P (x) + R (x) (1.10)

avem
(b a)4
jR (x)j 7
f (4) C
8x 2 [a; b]:
3 2
Considerand o diviziune a intervalului [a; b]

: a = x0 < x1 < ::: < xn 1 < xn = 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

F (xi ) = f (xi ) ; F 0 (xi ) = f 0 (xi ) ; 8i = 0; n

cerând ca restrictia functiei F la …ecare subinterval [xi 1 ; xi ]; i = 1; n sa …e Fi dat prin

(xi x)2 (x xi 1 ) 0 (x xi 1 )2 (xi x) 0


Fi (x) = f (xi 1 ) f (xi ) + (1.11)
(xi xi 1 )2 (xi xi 1 )2

(xi x)2 [2 (x xi 1 ) + (xi xi 1 )] (x xi 1 )2 [2 (xi x) + (xi xi 1 )]


+ f (xi 1 )+ f (xi ) :
(xi xi 1 )3 (xi xi 1 )3
Se observa ca Fi00 exista pe intervalele deschise (xi 1 ; xi ) pentru orice i = 1; n si este un
polinom de gradul intai. Atunci F 00 este continua pe portiuni si marginita pe [a; b]: Prin
urmare, F 2 C 1 [a; b] \ L2 [a; b]: In cele ce urmeaza vom nota yi = f (xi ) ; 8i = 0; n:
Algoritmul de mai jos realizeaza aproximarea valorii f ( ) a functiei f intr-un punct
2 [a; b]; 6= xi ; 8i = 0; n prin valoarea F ( ) : De cele mai multe ori, sunt cunos-
cute (prin masuratori experimentale) doar valorile f (xi ), i = 0; n; urmand ca valorile
derivatei pe noduri sa …e aproximate. O metoda de aproximare, generata prin rationa-
mente de natura geometrica, a fost propusa de H. Akima in 1970 si este expusa in [14]. Pe
scurt, dandu-se nodurile xi ; i = 0; n si valorile yi ; i = 0; n, se calculeaza intai pantele
xi+1 xi
mi = ; i = 0; n 1
ti+1 ti
iar apoi, se aproximeaza valorile derivatelor pe unele dintre nodurile interioare prin,
jmi+2 mi+1 j mi 1 + jmi 1 mi 2 j mi+1
f 0 (xi ) = ; i = 2; n 3: (1.12)
jmi+2 mi+1 j + jmi 1 mi 2 j
18 CAPITOLUL 1. METODE DE INTERPOLARE A FUNCTIILOR CONTINUE

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

m 2 = 3m0 2m1 ; m 1 = 2m0 m1

mn = 2mn 1 mn 2 ; mn+1 = 3mn 1 2mn 2 ; mn+2 = 3mn 2mn 1

si se extinde formula (1.12) pentru i = 0; n: In continuare functia F este construita in


baza formulei (1.11).

Algoritmul lui Akima


I. Date de intrare:
nodurile xi ; i = 0; n
valorile yi = f (xi ) ; i = 0; n
punctul in care se realizeaza aproximarea
II. Date de iesire:
F( ) valoare ce aproximeaza pe f ( ) :
III. Pasii algoritmului:
Pasul 1. Pentru i = 0; n 1 calculeaza pantele
xi+1 xi
mi :=
ti+1 ti

Pasul 2. Calculeaza

m 2 = 3m0 2m1 ; m 1 = 2m0 m1

mn = 2mn 1 mn 2 ; mn+1 = 3mn 1 2mn 2 ; mn+2 = 3mn 2mn 1

Pasul 3. Pentru i = 0; n calculeaza

jmi+2 mi+1 j mi 1 + jmi 1 mi 2 j mi+1


f 0 (xi ) :=
jmi+2 mi+1 j + jmi 1 mi 2 j

Pasul 4. Se determina indicele j 2 f1; :::; ng pentru care

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.

1.5 Interpolare spline liniara


Se prezinta functia spline poligonala de interpolare a datelor experimentale (utilizata in
multe domenii ca metoda empirica de trasare a gra…cului prin puncte, spre exemplu in
spitale la curba temperaturii pacientilor internati) si doua tipuri de functii spline cubice
generate de conditii bilocale si respectiv, conditii initiale. Pentru functia spline cubica
generata de conditii bilocale s-a ales varianta mai usor programabila (fara expresii de
forma (x ai )+ ) din [8].
Consideram un interval [a; b] si o diviziune a acestui interval

: a = x0 < x1 < ::: < xn 1 < xn = b:

Notam hi = xi xi 1 şi Ii = [xi 1 ; xi ]; 8i = 1; n:


De…nitie: Functia s : [a; b] ! R; se numeste spline polinomial de gradul m de
interpolare a valorilor y0; y1 ; :::; yn pe nodurile xi ; i = 0; n daca:
(i) s 2 C m 1 [a; b]
(ii) restrictia lui s la …ecare subinterval Ii , i = 1; n; este polinom de gradul m
(iii) s (xi ) = yi ; 8i = 0; n:
Daca y0; y1 ; :::; yn sunt valorile pe nodurile xi ; i = 0; n ale unei functii f : [a; b] ! R;
atunci functia spline este de interpolare a functiei f pe nodurile diviziunii :
Fie
n : a = x0 < x1 < ::: < xn 1 < xn = b

am hi = xi xi 1 şi Ii = [xi 1 ; xi ]; 8i = 1; n şi sistemul


o diviziune a intervaluluii [a; b]: Not¼
de n + 1 numere reale, y = (y0; y1 ; :::; yn ) 2 Rn+1 asociat diviziunii n . Pentru …ecare
i = 1; n se de…neşte si : Ii ! R;
yi yi 1
si (x) = yi 1 + (x xi 1 ); 8x 2 Ii :
hi
Gra…cul funcţiei si este segmentul ce uneşte punctele (xi 1 ; yi 1 ) şi (xi ; yi ):
Dac¼
a construim s : [a; b] ! R; astfel încât s jIi = si ; 8i = 1; n, atunci s este o funcţie
continu¼
a pe [a; b], al c¼
arei gra…c este linia poligonal¼
a ce uneşte punctele (x0 ; y0 ); (x1 ; y1 ); :::; (xn ; yn ):
Functia s este o functie spline polinomiala de interpolare de gradul intai, numit spline
poligonal.
20 CAPITOLUL 1. METODE DE INTERPOLARE A FUNCTIILOR CONTINUE

Teorema: (a se vedea [21]) Daca exista f : [a; b] ! R; astfel incat f (xi ) = yi ; 8i =


0; n si f 2 C 2 [a; b] atunci pentru functia spline poligonala de interpolare a functiei f avem
estimarea erorii de aproximare:
kf 00 kC 2
jf (x) s (x)j h; 8x 2 [a; b]
8
unde h = maxfhi : i = 1; ng:

Probleme propuse:
1. Sa se construiasca un algoritm pentru functia spline poligonala de interpolare al

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.

1.6 Interpolare spline parabolica


Consideram o functie f : [a; b] ! R; f 2 C 1 [a; b]; si diviziunea intervalului [a; b]
: a = x0 < x1 < ::: < xn 1 < xn = b:
Deasemenea, …e y0; y1 ; :::; yn astfel incat yi = f (xi ) ; 8i = 0; n si notam hi = xi xi 1 ;
8i = 1; n:
Un spline parabolic de interpolare a functiei f : [a; b] ! R; este o functie spline
polinomiala de gradul 2 de interpolare a functiei f pe nodurile diviziunii ; s : [a; b] ! R;
s 2 C 1 [a; b]: Vom nota prin si restrictiile functiei s la subintervalele [xi 1 ; xi ]; i = 1; n ale
diviziunii :
Pentru functiile parabolice cubice se folosesc notatiile yi = s (xi ) ; mi = s0 (xi ) ; 8i =
0; n:
Restrictiile functiei s la subintervalele [xi 1 ; xi ]; i = 1; n sunt obţinute rezolvând prob-
lemele Cauchy:
mi mi
s0i (x) = mi 1 + hi
1
(x xi 1 ) ; x 2 [xi 1 ; xi ]
; i = 1; n: (1.13)
si (xi 1 ) = yi 1
Se obţine,
mi mi 1
si (x) = (x xi 1 )2 + mi 1 (x xi 1 ) + yi 1 ; 8x 2 [xi 1 ; xi ]; 8i = 1; n:
2hi
(1.14)
Cerinţele de netezime s 2 C[a; b]; s 2 C 1 [a; b] conduc la condiţiile: si (xi ) = yi ; 8i = 1; n:
Se observ¼ a s0i (xi 1 ) = mi 1 ; s0i (xi ) = mi ,8i = 1; n: De aici, rezult¼
a c¼ a relaţiile:
hi
yi yi 1 = (mi mi 1 ) + mi 1 hi
2
1.6. INTERPOLARE SPLINE PARABOLICA 21

care pot … puse în form¼


a recurent¼
a:
2
mi = (yi yi 1 ) mi 1 ; 8i = 1; n: (1.15)
hi
Din relatiile de recurenta (1.15) rezulta:
Teorema: (a se vedea [21]) Fiind date valorile y0; y1 ; :::; yn si m0 exista o unica functie
spline parabolica pentru care,
s (xi ) = yi ; 8i = 0; n
si s0 (x0 ) = m0 :
In general valorile y0; y1 ; :::; yn sunt obtinute prin masuratori, iar m0 ramane liber.
Daca se cunoaste f00 = f 0 (x0 ) atunci se poate lua m0 = f00 :

Algoritmul functiei spline parabolice generata de conditii initiale


I. Date de intrare: a; b capetele intervalului
n numarul de subintervale ale diviziunii
x[i]; i = 0; n niodurile de interpolare
y[i]; i = 0; n valorile pe noduri
2 (a; b) punctul in care se calculeaza functia spline
f00 valoarea derivatei intai pe primul nod
II. Date de iesire: s ( )
III. Pasii algoritmului
1. Pentru i = 1; n calculeaza h[i] = x[i] x[i 1]
2. Fie m[0] := f00
3. Pentru i = 1; n calculeaza
2
m[i] = (y[i] y[i 1]) m[i 1]
h[i]
4. Se determina indicele j 2 f1; :::; ng pentru care
x[j 1] < < x[j]
5. Calculeaza
m[j] m[j 1]
s( ) = ( x[j 1])2 + m[j 1] ( x[j 1]) + y[j 1]
2h[j]
6. Tipareste s ( ) : STOP.

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

1.7 Interpolare spline cubica


1.7.1 Spline cubic complet general de conditii bilocale
Consideram o functie f : [a; b] ! R; f 2 C 2 [a; b]; si diviziunea intervalului [a; b]

: a = x0 < x1 < ::: < xn 1 < xn = b:

Deasemenea, …e y0; y1 ; :::; yn astfel incat yi = f (xi ) ; 8i = 0; n si notam hi = xi xi 1 ;


8i = 1; n:
Un spline cubic pentru f : [a; b] ! R; este o functie spline polinomiala de gradul 3 de
interpolare a functiei f pe nodurile diviziunii ; s : [a; b] ! R; s 2 C 2 [a; b]: Vom nota
prin si restrictiile functiei s la subintervalele [xi 1 ; xi ]; i = 1; n ale diviziunii :
Pentru functiile spline cubice se folosesc notatiile yi = s (xi ) ; mi = s0 (xi ) ; Mi =
s00 (xi ) ; 8i = 0; n:
Deoarece s00i ; i = 1; n sunt functii polinomiale de gradul intai, in baza notatiilor de mai
sus se vor rezolva problemele bilocale
8 00 M (x xi 1 )+Mi 1 (xi x)
< si (x) = i hi
; x 2 [xi 1 ; xi ]
si (xi 1 ) = yi 1
:
si (xi ) = yi ; 8i = 1; n
si se obtine
" # " #
(x xi 1 )3 hi (x xi 1 ) (xi x)3 hi (xi x)
si (x) = Mi + Mi 1 + (1.16)
6hi 6 6hi 6

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

(i) Minimizarea functionalei

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.

Algoritmul functiei spline cubice complete generata de conditii bilocale


I. Date de intrare:
nodurile xi ; i = 0; n
valorile yi = f (xi ) ; i = 0; n
valorile derivatei pe nodurile extreme, f0 ; fn
2 [a; b]; 6= xi ; 8i = 0; n; punctul in care se aproximeaza f ( ) prin s ( )
II. Date de iesire: s ( ) :
III. Pasii algoritmului
Pasul 1. Se determina indicele j 2 f1; :::; ng pentru care

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

1.7.2 Spline cubic natural generat de conditii initiale


Consideram o functie f : [a; b] ! R; f 2 C 2 [a; b]; si diviziunea intervalului [a; b]

: a = x0 < x1 < ::: < xn 1 < xn = b:

Deasemenea, …e y0; y1 ; :::; yn astfel incat yi = f (xi ) ; 8i = 0; n si notam hi = xi xi 1 ;


8i = 1; n:
Fie functia spline cubica de interpolare a functiei f pe nodurile diviziunii ; s :
[a; b] ! R; s 2 C 2 [a; b]: Vom nota prin si restrictiile functiei s la subintervalele [xi 1 ; xi ];
i = 1; n ale diviziunii : In [15] se construieste o functie spline cubica de interpolare
generata de conditii initiale. Astfel, restrictia sa la subintervalul [xi 1 ; xi ]; i = 1; n este
determinata prin rezolvarea problemei Cauchy
8 00 1
< si (x) = Mi 1 + hi (Mi Mi 1 )(x xi 1 )
si (xi 1 ) = yi 1
:
s0i (xi 1 ) = mi 1 ;

unde Mi = s00i (xi ) şi si = s j[xi 1 ;xi ]


:
Se obtine
1 Mi 1
si (x) = (Mi Mi 1 )(x xi 1 )3 + (x xi 1 )2 +mi 1 (x xi 1 )+yi 1 ; 8x 2 [xi 1 ; xi ]:
6hi 2
(1.18)
Din condiţia s 2 C 2 [a; b] şi condiţiile pe noduri : s(xi ) = yi ; s0 (xi ) = mi ; i = 1; n; se
obţin relaţiile, (
Mi + 2Mi 1 = 6 yi yi 1h2mi 1 hi
i (1.19)
Mi + Mi 1 = 2(mi hm i
i 1)
; i = 1; n:
care sunt echivalente cu oricare din urm¼
atoarele dou¼
a sisteme de relaţii :

mi 1 = h1i (yi yi 1 ) 16 hi (Mi + 2Mi 1 )


; i = 1; n (1.20)
mi = h1i (yi yi 1 ) + 61 hi (4Mi + Mi 1 )

ş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

restrictiile la subintervalele diviziunii date in (1.18) va avea proprietatea de minimizare


a funcţionalei
Zb
J(y) = [y 00 (x)]2 dx (1.22)
a

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:

Algoritmul functiei spline cubice naturale generata de conditii initiale


I. Date de intrare:
nodurile xi ; i = 0; n
valorile yi ; i = 0; n
m0 si M0 , valorile primelor doua derivate pe primul nod
2 [a; b]; 6= xi ; 8i = 0; n; punctul in care se aproximeaza f ( ) prin s ( )
II. Date de iesire: s ( ) :
III. Pasii algoritmului
Pasul 1. Se determina indicele j 2 f1; :::; ng pentru care

xj 1 < < xj :

Pasul 2. Pentru i = 1; n calculeaza

hi := xi xi 1
1.7. INTERPOLARE SPLINE CUBICA 27

Pasul 3.Pentru i = 1; n calculeaza


3 Mi 1 hi
mi := (yi yi 1 ) 2mi 1
hi 2
6 6mi 1
Mi := (yi yi 1 ) 2Mi 1
h2i hi
Pasul 4. Calculeaza
1 Mj
s ( ) := (Mj Mj 1 )( xj 1 )3 + ( xj 1 )2 + mj ( xj 1 ) + yj 1 :
6hj 2
Pasul 5. Tipareste s ( ) : STOP.
Observatie: Daca valorile m0 si M0 nu sunt date atunci se poate intercala intre pasii
2 si 3 subrutina urmatoare:
Pasul 2.1. Executa
3
M0 := 0; a1 := 2; b1 := (y1 y0 )
h1
6 6
c1 := ; d1 := (y1 y0 ):
h1 h21

Pasul 2.2. Pentru i = 2; n calculeaza


hi ci 1 6ai 1
ai := 2ai 1 ; ci := 2ci 1
2 hi
3(yi yi 1 ) hi di 1
bi := 2bi 1
hi 2
6(yi yi 1 ) 6bi 1
di := 2di 1 :
h2i hi

Pasul 2.3. Executa


dn
:m0 :=
cn
Prin acesta subrutina se vor determina m0 si M0 astfel incat functia spline cubica core-
spunzatoare sa minimizeze functionala (1.22) si sa aiba estimarea erorii (1.23).

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

Ajustarea in medie patratica a


datelor experimentale

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

pentru care reziduul (de variabilele a0 ; :::; ap ),


X
n
R (a0 ; :::; ap ) = [yi ap xpi ::: a1 xi a0 ] 2
i=0

se minimizeaza. Determinarea acestui polinom va … astfel o aplicatie a metodei lui


Sylvester pentru punctele de extrem local ale functiilor de mai multe variabile (a se vedea
[25]). Polinomul obtinut se numeste polinomul de regresie. Cel mai des folosite in de-
ducerea empirica experimentala a legilor naturii sunt dreapta (utilizata si in psihologie,
sociologie, economie, business) si parabola patratica de regresie (utilizata si in economie,
business). Deasemenea, principiul celor mai mici patrate poate … folosit si la constructia
functiilor spline de ajustare a datelor experimentale.

2.1 Metoda celor mai mici patrate: dreapta de re-


gresie
Dorind sa stabilim legea de dependenta y = f (x) dintre doua marimi x si y se efectueaza
masuratorile exprimate in tabelul
x x0 x1 ...... xn
y y0 y1 ...... yn :

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

In acest scop se considera sistemul


8 Xn
>
> @R
>
> @a
= 2 (yi axi b) xi = 0
>
< i=0
()
>
> Xn
>
>
>
:
@R
@b
= 2 (yi axi b) = 0
i=0
8 X
n X
n X
n
>
> 2
>
< a xi + b xi = x i yi
i=0 i=0 i=0
X
n X
n (2.1)
>
>
>
: a xi + (n + 1) b = yi :
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.

Algoritmul dreptei de regresie


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 coe…cientii din ecuatia carteziana a dreptei de regresie
III. Pasii algoritmului:
2.2. METODA CELOR MAI MICI PATRATE: PARABOLA DE REGRESIE 31

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 ).

2.2 Metoda celor mai mici patrate: parabola de re-


gresie
Dorind sa stabilim legea de dependenta y = f (x) dintre doua marimi x si y se efectueaza
masuratorile exprimate in tabelul
x x0 x1 ...... xn
y y0 y1 ...... yn :
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
parabole patratice atunci se poate presupune ca legea de dependenta dintre x si y este de
forma
y = ax2 + bx + c
cu coe…cientii a; b si c necunoscuti. Consideram functia g (x) = ax2 + bx + c si vom
determina coe…cientii ce minimizeaza reziduul (abatere patratica medie)

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

In acest scop se considera sistemul


8
> X n
>
> @R
= 2 [yi ax2i bxi + c] x2i = 0
>
> @a
>
> i=0
>
>
>
>
>
< Xn
@R
@b
= 2 [yi ax2i bxi + c] xi = 0 ()
>
>
>
> i=0
>
>
>
>
>
> X n
> @R
> @c = 2 [yi ax2i bxi + c] = 0
:
i=0
8 n
> X Xn Xn Xn
>
> a x 4
+ b x 3
+ c x 2
= x2i yi
>
> i i i
>
> i=0 i=0 i=0 i=0
>
< X n X n X n Xn
3 2
a xi + b xi + c xi = x i yi (2.2)
>
>
>
> i=0 i=0 i=0 i=0
>
> Xn Xn Xn
>
> 2
: a xi + b xi + c (n + 1) = yi :
i=0 i=0 i=0

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:

Algoritmul parabolei de regresie


2.2. METODA CELOR MAI MICI PATRATE: PARABOLA DE REGRESIE 33

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

in care Ak 2 R se numesc coe…cientii, iar xk 2 [a; b]; k = 1; n nodurile formulei


de cuadratura. Estimarea erorii comise se poate realiza stabilind o margine superioara
pentru restul jR(f )j al formulei de cuadratura.
Daca o formula de cuadratura se poate obtine prin integrarea pe intervalul [a,b] a
unei formule de interpolare
f (x) = P (x) + R(x); x 2 [a; b]
atunci se numeste formula de cuadratura de tip interpolator.
Formula trapezului, formula lui Simpson si in general formulele lui Newton-Cotes sunt
formule de cuadratura de tip interpolator( a se vedea [4], [11] si [24]).

3.1 Motivatia formulelor de cuadratura. Exemple de


functii cu primitiva in forma de serie in…nita
Printre exemplele de functii continue (chiar analitice) ce au primitiva inexprimabila sub
forma …nita, putem mentiona densitatea de probabilitate normala a lui Gauss pe un

35
36 CAPITOLUL 3. FORMULE DE CUADRATURA

interval compact si functiile ce conduc la integralele eliptice in sensul Legendre.


Densitatea de probabilitate normala cu media zero si dispersia = 1;
1 x2
f : R ! R, f (x) = p e 2
2
conduce la functia integrala a lui Laplace,
Zx
1 t2
(x) = p e 2 dt; x > 0
2
0

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

Ambele integrale conduc la integrala eliptica

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

cu substitutia x = a sin t; t 2 [0; 2 ] se obtine

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

Integralele eliptice de genul I, II si III in sensul lui Legendre sunt respectiv,


Z'
dt
F (k; ') = p
1 k 2 sin2 t
0

Z' p
E(k; ') = 1 k 2 sin2 tdt
0

Z'
dt
p ;
1 + h sin2 t 1 k 2 sin2 t
0

pentru k 2 (0; 1); h 2 R si ' > 0 constante.


In secolul al XIX-lea J. Liouville a aratat ca pentru nici o integrala eliptica in sensul
lui Legendre primitiva nu se poate obtine sub forma …nita (este suma unei serii de put-
eri). Deci, integralele eliptice nu se pot calcula exact. Spre exemplu, lungimea orbitei
Pamantului in jurul Soarelui se determina prin calculul aproximativ al integralei

Z2 p
l(P ) = 4aE( ; ) = 4a 1 2 sin2 tdt;
2
0

unde = 0; 016729 si a = 149; 6 106 km.

3.2 Formula trapezului


Dup¼
a cum se ştie, pentru o funcţie continu¼
a f : [a; b] ! R; are loc egalitatea,

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-

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

iar pentru estimarea restului avem


8 n 1
> P
>
>
1
hi $(f ; 12 hi ); dac¼
a f 2 C[a; b]
>
> 2
>
> i=0
>
> nP1
>
> L
h2i ; dac¼a f 2 Lip[a; b]
>
> 4
>
< i=0
kf 0 k P 2
n 1
jRn (f; )j hi ; dac¼a f 2 C 1 [a; b] (3.1)
>
>
4
i=0
>
> nP1
>
> L0
>
> h3i ; dac¼a f 0 2 Lip[a; b]
>
>
12
i=0
>
> P1 3
> 00 k n
>
: kf
hi ; dac¼a f 2 C 2 [a; b]:
12
i=0
3.2. FORMULA TRAPEZULUI 39

Corolar: (in [6] si [9]) Dac¼


a diviziunea este echidistant¼
a atunci,

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

2. Daca f 2 C 2 [a; b] atunci restul in formula de cuadratura a trapezelor are expresia

(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

Algoritmul lui Romberg pentru cuadratura trapezului


Zb
Algoritmul calculeaza valoarea aproximativa a integralei f (x) dx prin formula repetata
a
a trapezelor, 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 a; Sp := h2p [f (a) + f (b)] ; np := 1
Pasul 2: p := p + 1
Pasul 3: hp := hp2 1
Pasul 4: sum:=0
Pasul 5: Pentru i = 1; np 1 executa
sum:=sum+f (a + (2i 1) hp )
Pasul 6: sum:=hp sum
Pasul 7: Sp := Sp2 1 +sum
Pasul 8: np := 2np 1
Pasul 9: Daca jSp Sp 1 j atunci
salt la pasul al doilea
Pasul 10: Tipareste Sp : STOP.

Algoritmul cuadraturii clasice a trapezului

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

S := S + (f (x[i]) + f (x[i 1]))

5. Calculul aproximatiei integralei:

(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

si sa se compare rezultatul cu valoarea exacta a acestei integrale ln 2:


3. Sa se utilizeze formula de cuadratura a trapezului pentru n=10 la calculul integralei
Z 1
1
2
dx
0 x +1

si sa se compare rezultatul cu valoarea exacta a acestei integrale 4 :


4. Sa se utilizeze formula de cuadratura a trapezului pentru n=10 la calculul integralei
Z 1:5 2
t
e 2 dt:
0

si a integralei (constanta lui Catalan)


Z 1
arctan x
dx
0 x
42 CAPITOLUL 3. FORMULE DE CUADRATURA

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

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.

3.3 Formule de tip Euler-Mac Laurin. Formula per-


turbata a trapezului
Uneori se utilizeaz¼a urm¼atoarea formul¼ a de cuadratur¼
a de tip Euler-Mac Laurin, numitā
şi formula perturbat¼a a trapezului (în care mai apar pe noduri doar derivate de ordinul
întâi) :
Zb
b a (b a)2 0
f (x)dx = [f (a) + f (b)] [f (b) f 0 (a)] + R(f ): (3.4)
2 12
a

Estimarea restului acestei formule de cuadratur¼ a a fost obţinut¼


a de K.Petr în 1915 (pentru
alte moduri de obţinere a acestei formule si a restului, a se vedea şi [17], [24]),

(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] :

In : a = x0 < x1 < ::: < xn 1 < xn = b;


3.3. FORMULA PERTURBATA A TRAPEZULUI 43

hi = xi+1 xi ; 8i = 0; n 1 se obţine în [2] urm¼


atoarea formul¼
a de cuadratur¼
a ( numit¼
a
formul¼
a de cuadratur¼a trapezoidal¼
a perturbat¼a):

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

pentru care restul satisface estimarea

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

Estimarea restului este în acest caz ( conform cu [2]),

(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
:

Observatie: Formula (3.4)-(3.5) se poate obtine si prin integrarea pe [a; b] a formulei


de interpolare Hermite cu doua noduri duble (1.10), iar formula (3.8) se poate obtine
prin integrarea pe [a; b] a formulei de interpolare neteda pe portiuni generata pe …ecare
subinterval de formula (1.11). Formula (3.10) conduce la urmatorul algoritm :

Algoritmul cuadraturii perturbate a trapezului


I. Date de intrare:
a,b capetele intervalului de integrare
n, numarul nodurilor
f functia ce se integreaza
Rb
II. Date de iesire : S, valoarea aproximativa a integralei f (x)dx
a
III. Pasii algoritmului
Pasul 1. Pentru i = 0; n calculeaza
b a
xi := a + i
n
44 CAPITOLUL 3. FORMULE DE CUADRATURA

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.

3.4 Formula lui Simpson


Formula de cuadratura a lui Simpson este
Zb
b a a+b
f (x) dx = f (a) + 4f + f (b) + R (f ) ;
6 2
a
3.4. FORMULA LUI SIMPSON 45

unde restul formulei, cand f 2 C 4 [a; b]; este

(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

2. Daca f 2 C 4 [a; b] atunci restul in formula de cuadratura repetata a lui Simpson


are expresia

(b a)5 (iv) (b a) h4 (iv)


Rn (f ) = f ( )= f ( ); a < < b;
2880n4 180
de unde
(b a)5 (b a) h4
jRn (f )j M 4 (f ) = M4 (f ):
2880n4 180
3. Formula de cuadratura repetata a lui Simpson are gradul de exactitate 3.
4. Daca se considera in formula de cuadratura repetata a lui Simpson

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

Algoritmul lui Romberg pentru formula de cuadratura a lui Simpson

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

1. Sa se scrie un program in limbajul C pentru algoritmul cuadraturii clasice a lui


Simpson.
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
trapezului, respectiv clasica a lui Simpson.
3. Sa se utilizeze formula de cuadratura clasica a lui Simpson pentru n=20 la calculul
integralei
Z2 p
1 2 sin2 tdt

0
48 CAPITOLUL 3. FORMULE DE CUADRATURA

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. Sa se compare rezultatele obtinute folosind cuadratura trapezu-
lui, cuadratura perturbata a trapezului si cuadratura lui Simpson.

3.5 Formula lui Newton


Formula de cuadratura a lui Simpson este
Zb
b a b a 2(b a)
f (x) dx = f (a) + 3f a+ + 3f a+ + f (b) + R (f ) ;
8 3 3
a

unde restul formulei, cand f 2 C 4 [a; b]; este

(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

Algoritmul formulei de cuadratura a lui Newton:


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. 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

S := S + (f (x[i]) + f (x[i 1]))

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

Rezolvarea sistemelor algebrice de


ecuatii liniare

4.1 Metoda directa a lui Gauss


Metodele de rezolvare a sistemelor de ecuatii liniare se impart in doua clase: metode
directe care furnizeaza solutia exacta a sistemului si metode iterative care furnizeaza un
sir recurent de aproximatii a acestei solutii.
Fie sistemul Ax = b; A = (aij )i;j=1;n ; b = (b1 ; :::; bn )T ; cu det (A) 6= 0:
Metoda lui Gauss consta din doua etape (a se vedea [4] si [12]):
1) transformarea sistemului dat intr-un sistem triunghiular echivalent:
X
n
(p)
apj xj = b(p) ; p = 1; n;
i=p

elementele matricei acestui sistem …ind date de relatiile:


(1) (1)
aij := aij ; bi := bi ; i; j = 1; n;
(p+1) (p) (p) (p)
aij := aij apj aip =a(p)
pp ;

(p+1) (p) (p)


bi := bi b(p)
p aip =a(p)
pp ;

(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

aij := aij temp akj

Pasul 2.7.3: bi := bi bk temp


Pasul 3: Daca ann = 0 atunci
Tipareste:”Sistemul nu este compatibil determinat”. STOP.
Pasul 4: Executa
bn
xn =
ann
Pentru p = n 1; 1 executa
!
1 X
n
xp = bp apj xj
app j=p+1
4.2. METODA ITERATIVA A LUI IACOBI 53

Pasul 5: Ordoneaza in mod crescator componentele vectorului p si corespunzator ele-


mentele vectorului x .
Pasul 6: Tipareste x. STOP.

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.

4.2 Metoda iterativa a lui Iacobi


Consider¼
am sistemul liniar
8
< a11 x1 + ::: + a1n xn = b1
:::::::::::::::::::::::::: (4.1)
:
an1 x1 + ::: + ann xn = bn
0 1 0 1
a11 ::: a1n x1
a A x = b; unde A = @ ::: ::: ::: A ; x = @ ::: A
ce poate …scris sub forma vectorial¼
0 1 an1 ::: ann xn
b1
şi b = @ ::: A : Presupunem c¼ a det A 6= 0:
bn
Putem scrie sistemul (4.1) sub forma echivalent¼
ax= x + ; unde

=( ij )i;j=1;n ; = ( 1 ; :::; n)
54 CAPITOLUL 4. REZOLVAREA SISTEMELOR LINIARE

se pot exprima în funcţie de A şi b: Aceasta se poate realiza întotdeauna astfel :


Dac¼ a aii 6= 0; 8i = 1; n; atunci împ¼ arţind …ecare ecuaţie de ordin i cu aii ; obţinem
sistemul echivalent
bi ai1 ai;i 1 ai;i+1 ain
fxi = x1 ::: xi 1 xi+1 ::: xn + bi ; i = 1; n:
aii aii aii aii aii
Notând 0 1
a12 a1n 0 1
0 a11
::: a11 b1
B a21
0 ::: a2n C a11
=B
@
a22 a22 C
A şi = @ ::::: A
::: ::: ::: ::: bn
an1 an2 ann
ann ann
::: 0
obţinem forma sistemului,
x= x+ : (4.2)
Dac¼a exist¼ a un aii = 0; atunci se rearanjeaz¼
a ecuaţiile şi se renumeroteaz¼
a necunoscutele
astfel încât sistemul s¼ a … adus la forma în care aii 6= 0; 8i = 1; n: Astfel, odat¼
a poat¼ a
ajunşi la forma (4.2) a sistemului (4.1), se va putea aplica sistemului liniar metoda aprox-
imaţiilor succesive, obţinând iteraţiile
x(k+1) = x(k) + ; k = 0; 1; 2; ::: (4.3)
0 (k+1) 1
x1
Dac¼ am x(k+1)
a not¼ = @ ::: A ; atunci pe componente (4.3) devine
(k+1)
xn

(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

si atunci o astfel de conditie (usor de veri…cat) este:

X
n
jai;j j < jai;i j ; 8i = 1; n:
j=1;j6=i

Totodata, in conformitate cu [20], aceasta conditie este su…cienta pentru ca matricea A


sa …e nesingulara, adica det A 6= 0:

Corolar 4.2.1 Daca


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:

Acest k va reprezenta ultima iteratie si x(k) va … aproximatia ceruta a solutiei, cu o eroare


k k1 "
1 k k1
:
Algoritmul lui Iacobi:
I. Date de intrare: n numarul de ecuatii si de necunoscute
matricea sistemului A = (aij )i;j=1;n
vectorul termenilor liberi b = (b1 ; :::; bn )
" > 0 eroarea admisa
II. Date de iesire: k, ultima iteratie, x(k; i) ; i = 1; n, aproximatia solutiei la ultima
iteratie
sau un mesaj de eroare
III. Pasii algoritmului
1) Se citesc n si "
2) Se citeste matricea A si vectorul b
3) Se veri…ca conditia de convergenta
Pentru i = 1; n calculeaza v(i) := 0
Pentru j = 1; n calculeaza v(i) := v (i) + jai;j j
Calculeaza s(i) := v (i) jai;i j
Daca s(i) jai;i j atunci tipareste mesaj de eroare " Solutia sistemului nu poate
… aproximata folosind metoda lui Iacobi ".
56 CAPITOLUL 4. REZOLVAREA SISTEMELOR LINIARE

4) Pentru i = 1; n calculeaza beta (i) := abi;ii


5) Pentru i = 1; n calculeaza x(0; i) := beta (i)
u(1; i) := 0
ai;j
Pentru j = 1; n calculeaza u(1; i) := u (1; i)+ ai;i
x (0; i)
x(1; i) := u (1; i) + x (0; i) + beta (i)
6) Pentru k 0; cat timp

max jx (k + 1; i) x (k; i)j "


i=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

max jx (k; i) x (k 1; i)j < "


i=1;n

Tipareste k si tipareste x(k; i) ; i = 1; n: Stop.


Probleme propuse

1. Sa se scrie un program in limbajul C pentru algoritmul lui Jacobi..


2. Se0da urmatorul sistem liniar, Ax1= b : 0 1
4 1 0 1 0 0 2
B 1 4 1 0 1 0 C C B C
B B 1 C
B 0 1 4 0 0 1 C B C
A=B C; b = B 2 C:
B 1 0 0 4 1 0 C C B 2 C
B B C
@ 0 1 0 1 4 1 A @ 1 A
0 0 1 0 1 4 2
T
Acest sistem are solutia exacta x = (1; 1; 1; 1; 1; 1) :
Sa se rezolve sistemul folosind metoda iterativa a lui Jacobi. Ca si aproximatie initiala se
va folosi x(0) = b: Precizia cu care0se cer solutiile este 0 Comparati
1 = 0; 0001: 1 rezultatele.
2 1 0 1
3. Fie sistemul Ax = b; A = @ 1 3 1 A si b = @ 1 A :
0 1 2 1
(i) Sa se determine o solutie aproximativa a sistemului folosind: metoda lui Jacobi cu
3 pasi; 0 1
1
(ii) Stiind ca valoarea exacta a solutiei este x = @ 1 A ; studiati erorile ce apar.
1
(iii) Sa se determine o solutie aproximativa a sistemului folosind: metoda lui Jacobi
astfel incat diferenta dintre ultimii doi pasi sa …e mai mica decat " = 10 6 :
Capitolul 5

Metode numerice pentru ecuatii


neliniare

5.1 Separarea radacinilor si metoda injumatatirii in-


tervalului
Considerand ecuatia f (x) = 0, cu f : I ! R; pentru determinarea solutiilor reale ale
acestei ecuatii intai se izoleaza …ecare dintre aceste radacini si apoi se aplica …ecarei
radacini un procedeu de aproximare. De obicei se presupune ca ecuatia are numai radacini
simple (in cazul radacinilor reale multiple de ordin k suntem condusi si la rezolvarea
ecuatiilor f (i) (x) = 0; i = 1; k 1): Izolarea radacinilor se obtine urmand metoda de
separare generata de sirul lui Rolle. Concret, daca f 2 C 1 (I) si ecuatia f 0 (x) = 0 are
solutiile distincte x1 ; :::; xn 2 I; iar c = inf I; d = sup I; atunci sirul de elemente nenule
lim f (x) ; f (x1 ) ; :::; f (xn ) ; lim f (d) se numeste sirul lui Rolle. Intrucat conform
x!c;x>c x!d;x<d
teoremei lui Rolle, intre doua radacini consecutive ale derivatei exista cel mult o radacina a
functiei, va rezulta ca oriunde in sirul lui Rolle doi termeni consecutivi au remne contrare,
vom avea in subintervalul corespunzator exact o radacina a functiei.
Dupa izolarea radacinilor se va aplica …ecarei radacini un procedeu iterativ de aproxi-
mare. Un astfel de procedeu este metoda injumatatirii intervalului de care ne vom ocupac
in continuare in acest paragraf.
Metoda injumatatirii pentru aproximarea solutiei izolate x 2 (a; b) a ecuatiei f (x) =
0; f 2 C[a; b]; consta in construirea unui sir de intervale
[a0 ; b0 ] [a1 ; b1 ] ::: [an ; bn ] :::
astfel incat x 2 [an ; bn ] :
Pentru aceasta se considera [a0 ; b0 ] = [a; b]: In continuare se ia
[a; a+b2
]; daca f (a)f a+b
2
< 0;
[a1 ; b1 ] =
[ a+b
2
; b]; daca f (a)f a+b
2
> 0:
In general avem
[an ; an +b
2
n
]; daca f (an )f an +bn
2
< 0;
[an+1 ; bn+1 ] = an +bn an +bn
[ 2 ; bn ]; daca f (an )f 2
> 0:

57
58 CAPITOLUL 5. METODE NUMERICE PENTRU ECUATII NELINIARE

Observatia 1. Se poate intampla ca in construirea sirului de intervale sa avem


an = x sau bn = x ; caz in care procedeul se incheie.
Observatia 2. Sirurile (an )n 0 si (bn )n 0 reprezinta siruri de aproximatie prin
lipsa, respectiv prin adaos, pentru solutia x .
Observatia 3. Deoarece bn an = b2na ; avem ca

b a
jxn xj ;
2n
daca xn = an sau xn = bn :

Algoritmul (Metoda injumatatirii)


Algoritmul aproximeaza solutia izolata x 2 [a; b] a ecuatiei f (x) = 0; f 2 C[a; b];
prin metoda injumatatirii intervalului.
Intrari: functia f
capetele intervalului: a, b
precizia dorita: eps
Iesiri: Aproximarea radacinii ecuatiei: SOL
Pasul 1: Fie c := a+b2
Pasul 2: Daca b c eps atunci SOL:=c. STOP.
Pasul 3: Daca f (b) f (c) 0 atunci a := c
altfel b := c
Pasul 4: Mergi la Pasul 1.

Observatia 4. Inainte de aplicarea acestui algoritm trebuie sa ne asiguram ca in


intervalul [a,b] ecuatia are doar o singura solutie (una din conditii …ind f (a) f (b) < 0).
Aceasta se poate face folosind una din metodele de izolare a radacinilor unei ecuatii: sirul
lui Rolle (prezentat mai sus), Sturm, etc.
Observatia 5. Chiar daca nu ne-am asigurat ca ecuatia f (x) = 0 are o singura
solutie in [a,b], daca f (a) f (b) < 0; algoritmul de mai sus va converge spre una din
radacinile ce se a‡a in [a,b].
Observatia 6. Chiar si la aplicarea altor metode iterative de aproximare a unei
radacini (de exemplu metoda aproximatiilor succesive, metoda tangentei, metoda coardei,
ce se vor prezenta in paragrafele urmatoare) se izoleaza radacinile prin metoda sirului lui
Rolle urmata de cativa pasi ai metodei injumatatirii intervalului pentru a micsora …ecare
interval in care se gaseste cate o radacina a ecuatiei. Prin micsorarea intervalului se
asigura de asemenea si indeplinirea conditiilor de convergenta speci…ce …ecarei metode.
Probleme propuse

1. Sa se scrie un program in limbajul C pentru algoritmul prezentat.


2. Folosind procedura de la 1., sa se aproximeze radacina, situata in intervalul (0; 1) ;
a ecuatiei
x4 + 2x3 x 1 = 0:
3. Folosind procedura de la 1., sa se aproximeze cu 4 zecimale exacte, cea mai mare
radacina a ecuatiei:
x6 x 1 = 0:
5.2. METODA APROXIMATIILOR SUCCESIVE PENTRU ECUATII SCALARE 59

5.2 Metoda aproximatiilor succesive pentru ecuatii


neliniare scalare
Consider¼
am ecuaţia
' (x) = x (5.1)
cu ' : R ! R; continu¼ a. Pentru x0 2 J ( unde J R; este interval ) …xat se construieşte
prin recurenţ¼
a şirul aproximaţiilor succesive

xn+1 = ' (xn ) ; n 2 N: (5.2)

Utilizand principiul de punct …x al lui Banach se obtine:


Teorema 1: Fie J R; interval compact şi ' : J ! R; astfel încât ' (x) 2 J; 8x 2
J şi ' 2 C 1 (J) : Dac¼ a j'0 (x)j q < 1; 8x 2 J; atunci ecuaţia (5.1) are în J o unic¼
a
soluţie x , care este limita şirului (5.2). În plus, are loc estimarea erorii :
qn
jxn xj jx1 x0 j ; 8n 2 N : (5.3)
1 q
Folosind teorema lui Lagrange a cresterilor …nite se poate demonstra:
Teorema 2: Fie x un punct …x al lui ', iar (xn )n2N şirul aproximaţiilor succesive
generat de ' pentru un x0 dat, care converge la x : Dac¼ a ' 2 C 1 (V (x )) şi j'0 (x)j <
q; 8x 2 V (x ) ; atunci
q
jxn xj jxn xn 1 j ; 8n 2 N : (5.4)
1 q
Observatia 1: Propoziţia precedent¼ a precizeaz¼
a o estimare a posteriori şi d¼
a posibil-
itatea stabilirii unui criteriu de oprire a procedurii iterative Picard. Astfel, notând cu "
eroarea absolut¼ a maxim¼ a admis¼a, adic¼
a jxn x j "; din (5.4) se obţine
1 q
jxn xn 1 j ";
q
condiţie care constituie un criteriu de oprire a calculului.
Observatia 2: Condiţia de convergenţ¼ a a procedurii iterative Picard este dat¼ a de
inegalitatea k'0 k1 < 1: R¼ asturnarea acestei inegalit¼aţi poate conduce la divergenţa it-
eraţiilor Picard. Dac¼ a k'0 k1 < 1 şi '0 (x) > 0; 8x 2 J; atunci şirul (5.2) converge
monoton c¼ atre x ; descresc¼
ator dac¼a x0 > x şi cresc¼
ator dac¼ a x0 < x : Dac¼ a k'0 k1 < 1
0
şi ' (x) < 0; 8x 2 J; atunci şirul (5.2) converge oscilant c¼ atre x :
Observatia 3: Ecuaţia f (x) = 0 poate … pus¼ a sub forma (5.1) şi se poate g¼
asi funcţia
0 1
' astfel încât s¼a …e îndeplinit¼
a condiţia k' k1 < 1: Astfel, dac¼
a f 2 C (J) şi presupunând
c¼a exist¼a m1 ; M1 > 0 astfel încât

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

Algoritmul metodei aproximatiilor succesive


I. Date de intrare:
x0 iteratia initiala
' functia contractie
" > 0 eroarea admisa
II. Date de iesire:
xn ultima iteratie ce aproximeaza solutia cu eroarea admisa
III. Pasii algoritmului
Pasul 1. Calculeaza
x1 = ' (x0 )
Pasul 2. Pentru n 0; cat timp

jxn xn+1 j "

Calculeaza

xn+1 = ' (xn )

Pasul 3. Pentru n 2 N; pentru care

jxn xn 1 j < "

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

4. Folosind metoda aproximatiilor succesive sa se aproximeze radacina reala a ecuatiei

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:

5.3 Metoda aproximatiilor succesive pentru sisteme


de ecuatii neliniare
Consider¼
am sistemul de ecuaţii :
8
< x1 = '1 (x1 ; :::; xn )
:::::::::::::::: ; (x1 ; :::; xn ) 2 D; (5.5)
:
xn = 'n (x1 ; :::; xn )
unde D Rn este un domeniu, 'i : D ! R sunt funcţii continue pe D astfel încât

('1 (x1 ; :::; xn ); :::; 'n (x1 ; :::; xn )) 2 D; 8(x1 ; :::; xn ) 2 D:

Acest sistem poate … pus sub forma vectorial¼


a

x = ' (x) ; x 2 D; (5.6)

unde x = (x1 ; :::; xn ) şi ' = ('1 ; :::; 'n ) :


În conformitate cu metoda aproximaţiilor succesive expus¼
a în capitolul precedent se
obţine şirul de iteraţii Picard :

x(0) ; x(1) ; :::; x(m) ; :::

a x(0) şi se construieşte prin recurenţa :


ce porneşte de la o valoare aleas¼

x(m+1) = ' x(m) ; m 2 N: (5.7)

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

Aplicând principiul de punct …x al lui Banach si varianta pe Rn a teoremei creşterilor


…nite a lui Lagrange se obţine :
Teorema 1: Dac¼ a 'i 2 C 1 (D) ; 8i = 1; n şi k'0 k1 q < 1; atunci ecuaţia (5.6)
are jjn D o soluţie unic¼
a x astfel încât şirul de iteraţii Picard (5.7) este convergent şi
pentru orice x(0) 2 D;
lim x(m) = x :
m!1

În plus, are loc estimarea apriori a erorii de aproximare :


qm
x(m) x 1
x(0) x(1) 1
; 8m 2 N ; (5.8)
1 q

unde k k1 este norma Cebîşev din Rn :


Observam c¼a o estimare a posteriori este
q
x(m) x 1
x(m) x(m 1)
1
1 q

ceea ce va furniza şi un criteriu de oprire a procesului iterativ Picard.


Observatia 1: Dac¼ a aplicaţia ' este de…nit¼ a a lui Rn ; ca
a pe o submulţime compact¼
de exemplu
S x(0) ; r = fx 2 Rn : x x(0) r; r > 0g
atunci pentru convergenţa procesului iterativ trebuie îndeplinit¼ a şi condiţia x(0) ' x(0)
(1 a ' x(m) 2 S x(0) ; r cccond x(m) 2 S x(0) ; r :
) r ce va asigura c¼
Observatia 2: Metoda aproximaţiilor succesive poate … aplicat¼ a şi ecuaţiilor vec-
toriale de forma f (x) = 0; deoarece acesta poate … adus¼ a la forma x = x + M f (x);
unde M este o matrice nesingular¼ a. Notând ' (x) = x + M f (x) aceast¼ a ecuaţie devine
x = ' (x) : Matricea M se va determina astfel încât metoda generat¼ a de operatorul I +M f
s¼a convearg¼ a. În acest scop, în baza condiţiei k'0 k1 q < 1, când f 2 C 1 (D) şi det(f
0
x(0) ) 6= 0; vom avea '0 (x) = I + M f 0 (x) ; iar atunci matricea M se va determina
astfel încoot '0 x(0) = 0; adic¼ a M = (f 0 x(0) ) 1 : Dac¼ a det(f 0 x(0) ) = 0, atunci se
va alege o alt¼ a valoare de pornire x(0) :
Observatia 3: Fie sistemul de dou¼ a ecuaţii scris sub forma

x = F (x; y)
y = G(x; y);

unde F; G : D ! R, domeniul D R2 continand solutia izolata (x ; y ) a sistemului,


consta in construirea sirului de puncte (xn ; yn )n 0 dupa metoda recurenta,

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

Proprietatea 1. Daca F; G : D ! D sunt continue, cu derivatele partiale de


ordinul intai continue pe D si
@F @F
@x @y
kW k = M < 1; W (x; y) = @G @G ;
@x @y

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

Proprietatea 2. Daca sunt satisfacute conditiile dinainte cu norma k km ; atunci


au loc evaluarile
Mn Mn
jxn xj jx1 x0 j si jyn y j jy1 y0 j :
1 M 1 M

Algoritmul metodei aproximatiilor succesive pentru sistem neliniar


I. Date de intrare:
x0 si y0 iteratia initiala
F si G functiile din sistem
" > 0 eroarea admisa
II. Date de iesire:
xn si yn ultima iteratie ce aproximeaza solutia cu eroarea admisa
III. Pasii algoritmului
Pasul 1. Calculeaza
x1 := F (x0 ; y0 )
y1 := G(x0 ; y0 );
Pasul 2. Pentru n 0; cat timp

jxn xn+1 j " sau jyn yn+1 j "

Calculeaza
xn+1 := F (xn ; yn )
yn+1 := G(xn ; yn );

Pasul 3. Pentru n 2 N ; pentru care

jxn xn 1 j < " si jyn yn 1 j < "

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

2. Sa se aproximeze solutia, cu ambele coordonate pozitive, a sistemului

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

luandu-se ca prima aproximatie punctul (x0 ; y0 ) = (3:5; 2:2) : Se va considera vecinatatea


lui (x0 ; y0 ) ca …ind V = f(x; y) : jx x0 j 0:1; jy y0 j 0:1g si pe acest domeniu,
in conformitate cu (5.10) vom avea M = maxf0:54 + 0:27; 0:42 + 0g = 0:81 < 1: Apli-
cand procedeul iterativ (5.9) vom obtine aproximatia cu patru cifre semni…cative exacte
(x6 ; y6 ) = (3:487; 2:262) :

5.4 Metoda tangentei a lui Newton pentru ecuatii


scalare
Fie ecuatia algebrica sau transcendenta f (x) = 0; unde f : ( ; ) ! R. Presupunem
ca ecuatia are o solutie unica x 2 (a; b) ( ; ); adica x este izolata.
De…nitia 1. Daca se construieste sirul de aproximante (xn )n 0 ; pentru solutia
x 2 (a; b) ; dupa regula
f (xn )
xn+1 = xn (5.11)
f 0 (xn )
cu x0 = a sau x0 = b; spunem ca se utilizeaza metoda tangentei (Newton) pentru
aproximarea solutiei x :
Observatia 1. Daca sirul (xn )n 0 este convergent si f 2 C 1 [a; b]; atunci limita
sirului este x :
Observatia 2. Aproximanta initiala x0 2 [a; b] astfel incat f (x0 ) f 00 (x0 ) > 0:
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 precedente, eroarea
absoluta comisa se poate evalua prin

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]

de unde se vede ca ordinul de convergenta al metodei este 2. Totodata, din aceasta


inegalitate rezulta un criteriu de oprire a algoritmului: pentru " > 0 dat sa se determine
primul numar natural n pentru care jxn xn 1 j < ":
Observatia 3. Daca M2 (f ) 2m1 (f ); atunci are loc evaluarea

jxn xj (xn xn 1 )2 :

Observatia 4. In ipoteza ca f 00 (x0 ) 6= 0; o modi…care a metodei tangentei este cea


in care derivata se calculeaza numai in primul termen al sirului, obtinandu-se recurenta:

f (xn )
xn+1 = xn :
f 0 (x0 )

Algoritmul metodei tangentei (Newton)

Algoritmul calculeaza o aproximatie a solutiei izolate x 2 [a; b] a ecuatiei f (x) = 0;


f 2 C[a; b]; prin metoda lui Newton.
Intrari: a,b-capetele intervalului
f-expresia functiei f
df-expresia derivatei functiei f (f 0 )
eps-precizia dorita
valoarea derivatei a doua in a (f 00 (a))
Iesiri: SOL-aproximatia dorita a solutiei ecuatiei
Pasul 1: Daca f (a)f 00 (a) > 0 atunci x0 := a
altfel x0 := b
Pasul 2: n := 0
Pasul 3: n := n + 1; xn := xn 1 f (xn 1 )=df (xn 1 )
Pasul 4: Daca jxn xn 1 j < eps atunci SOL:=xn ; STOP
altfel mergi la Pasul 3.

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.

a; f (a) f 00 (a) > 0


x0 =
b; f (b) f 00 (b) > 0

deoarece acopera toate situatiile posibile. Aceasta alegere va conduce la convergenta


metodei. De asemenea, se observa ca sirul dat in (5.11) este monoton convergent.
In cazul general, cand nu avem informatii despre functia f se ia o valoare oarecare, iar
daca dupa un numar …xat de iteratii nu ajungem la precizia dorita se reia procedeul cu o
alta valoare de pornire.
66 CAPITOLUL 5. METODE NUMERICE PENTRU ECUATII NELINIARE

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 4.
3. Sa se aproximeze cu 4 zecimale corecte solutia reala a ecuatiei

f (x) := x3 + x 0; 1 = 0:

4. Folosind metoda lui Newton sa se aproximeze solutia reala a ecuatiei

x3 x 1 = 0:

5. Folosind metoda tangentei sa se calculeze cea mai mica radacina pozitiva a ecuatiei

x tgx = 0:

6. Folosind metoda lui Newton sa se aproximeze radacina negativa a ecuatiei

x4 3x2 + 75x 10000 = 0:

5.5 Metoda lui Newton pentru sisteme neliniare


Consideram sistemul 8
< f1 (x1 ; :::; xn ) = 0
:::::::::::::::: (5.12)
:
fn (x1 ; :::; xn ) = 0
undef = (f1 ; :::; fn ) este astfel incat fi 2 C 1 (D) ; 8i = 1; n, cu D Rn domeniu.
Presupunem ca pe o multime deschisa V D avem
0 @f1 @f1 1
@x
(a) ::: @x (a)
D (f1 ; :::; fn ) 1 n
Jf (a) = (a) = @ ::::::: ::: :::::: A =6 0; 8a 2 V:
D (x1 ; :::; xn ) @fn @fn
@x1
(a) ::: @xn
(a)

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)

Asupra convergentei acestui sir are loc:


Teorema 1. (a se vedea [12]): Presupunem ca pentru sistemul (5.12) avem fi 2
C 2 (D) ; 8i = 1; n. Fie r > 0; x0 2 D si V = fx 2 D : kx x0 k < rg D: Presupunem
ca:
(i) matricea Jf (x0 ) este inversabila (adica det (Jf (x0 )) 6= 0) si exista A0 > 0 astfel incat
in norma matriceala de…nita in (4.6) avem Jf 1 (x0 ) A0 ;
5.5. METODA LUI NEWTON PENTRU SISTEME NELINIARE 67

(ii) exista B0 > 0 astfel incat Jf 1 (x0 ) f (x0 ) B0 r


2
;
(iii) exista C > 0 astfel incat
X
n
@ 2 fi
(x) C; 8i; j = 1; n; 8x 2 V
k=1
@xj @xk

(iv) = 2nA0 B0 C 1: Atunci procesul iterativ al lui Newton descris de sirul (5.13) este
convergent,
lim xk = x
k!1

iar x 2 V este unica solutie in V a sistemului (5.12). In plus, viteza de convergenta a


metodei este data de inegalitatea
p 1
1 2p 1
x xk B0 ; 8k 2 N ;
2

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

Punand xn+1 = xn + hn , yn+1 = yn + kn si F (xn+1 ; yn+1 ) = 0; G (xn+1 ; yn+1 ) = 0 obtinem:


@F @F
F (xn ; yn ) + @x
(xn ; yn ) hn + @y
(xn ; yn ) kn = 0
@G @G
G (xn ; yn ) + @x
(xn ; yn ) hn + @y
(xn ; yn ) kn = 0

sistem in necunoscutele (hn ; kn ). Determinantul acestuia este:


@F @F
@x
(xn ; yn ) @y
(xn ; yn ) @F @G @F @G
J (xn ; yn ) = @G @G = (xn ; yn ) (xn ; yn ) (xn ; yn ) (xn ; yn ) 6= 0
@x
(xn ; yn ) @y
(xn ; yn ) @x @y @y @x
(5.15)
si rezulta,
@F
1 F (xn ; yn ) @y
(xn ; yn )
hn = @G
J (xn ; yn ) G (xn ; yn ) @y
(xn ; yn )
1 @F
@x
(xn ; yn ) F (xn ; yn )
kn = @G :
J (xn ; yn ) @x
(xn ; yn ) G (xn ; yn )
Se obtine astfel, procedeul iterativ al metodei lui Newton, dat de relatiile recurente,
1 @G @F
xn+1 = xn [F (xn ; yn ) (xn ; yn ) G (xn ; yn ) (xn ; yn )] (5.16)
J (xn ; yn ) @y @y
1 @F @G
yn+1 = yn [ (xn ; yn ) G (xn ; yn ) (xn ; yn ) F (xn ; yn )]; n 2 N; (5.17)
J (xn ; yn ) @x @x
pornind de un punct initial (x0 ; y0 ) 2 D: In conditiile teoremei 1, adaptate aici pentru
n = 2 se obtine proprietatea (5.15) si convergenta procedeului iterativ (5.16)+(5.17)catre
unica solutie din D a sistemului (5.14), (x ; y ) 2 D:
Observatia 3: Se poate construi si metoda modi…cata a lui Newton pentru sisteme
neliniare de doua ecuatii cu doua necunoscute pentru care cerinta (5.15) se veri…ca doar
pe punctul initial. Procedeul iterativ este in acest caz:
1 @G @F
xn+1 = xn [F (xn ; yn ) (x0 ; y0 ) G (xn ; yn ) (x0 ; y0 )]
J (x0 ; y0 ) @y @y
1 @F @G
yn+1 = yn [ (x0 ; y0 ) G (xn ; yn ) (x0 ; y0 ) F (xn ; yn )]; n 2 N:
J (x0 ; y0 ) @x @x
Algoritmul metodei lui Newton pentru sisteme neliniare
I. Date de intrare: coordonatele punctului initial x0 ; y0
expresia functiei F, expresia functiei G
expresiile functiilor @F ; @F ; @G , @G
@x @y @x @y
" > 0 eroarea admisa
II. Date de iesire: n, numar natural, ultima iteratie
xn ; yn aproximatia solutiei
III. Pasii algoritmului
1. Se citesc x0 ; y0 ; "
2. Se de…nesc functiile F; G; @F ; @F ; @G , @G
@x @y @x @y
3. Calculeaza J (x0 ; y0 ) := @F @x
(x0 ; y0 ) @G
@y
(x0 ; y0 ) @F@y
(x0 ; y0 ) @G
@x
(x0 ; y0 )
5.5. METODA LUI NEWTON PENTRU SISTEME NELINIARE 69

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

jxn xn+1 j " sau jyn yn+1 j "

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

jxn xn 1 j < " si jyn yn 1 j < "

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

pornind de la punctul initial (x0 ; y0 ) = (1:2; 1:7) cu " = 10 6 :


4. Cu metoda lui Newton sa se gaseasca solutia aproximativa a sistemului

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

5.6 Metoda coardei


Fie ecuatia algebrica sau transcendenta f (x) = 0; unde f : ( ; ) ! R. Presupunem
ca ecuatia are o solutie unica x 2 (a; b) ( ; ); adica radacina x este izolata.
De…nitia 1. Daca se construieste sirul de aproximante (xn )n 0 ; pentru solutia
x 2 (a; b) ; dupa una din formulele

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

a; daca f (a)f 00 (a) < 0


x0 = (5.20)
b; daca f (b)f 00 (b) < 0

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]

de unde se vede ca ordinul de convergenta al metodei este 1. Totodata, de aici rezulta


si un criteriu de oprire a algoritmului: pentru " > 0 dat sa se determine primul numar
natural n pentru care jxn xn 1 j < ":
Observatia 3. Daca M1 (f ) 2m1 (f ) atunci are loc evaluarea

jxn xj jxn xn 1 j :

Algoritmul metodei coardei:

I. Date de intrare: a; b capetele intervalului


" > 0 eroarea admisa
5.6. METODA COARDEI 71

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

jxn xn+1 j "

Calculeaza
f (xn )
xn+1 := xn (b xn )
f (b) f (xn )

4.3. Pentru n 2 N ; pentru care

jxn xn 1 j < "

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

jxn xn+1 j "

Calculeaza
f (xn )
xn+1 = xn (a xn )
f (a) f (xn )

5.3. Pentru n 2 N ; pentru care

jxn xn 1 j < "

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

xs0 ; xt0 xs1 ; xt1 ::: xsn ; xtn ::: (5.21)

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

jxn xj xtn xsn :

Algoritmul pentru : Metoda Combinata Secanta-Tangenta (conform cu [7])

Algoritmul determina un sir de aproximatii ale solutiei izolate x 2 [a; b] a ecuatiei


f (x) = 0; f 2 C [a; b] ; f 00 are semn constant pe [a,b] folosind metoda combinata
secanta-tangenta.
Intrari: a,b-extremitatile intervalului
f-expresia functiei f
df-expresia derivatei functiei f (f 0 )
sign(f 00 )-semnul derivatei a doua a functiei f
eps precizia dorita
Iesiri: SOL-aproximatie a solutiei ecuatiei, cu precizia ceruta
Pasul 1: Daca f (a)sign(f 00 ) < 0 atunci xs0 := a; xt0 := b; n := 0
altfel xs0 := b; xt0 := a; n := 0
Pasul 2: xtn+1 = xtn f (xtn ) =df (xtn )
s
Pasul 3: xsn+1 = xsn f (xtf)(xnf)(xs ) (xtn xsn )
n n
5.6. METODA COARDEI 73

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:

xsn x xdn ; n = 1; 2; :::

In aceste cazuri, eroarea comisa in aproximarea x xsn + xdn =2 nu depaseste marimea


d s
xn xn =2: Deci, eroarea de aproximare poate … direct controlata. Un astfel de exemplu
il constituie metoda combinata secanta-tangenta.

Probleme propuse

1. Sa se implementeze in C algoritmul pentru metodacoardei si pentru metoda com-


binata secanta-tangenta.
2. Folosind metoda secantei sa se aproximeze cu 4 zecimale exacte radacina reala a
ecuatiei:
x3 x 0; 1 = 0:
3. Sa se aproximeze cu 4 zecimale exacte cea mai mare radacina reala a ecuatiei:

x3 x 1 = 0:

4. Folosind metoda coardei sa se aproximeze radacina situata in intervalul (0; 1) a


ecuatiei
x3 6x2 + 10x 4 = 0
cu precizia " = 10 2 :
74 CAPITOLUL 5. METODE NUMERICE PENTRU ECUATII NELINIARE
Capitolul 6

Metode numerice pentru ecuatii


diferentiale ordinare

6.1 Metoda retelelor


Aceasta metoda furnizeaza aproximatii ale solutiei problemelor la limita asociate ecuatiilor
diferentiale pe un numar …nit de puncte echidistante ale intervalului pe care este de…nita
ecuatia.
Metoda retelelor aplicata la ecuatii diferentiale liniare utilizeaza diferentele divizate
in aproximarea derivatelor succesive ale unei functii pe noduri si conduce la rezolvari de
sisteme algebrice de ecuatii liniare (se vedea [4]).
Astfel, folosind forma data de Newton polinomului lui Lagrange, se obtin aproximari
ale derivatelor succesive ale unei functii pe un nod x0
f (x0 + h) f (x0 )
f 0 (x0 ) = [x0 ; x0 + h; f ] = (6.1)
h
sau
f (x0 + h) f (x0 h)
f 0 (x0 ) = (6.2)
2h
respectiv
f (x0 + h) 2f (x0 ) + f (x0 h)
f 000 (x0 ) = 2[x0 h; x0 ; x0 + h; f ] = (6.3)
h2
si in general, folosind formula de legatura dintre diferentele divizate cu noduri echidistante
si diferentele …nite, se obtine
n
f (x0 )
f (n) (x0 ) = h n (6.4)
h
unde diferenta …nita de ordinul intai in punctul a se de…neste prin

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

Consideram ecuatia diferentiala liniara de ordinul II

y 00 (x) + p (x) y 0 (x) + q (x) y (x) = f (x) ; x 2 [a; b] (6.5)

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

pi = p (xi ) ; qi = q (xi ) ; fi = f (xi ) ; i = 0; n:

Se scrie ecuatia (6.5) cu conditiile (6.6) pe nodurile xi i = 1; n 1 si se obtine

y 00 (xi ) + p (xi ) y 0 (xi ) + q (xi ) y (xi ) = f (xi ) ; i = 1; n 1


(6.7)
y (x0 ) = A; y (xn ) = B:

Folosind formulele (6.2) si (6.3) pe nodurile xi i = 1; n 1 se obtine

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.

Algoritmul metodei retelelor


I. Date de intrare:
n numarul de noduri
h pasul diviziunii
a, b capetele intervalului
p; q; f functiile coe…cienti ai ecuatiei
A; B valorile bilocale
II. Date de iesire:
y1 ; :::; yn 1 aproximatia solutiei pe nodurile interioare
III. Pasii algoritmului
Pasul 1. Pentru i = 0; n calculeaza

xi := a + i h
6.2. METODA LUI EULER 77

Pasul 2. Pentru i = 1; n 1 executa

pi := p (xi ) ; qi := q (xi ) ; fi := f (xi )

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:

Pasul 5. Tipareste y1 ; :::; yn 1 . STOP.

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 00 (x) + xy 0 (x) + x2 y (x) = 1; x 2 [0; 1]


y (0) = y (1) = 1

folosind 6 puncte ale retelei.

6.2 Metoda lui Euler


Intai prezentam metoda directa a seriilor Taylor astfel incat metoda practica a lui Euler
sa …e un caz particular al acestei metode.
Se considera problema Cauchy

y 0 = f (x; y)
; x 2 [x0 ; x0 + T ] (6.11)
y(x0 ) = y0

Presupunand ca solutia y a problemei considerate este unica si satisface conditiile de


diferentiabilitate necesare, functia y poate … dezvoltata in serie Taylor in vecinatatea
punctului x0 :

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 + h (Tk f ) (x; y): (6.14)

Luand k = 1 se obtine metoda unipas a lui Euler:

y(x) = y0 + hf (x0 ; y0 )

ceea ce conduce la algoritmul recurent:

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

Algoritmul metodei lui Euler


I. Date de intrare: x0 ; y0 ; T (de tip real) n (de tip intreg)
expresia functiei f (argumente reale, valori reale)
II. Date de iesire: y[i]; i = 1; n aproximatiile solutiei pe noduri
III. Pasii algoritmului
6.3. METODA LUI HEUN 79

1. Se introduc datele si se de…neste functia f


2. Calculeaza
T
h = ; x[0] = x0 ; y[0] = y0
n
3. Pentru i = 1; n calculeaza
x[i] = x0 + i h
4. Pentru i = 1; n calculeaza

y[i] = y[i 1] + h f (x[i 1]; y[i 1])

5. Pentru i = 1; n tipareste y[i]: Stop.

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

luand pe rand pasul h = 41 ; 18 ; 16


1
: Pentru …ecare valoare a lui h sa se tipareasca solutia
adevarata, cea aproximata, eroarea la nodurile luate in considerare. Solutia exacta a
problemei Cauchy este
y(x) = x2 2x + 2 e x :
Sa se analizeze rezultatele obtinute.
3. Se considera problema Cauchy

y 0 = y + x; x 2 [0; 1]
:
y(0) = 1

Sa se aproximeze valorile solutiei y in punctele xi ; i = 1; 10 folosind metoda lui Euler cu


h = 0:1 si sa se compare valorile obtinute cu valorile corespunzatoare ale solutiei exacte
pe aceste puncte. Solutia exacta este

y (x) = 2ex x 1:

6.3 Metoda lui Heun


Observatie: Din inegalitatea (6.15) se vede ca y (xk ) = yk + O (h2 ) ; adica eroarea de
aproximare este de ordinul 2 si lim jy (xk ) yk j = 0; 8k = 1; n. Pentru a creste ordinul
h!0
erorii de aproximare s-au propus modi…cari ale algoritmului lui Euler. Una dintre aceste
modi…cari este data prin recurenta:

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

care pentru o programare mai facila poate … scrisa sub forma


K1 = f (xi ; yi )
h h
K2 = f x i + ; yi + K1
2 2
yi+1 = yi + hK2 ; i = 0; n:
O alta modi…care este metoda lui Heun data prin recurenta
K1 = f (xi ; yi )
K2 = f (xi + h; yi + hK1 )
h
yi+1 = yi + (K1 + K2 ) ; i = 0; n:
2
Aceste doua modi…cari conduc la cresterea cu 1 a ordinulului erorii de aproximare (a se
vedea [1]).
Algoritmul metodei lui Heun
Date de intrare: x0 ; y0 ; T (de tip real) n (de tip intreg)
expresia functiei f (argumente reale, valori reale)
II. Date de iesire: y[i]; i = 1; n aproximatiile solutiei pe noduri
III. Pasii algoritmului
1. Se introduc datele si se de…neste functia f
2. Calculeaza
T
h = ; x[0] = x0 ; y[0] = y0
n
3. Pentru i = 1; n calculeaza
x[i] = x0 + i h
4. Pentru i = 1; n calculeaza
K1 = f (x[i 1]; y[i 1])
K2 = f (x[i 1] + h; y[i 1] + hK1 )
h
y[i] = y[i 1] + (K1 + K2 )
2
5. Pentru i = 1; n tipareste y[i]: Stop.
Probleme propuse
1. Sa se scrie un program in limbajul C pentru metoda lui Heun.
2. Se considera problema Cauchy
y 0 = y + x; x 2 [0; 1]
:
y(0) = 1
Sa se aproximeze valorile solutiei y in punctele xi ; i = 1; 10 folosind metoda lui Heun cu
h = 0:1 si sa se compare valorile obtinute cu valorile corespunzatoare ale solutiei exacte
pe aceste puncte. Solutia exacta este
y (x) = 2ex x 1:
Sa se compare rezultatele obtinute cu metoda lui Euler si cele obtinute cu metoda lui
Heun.
6.4. METODA RUNGE-KUTTA 81

6.4 Metoda Runge-Kutta


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!
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

pe domeniul D = f(x; y) : jx x0 j a; jy y0 j bg cu a:b > 0 date, daca f 2 C 4 (D)


atunci eroarea de aproximare a solutiei acestei probleme pe noduri y (xi ) ; i = 1; n prin
valorile yi ; i = 1; n date de formula (6.17) este:
23163
jy (xi ) yi j Kh5 ; 8i = 1; n
4320
unde K > 0 este o constanta ce depinde de kf kC si

@ if
; i = 1; 4; j; k = 0; i; j + k = i:
@xj @y k C

Metoda Runge-Kutta de ordinul IV este descrisa de urmatorul algoritm:


Algoritmul metodei Runge-Kutta
I. Date de intrare: x0 ; y0 ; T (de tip real) n (de tip intreg)
expresia functiei f (argumente reale, valori reale)
II. Date de iesire: y[i]; i = 1; n aproximatiile solutiei pe noduri
III. Pasii algoritmului
1. Se introduc datele si se de…neste functia f
2. Calculeaza
T
h = ; x[0] = x0 ; y[0] = y0
n
3. Pentru i = 1; n calculeaza
x[i] = x0 + i h
4. Pentru i = 1; n calculeaza

K1 = h f (x[i 1]; y[i 1])

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

Sa se aproximeze valorile solutiei y in punctele xi ; i = 1; 10 folosind metoda lui Runge-


Kutta cu h = 0:1 si sa se compare valorile obtinute cu valorile corespunzatoare ale solutiei
exacte pe aceste puncte. Solutia exacta este

y (x) = 2ex x 1:

Sa se compare rezultatele cu cele date de metoda lui Euler.


3. Fie problema Cauchy
1
y 0 = 1+x 2 2y 2
0 ; x 2 [0; 4]:
y (0) = 0

Sa se aproximeze valorile solutiei y in punctele xi = hi; i = 1; n unde h = 41 ; iar


n = 16; folosind metoda lui Runge-Kutta. Stiind ca solutia exacta a problemei lui
x
Cauchy este y = 1+x 2 ; sa se compare rezultatele obtinute cu valorile solutiei exacte pe

punctele considerate. Sa se observe ce se intampla odata cu departarea de punctul initial.

6.5 Metoda aproximatiilor succesive


Consider¼
am problema Cauchy,
y 0 = f (x; y)
(6.18)
y(a) = y0
unde f : [a; b] R ! R , y0 2 R:
Presupunem ca f 2 C ([a; b] R) si ca exista M > 0; > 0; > 0 astfel incat

jf (x; y)j M; 8 (x; y) 2 [a; b] R

jf (t; u) f (s; v)j ju vj + js tj ; 8 (t; u) ; (s; v) 2 [a; b] R


si (b a) < 1: Atunci, aplicand principiul de punct …x al lui Banach, problema Cauchy
(6.18) are o unica solutie y 2 C[a; b] catre care converge uniform sirul aproximatiilor
succesive dat in mod recurent prin

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

Considerând pentru n 2 N o diviziune echidistanta a intervalului [a; b];

: a = x0 < x1 < ::: < xn 1 < xn = b


b a
si notam h = n
: Atunci,

i (b a)
xi = a + ; 8i = 0; n
n
84 CAPITOLUL 6. METODE NUMERICE PENTRU ECUATII DIFERENTIALE

si formula (6.19) se poate scrie pe nodurile acestei diviziuni prin


y0 (xi ) = y0 ; 8i = 0; n
Zxi
ym (xi ) = y0 + f (s; ym 1 (s))ds; 8i = 0; n; 8m 2 N : (6.20)
a

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

Inductiv, pentru m 3 se obtine,


ym (x0 ) = y0
a) X
i
(b
ym (xi ) = y0 + [f (xj 1 ; ym 1 (xj 1 ) + Rm 1;j 1 )+
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

+f (xj ; ym 1 (xj ))] + Rm;i = ym (xi ) + Rm;i ; 8i = 1; n:


Valorile calculate efectiv sunt ym (xi ); i = 1; n; m 2 N si ele vor aproxima solutia pe
nodurile diviziunii ; y (xi ) : Asupra erorii de aproximare are loc:
Teorema (a se vedea [5], [6]): Daca functia f este continua, marginita si Lipschitz in
…ecare argument, iar (b a) < 1, atunci:
[ (b a)]m ( + M ) (b a)2
y (xi ) ym (xi ) M (b a) + ; 8i = 1; n; 8m 2 N :
1 (b a) 4n[1 (b a)]
(6.21)
Observatie: Daca f 2 C 2 ([a; b] R) atunci estimarea erorii este mai buna decat in
(6.21) …ind:
[ (b a)]m M 00 (b a)3
y (xi ) ym (xi ) M (b a) + ; 8i = 1; n; 8m 2 N
1 (b a) 12n2 [1 (b a)]
(6.22)
6.5. METODA APROXIMATIILOR SUCCESIVE 85

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

Observatie: Din inegalitatile (6.21) si (6.22) rezulta ca

lim y (xi ) ym (xi ) = 0; 8i = 1; n


n!1;m!1

asigurand convergenta metodei. Pentru oprirea algoritmului se foloseste urmatorul cri-


teriu: Fiind dat " > 0 sa se determine primul numar natural m 2 N astfel incat

ym (xi ) ym 1 (xi ) < "; 8i = 1; n:

Algoritmul metodei aproximatiilor succesive


I. Date de intrare: a; b; y0 ; " (de tip real), n (de tip intreg)
expresia functiei f
II. Date de iesire: m; ultima iteratie
ym (xi ); i = 1; n aproximatiile solutiei pe noduri obtinute la ultima
iteratie
III. Pasii algoritmului:
1. Se citesc datele si se de…neste functia f
2. Calculeaza x[0] = a; h = b na
3. Pentru i = 1; n calculeaza x[i] = a + i h
4. Pentru i = 0; n calculeaza y[0; i] = y0
5. Calculeaza y[1; 0] = y0
6. Pentru i = 1; n calculeaza

a) X
i
(b
y[1; i] = y0 + (f (x[j 1]; y0 ) + f (x[j]; y0 )
2n j=1

7. Pentru m 1 (intreg), cat timp

max jy[m; i] y[m 1; i]j "


i=1;n

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

8. Pentru m pentru care

max jy[m; i] y[m 1; i]j < "


i=1;n

Tipareste mesaj "ultima iteratie este m "


Pentru i = 0; n tipareste y[m; i]: Stop.

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

Sa se aproximeze valorile solutiei y in punctele xi ; i = 1; 10 folosind metoda aproximatiilor


succesive cu h = 0:1; n = 10; si sa se compare valorile obtinute cu valorile corespunzatoare
ale solutiei exacte pe aceste puncte. Solutia exacta este

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.

[2] N.S.Barnett, S.S.Dragomir, A perturbed trapezoid inequality in terms of the third


derivative and applications, RGMIA Research Report Collection, vol.4, no.2 (2001),
221-233.

[3] N.S.Barnett, S.S.Dragomir, A perturbed trapezoid inequality in terms of the fourth


derivative, The Korean J. of Computational & Applied Math., vol.9, no.1, 2002,
45-60.

[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.

[10] Gh.Coman, Sever Groze, Rezolvarea numeric¼a a ecuaţiilor operatoriale, Litogra…a


Univ. ”Babes-Bolyai ”, 1981.

[11] Gh.Coman, Analiz¼a numeric¼a, Ed. Libris, Cluj-Napoca, 1995.

[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.

[14] C.Iacob (coord.), Matematici clasice si moderne, vol.4, Ed. Tehnic¼


a, Bucuresti, 1983.

[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.

[17] D.V.Ionescu, Cuadraturi numerice, Ed. Tehnica, Bucuresti, 1957.

[18] D.V.Ionescu, Aplicarea metodei aproximatiilor succesive in integrarea numerica a


ecuatiilor diferentiale, Studii si Cerc. Mat., Cluj-Napoca, 11, (1960), 273-286.

[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.

[21] R. Plato, Concise Numerical Mathematics, Graduate Studies in Mathematics vol.57,


AMS Providence, Rhode Island 2003.

[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.

[25] O. Stanasila, Analiza matematica, Editura Didactica si Pedagogica Bucuresti 1981.