Sunteți pe pagina 1din 261

CURS 1

Cuprinsul cursului:

• Notiuni introductive. Diferenţe finite şi diferenţe divizate..

• Metode clasice de interpolare de tip: Lagrange, Hermite şi Birkhoff. Studiul


erorii de interpolare. Interpolare de tip spline.

• Aproximare prin metoda celor mai mici pătrate.

• Metode de integrare numerica. Fomule de cuadratură de tip Newton-Cotes. For-


mule repetate de cuadratură. Algoritmul lui Romberg. Formule de cuadratură
adaptive. Formule de cuadratură de tip Gauss.

• Formule generale de cuadratură.


• Metode de rezolvare a sistemelor de ecuaţii liniare - directe (Gauss, LU).

• Metode de rezolvare a sistemelor de ecuaţii liniare - iterative (Jacobi, Gauss-


Seidel, SOR).

• Metode de rezolvare a ecuaţiilor neliniare ı̂n R: metode cu un pas (metoda


aproximaţiilor successive, metoda lui Newton (a tangentei)) şi metode cu mai
mulţi paşi (secantei, bisecţiei şi a falsei poziţii).

• Metode de rezolvare a sistemelor de ecuaţii neliniare: metoda aproximaţiilor


successive, metoda lui Newton.
Metode de evaluare

• Examen scris: 60%

• Activitaţi de laborator : 30%

- Fiecare lab este evaluat.

- Fiecare lab trebuie predat ı̂n saptămâna ı̂n curs sau ı̂n următoarea. Fiecare ı̂ntârziere
se penalizează cu un punct/săptămână .

- Un lab nepredat are nota 1.

• Activitaţi de seminar : 10%


Bibliografie:

1. I. Chiorean, T. Cătinaş, R. Trı̂mbitaş, Analiză Numerică, Ed. Presa Univ. Clu-


jeană, 2010.

2. R. L. Burden, J. D. Faires, Numerical Analysis, PWS Publishing Company, 1985.

3. W. Gander, M.J. Gander, F. Kwok, Scientific Computing, Springer Internat.


Publishing, 2014.

4. R. Trı̂mbitaş, Numerical Analysis in Matlab, Ed. Presa Univ. Clujeană, 2011.


Cap. 1. Noţiuni introductive

1.1. Preliminarii

Definiţia 1 Fie x∗ ∈ R valoarea de interes. Un element x̃ ∈ R care


aproximează x∗ se numeşte aproximaţia lui x∗.

Expresia ∆x = x∗ − x̃ sau ∆x = x̃ − x∗ se numeşte eroare.

Valoarea |∆x| = |x∗ − x̃| se numeşte eroarea absolută de aproximare

|∆x| |x∗−x̃|
Valoarea δx = |x∗| = |x∗ | , x∗ 6= 0 se numeşte eroarea relativă de
aproximare. Eroarea relativă este o proporţie, care se poate exprima
şi ca procent prin multiplicarea erorii relative cu 100%. (Valoarea
100% · δx se numeşte eroarea procentuală de aproximare.)

Eroarea relativă se foloseşte pentru a pune eroarea ı̂n context şi a da


indicii despre cât de bună e măsuratoarea relativă la mărimea obiectului
măsurat.
De exemplu, eroarea de 1cm poate fi mare dacă lungimea totală este
de 15cm, dar nesemnificativă dacă lungimea e de 5km.

Exemplu: Considerăm 2 măsuratori ale greutăţii de 5.00g, anume


5.05g şi 4.95g. Eroarea absolută este 0.05g. Eroarea relativă este
0.05g/5.00g = 0.01 sau 1%.

Aceste noţiuni se extind corespunzător la spaţii normate.

Definiţia 2 Mulţimea V este K-spaţiu liniar dacă este definită o


operaţie de adunare intre elementele ei (de la V × V la V ), şi o operaţie
de ı̂nmulţire a elementelor lui V cu scalari din K (de la K × V la V ) a.ı̂.
să fie ı̂ndeplinite următoarele condiţii:

1) (V, +) grup comutativ;

2) (α + β)f = αf + βf ;

3) α(f + g) = αf + βg;
4) α(βf ) = (αβ)f ;

5) 1f = f ; ∀α, β ∈ K; f, g ∈ V.

Definiţia 3 Fie V şi V ′ două K-spaţii liniare. O funcţie f : V → V ′ se


numeşte transformare liniară sau operator liniar dacă:

1) f (v1 + v2) = f (v1) + f (v2), ∀v1, v2 ∈ V (aditivitate)


2) f (αv) = αf (v), ∀α ∈ K, ∀v ∈ V (omogenitate).

Observaţia 4 1) Aplicaţia f : V → V ′ este un operator liniar dacă şi


numai dacă

f (αv1 + βv2) = αf (v1) + βf (v2), ∀α, β ∈ K, ∀v1, v2 ∈ V.


2) Dacă f este un operator liniar atunci f (0) = 0 şi f (−v) = −f (v), v ∈
V.

Definiţia 5 Dacă V este un K-spaţiu liniar atunci o aplicaţie f : V → K


se numeşte funcţională ( funcţională reală (sau complexă) dacă K = R
(sau C)).
Definiţia 6 O funcţională reală p : V → [0, ∞], cu proprietăţile:

1) p(v1 + v2) ≤ p(v1) + p(v2), ∀v1, v2 ∈ V,


2) p(αv) = |α| p(v), ∀α ∈ R şi v ∈ V,
se numeşte seminormă pe V. Dacă, ı̂n plus,

3) p(v) = 0 =⇒ v = 0
atunci p se numeşte normă şi V se numeşte spaţiu liniar normat.

O normă se notează cu k·k .

Observaţia 7 d(v1, v2) = kv1 − v2k , pentru v1, v2 ∈ V, reprezintă o


distanţă (metrică) ı̂n V.

Observaţia 8 Un spaţiu liniar normat este un spaţiu metric.

Definiţia 9 Un spaţiu liniar normat complet se numeşte spaţiu Ba-


nach.
Definiţia 10 Fie V un K-spaţiu liniar. O aplicaţie h·, ·i : V × V → K,
cu proprietăţile:
1) hv1, v2i = hv2, v1i ,
2) hv1 + v2, v3i = hv1, v3i + hv2, v3i ,
3) hαv1, v2i = α hv1, v2i , α ∈ K
4) v 6= 0 =⇒ hv, vi > 0,
se numeşte produsul scalar a lui v1 şi v2.

Definiţia 11 Intr-un spaţiu liniar cu produs scalar norma definită prin


q
kvk = hv, vi,
se numeşte norma indusă de produs scalar.

Definiţia 12 Un spaţiu liniar normat cu norma indusă de un produs


scalar se numeşte spaţiu pre-Hilbert.

Definiţia 13 Un spaţiu pre-Hilbert complet se numeşte spaţiu Hilbert.


Un spaţiu Banach cu norma indusă de un produs scalar este spaţiu
Hilbert.
Definiţia 14 Dacă P ◦ P = P atunci operatorul P este idempotent.

Definiţia 15 Fie V un spaţiu liniar peste R sau C. Un operator liniar


P : V → V se numeşte proiector dacă

P ◦ P = P, (sau pe scurt, P 2 = P ),
adică operatorul P este liniar şi idempotent.

Definiţia 16 Considerăm proiectorii P1, P2 : V → V . Dacă

P1 ◦ P2 = P2 ◦ P1
atunci P1 şi P2 sunt proiectori comutativi.

Observaţia 17 1) Operator identic I : V → V, I(v) = v şi operatorul


nul 0 : V → V, 0(v) = 0 sunt proiectori.

2) P este proiector ⇒ P C := I −P, complementul lui P, este proiector.


1. 2. Diferenţe finite şi diferenţe divizate

Diferenţe finite

Fiet M = {ai | ai = a + ih, cu i = 0, ..., m; a, h ∈ R∗, m ∈ N∗} şi F = {f


| f : M → R}.

Definiţia 18 Pentru f ∈ F ,
(△hf )(ai ) = f (ai+1) − f (ai ), i<m
se numeşte diferenţa finită de ordinul ı̂ntâi a funcţiei f, cu pasul h,
ı̂n punctul ai.

Teorema 19 Operatorul △h este liniar ı̂n raport cu f .

Demonstraţia. Dacă f, g : M → R; A, B ∈ R şi i < m, avem


(△h(Af + Bg))(ai ) = (Af + Bg)(ai+1) − (Af + Bg)(ai ) (1)
= A[f (ai+1) − f (ai )] + B[g(a i+1) − g(ai)]
= A(△hf )(ai ) + B(△hg)(ai ).
Definiţia 20 Fie 0 ≤ i < m, k ∈ N şi 1 ≤ k ≤ m − i

(△khf )(ai ) = (△h(△k−1


h f ))(ai ) (2)
= (△k−1
h f )(ai+1 ) − (△k−1
h f )(ai ), cu △0
h = I şi △1
h = △h
se numeşte diferenţa finită de ordinul k a funcţiei f, cu pasul h, ı̂n
punctul ai.

Teorema 21 Dacă 0 ≤ i < m; k, p ∈ N şi 1 ≤ p + k ≤ m − i, atunci


p p p+k
(△h(△khf ))(ai ) = △kh(△hf )(ai ) = (△h f )(ai ). (3)
Tabelul diferenţelor finite (fi notează f (ai ))

a f △hf △2
hf ... △m−1
h f △m
hf
a0 f0 △hf0 △2
h f0 ... △m−1
h f0 △m
h f0
a1 f1 △hf1 △2
h f1 ... △m−1
h f1
...
am−3 fm−3 △hfm−3 △2
h fm−3
am−2 fm−2 △hfm−2 △2
h fm−2
am−1 fm−1 △hfm−1
am fm

unde

△khfi = △k−1
h fi+1 − △k−1
h fi , k = 1, ..., m; i = 0, 1, ..., m − k.

Exemplul 22 Considerăm h = 0.25, a = 1, ai = a + ih, i = 0, 4, şi


f0 = 0, f1 = 2, f2 = 6, f3 = 14, f4 = 17. Formaţi tabelul diferenţelor
finite.

Sol.:
△2 3f △4f

a f △ f f △
h h h h
1 0 2 2 2 −11

1.25 2 4 4

−9
1.50 6 8 −5

1.75 14 3

2 17

Diferenţe divizate

Fie X = {xi | xi ∈ R, i = 0, 1, ..., m, m ∈ N∗} şi f : X → R.

Definiţia 23 Pentru r ∈ N, r < m,


f (xr+1) − f (xr )
(Df )(xr ) := [xr , xr+1; f ] =
xr+1 − xr
se numeşte diferenţă divizată a funcţiei f, relativă la punctele xr şi
xr+1.

Teorema 24 Operatorul D este liniar ı̂n raport cu f .

Demonstraţia.
(αf + βg)(xr+1) − (αf + βg)(xr)
(D(αf + βg))(xr ) = (4)
xr+1 − xr
= α(Df )(xr ) + β(Dg)(xr ), cu α, β ∈ R.
Definiţia 25 Pentru r, k ∈ N, 0 ≤ r < m şi 1 ≤ k ≤ m − r, m ∈ N∗,
(D k−1f )(x ) − (D k−1f )(x )
r+1 r
(D k f )(xr ) = , cu D 0 = 1, D 1 = D, (5)
xr+k − xr
se numeşte diferenţă divizată de ordinul k a funcţiei f, ı̂n xr .
h i
(D k f )(xr ) se notează şi cu xr , ..., xr+k ; f . Relaţia (5) se poate scrie
şi ı̂n felul următor
h i h i
h i xr+1, ..., xr+k ; f − xr , ..., xr+k−1; f
xr , ..., xr+k ; f = . (6)
xr+k − xr

Observaţia 26 Operatorul D k este liniar ı̂n raport cu f.

Pentru r = 0 şi k = m avem


m
m
X f (xi )
(D f )(x0) = . (7)
i=0 (xi − x0 )...|...(xi − xm )
Teorema 27 Dacă f, g : X → R atunci
m
X
[x0, ..., xm; f g] = [x0, ..., xk ; f ][xk , ..., xm; g].
k=0

Demonstraţia. Se demonstrează prin inducţie matematică ı̂n raport


cu m.

Tabelul cu diferenţe divizate:

x f Df D 2f ... D m−1f D mf
x0 f0 Df0 D 2f0 ... D m−1f0 D mf0
x1 f1 Df1 D 2f1 D m−1f1
x2 f2 Df2 D 2f2
... ... ...
xm−2 fm−2 Dfm−2 D 2fm−2
xm−1 fm−1 Dfm−1
xm fm

cu fi = f (xi ), i = 0, 1, ..., m.
Exemplul 28 Pentru x0 = 0, x1 = 1, x2 = 2, x3 = 4 şi f0 = 3, f1 = 4,
f2 = 7, f3 = 19 formaţi tabelul diferenţelor divizate.

x f Df D 2f D 3f
0 3 1 1 0
1 4 3 1
2 7 6
4 19

Exemplul 29 Formaţi tabelul diferenţelor divizate pentru x0 = 2, x1 =


4, x2 = 6, x3 = 8 şi f0 = 4, f1 = 8, f2 = 20, f3 = 48.
2. Interpolare polinomială

Interpolarea este ştiinţa ”de a citi printre rândurile unui tabel matem-
atic” (E. Whittaker, G. Robinson)

Presupunem că se cunosc doar valorile f (xi ), i = 0, ..., m ale funcţiei


f :
x x0 , x1 , ... z ... xm
y = f (x) y0 , y1 , ... ? ... ym
Există posibilitatea de a aproxima valoarea f (z) ı̂ntr-un punct dat z
fără a evalua f ?

Aplicaţii:

1. aproximarea datelor ı̂n puncte unde măsurătorile nu sunt disponibile

2. aproximarea unei funcţii dacă se cunosc valorile ei sau/şi a unor


derivate ı̂n anumite puncte date
Exemplul 30 Un recensamânt al populaţiei din USA se face la fiecare
10 ani. Următorul tabel conţine populaţia din 1950 pâna ı̂n 2000, ı̂n
mii de locuitori.
1950 1960 1970 1980 1990 2000
151326 179323 203302 226542 249633 281422
Intrebare: puteţi estima populaţia din 1975 sau din 2020? Răspuns:
populaţia ı̂n 1975 este 215042 iar ı̂n 2020 este 513442.
5
x 10
3

2.5
Population

1.5
1950 1955 1960 1965 1970 1975 1980 1985 1990 1995 2000
Year

Preziceri de acest tip se obţin folosind o funcţie care trece prin punctele
date. Acest procedeu se numeşte interpolare.
Exemplul 31 a) Temperatura aerului ı̂n timpul unei zile:
t 8am 9am 11am 1pm 5pm
T in ◦C 12.1 13.6 15.9 18.5 16.1
Ce temperatură a fost la ora 10am?

b) Presiunea P a vaporilor de apă (ı̂n bari) ca funcţie de temperatură


T (ı̂n ◦C) este:
T 0 10 20 30 40 60 80 100
P 0.0061 0.0123 0.0234 0.0424 0.0738 0.1992 0.4736 1.0133
Estimaţi P (5) şi P (45).
√ √
c) Estimaţi sin 1 dacă se cunosc sin 6 = 2 , sin 4 = 2 şi sin 3 = 23 .
π 1 π 2 π

d) Estimaţi log(2) dacă ştim log(1) şi log(6) = 1.7918.

Una dintre cele mai utile clase de funcţii de interpolare sunt polinoamele
algebrice.
Importante pt. că:

- derivatele şi integralele polinoamelor sunt uşor de determinat, şi sunt


de asemenea, polinoame;

- evaluarea unui polinom se poate face eficient (schema lui Horner);

- aproximează uniform continuu funcţiile (dându-se orice funcţie, definită


şi continuă pe un interval ı̂nchis şi mărginit există un polinom care este
”atât de apropiat” de funcţie pe cât se doreşte);

Teorema 32 (Weierstrass) Fie funcţia f ∈ C[a, b]. Pentru orice ε > 0,


există un polinom P (x), cu proprietatea că
|f (x) − P (x)| < ε, pentru orice x ∈ [a, b].

Polinoamele sunt cele mai importante mijloace de aproximare in aproape


toate ramurile analizei numerice: aproximarea funcţiilor, integralelor,
derivatelor, rezolvarea ecuaţiilor neliniare, ecuaţiilor integrale şi diferenţiale,
etc.
2.1. Interpolare de tip Taylor

Teorema 33 (Teorema lui Taylor) Fie f ∈ C n[a, b], pentru care există
f (n+1) pe [a, b] şi fie x0 ∈ [a, b]. Pentru fiecare x ∈ [a, b] există un număr
ξ ı̂ntre x0 şi x astfel ı̂ncât

f (x) = Pn(x) + Rn(x),


cu polinomul lui Taylor
n
X (x − x0)k (k)
Pn(x) = f (x0) (8)
k=0
k!
şi restul
(x−x0 )n+1 (n+1)
Rn(x) = (n+1)! f (ξ).

Exemplul 34 Calculăm primele 6 polinoame Taylor ı̂n x0 = 0 pentru


f (x) = ex.
Polinoame Taylor
25

20

15

10

0
−1 −0.5 0 0.5 1 1.5 2 2.5 3

Se observă că şi pentru polinoamele de grad mare eroarea devine pro-
gresiv mai mare când ne ı̂ndepartăm de x0 = 0.

Deşi se obţin aproximări mai bune pentru polinoame Taylor de grad


mai mare pentru f (x) = ex, acest comportament nu e valabil pentru
toate funcţiile. Aproximarea prin polinoame Taylor se foloseşte când se
cer aproximaţii ı̂n puncte apropiate de x0. In general, este mai eficient
să folosim metode care conţin informaţii ı̂n mai multe puncte.

Exemplul 35 Considerăm f (x) = 1 x şi x0 = 1. Aproximaţi valoarea lui


f (3) prin polinoame Taylor de diferite grade.

n 0 1 2 3 4 5 6 7
Pn(3) 1 −1 3 −5 11 −21 43 −85
CURS 2

2.2. Interpolare de tip Lagrange

Exemplul 1 Un recensamânt al populaţiei din USA se face la fiecare


10 ani. Următorul tabel conţine populaţia din 1950 pâna ı̂n 2000, ı̂n
mii de locuitori.
1950 1960 1970 1980 1990 2000
151326 179323 203302 226542 249633 281422
Intrebare: puteţi estima populaţia din 1975 sau din 2020? Răspuns:
populaţia ı̂n 1975 este 215042 iar ı̂n 2020 este 513442.
5
x 10
3

2.5
Population

1.5
1950 1955 1960 1965 1970 1975 1980 1985 1990 1995 2000
Year
Fie [a, b] ⊂ R, xi ∈ [a, b], i = 0, 1, ..., m astfel astfel ı̂ncât xi 6= xj pentru
i 6= j şi considerăm f : [a, b] → R.

Problema de interpolare Lagrange (PIL) constă ı̂n determinarea


polinomului P de grad minim astfel ı̂ncât

P (xi ) = f (xi), i = 0, 1, ..., m (1)

Definitie echivalentă. Probl. de interpolare Lagrange constă ı̂n deter-


minarea polinomului P de grad minim care trece prin punctele date
(x0, f (x0)),..., (xm, f (xm)).

Cum in (1) sunt m + 1 conditii care trebuie satisfăcute, considerăm


polinomul de grad m

P (x) = a0 + a1x + ... + am−1xm−1 + amxm. (2)


Cei m+1 coeficienti {ai} se determină astfel ı̂ncât (1) sunt satisfăcute,
ceea ce conduce la sistemul:



 a0 + a1x0 + ... + am−1xm−1
0 + amxm
0 = f (x0 )

a0 + a1x1 + ... + am−1xm−1 + amxm

1 1 = f (x1 )




 a + a x + ... + a m−1 + a xm = f (x ).
0 1 m m−1 xm m m m
Sub formă matriceală sistemul se poate scrie:
 
m−1 m   
1 x0 ... x0 x0 a0 f (x0)
 m−1 
 1 x ... x x m  a1   f (x1) 
1 1 1   
=

.
  .. ..

 . 
 .    
1 xm ... xm−1 m xmm am f (xm).
| {z }
V
Matricea V se numeşte matrice Vandermonde.

Observaţia 2 Pentru m + 1 noduri distincte matricea Vandermonde


este nesingulară şi există un polinom unic de interpolare P de grad ≤ m
astfel ı̂ncât P (xi ) = f (xi ), i = 0, 1, ..., m.
Observaţia 3 Deoarece matricea Vandermonde este rău condiţionată,
această metodă nu se recomendă pentru calculul polinomului Lagrange.

Definiţia 4 O solutie a (PIL) se numeşte polinom de interpolare


Lagrange, notat cu Lmf .

Observaţia 5 Avem (Lmf )(xi ) = f (xi), i = 0, 1, ..., m.

Lmf ∈ Pm (Pm:=spaţiul polinoamelor de grad cel mult m).

Polinomul de interpolare Lagrange este dat prin


m
X
(Lmf )(x) = ℓi(x)f (xi ), (3)
i=0
unde ℓi(x) notează polinoamele fundamentale de interpolare La-
grange.
Fie
m
Q
u(x) = (x − xj ),
j=0
u(x) m
Q
ui(x) = = (x − x0)...(x − xi−1)(x − xi+1)...(x − xm) = (x − xj ),
x − xi j=0
j6=i
avem
ui(x) (x − x0)...(x − xi−1)(x − xi+1)...(x − xm) m x − xj
Q
ℓi(x) = = = ,
ui(xi) (xi − x0)...(xi − xi−1)(xi − xi+1)...(xi − xm) j=0 xi − xj
j6=i
(4)
pentru i = 0, 1, ..., m.

Cum ştim că polinomul de interpoalre obtinut ı̂n (2) şi polinomul con-
struit ı̂n (3) reprezintă acelaşi polinom?

Presupunem că se calculează două polinoame diferite Q(x) şi P (x)


fiecare de grad m astfel ı̂ncât
Q(xj ) = f (xj ) = P (xj ), j = 0, ..., m.
Formăm diferenţa
d(x) = Q(x) − P (x),
care este un polinom de grad ≤ m.

Din proprietătile de interpolare ale lui P şi Q, avem

d(xj ) = Q(xj ) − P (xj ) = 0, j = 0, ..., m.


Un polinom nenul de grad ≤ m nu poate avea mai mult de m zerouri.
Dar d are m + 1 zerouri distincte, deci trebuie sa fie polinomul nul,
adică Q(x) = P (x).

Propoziţia 6 Polinoamele fundamentale de interpolare Lagrange se


mai pot scrie sub forma:
u(x)
ℓi(x) = , i = 0, 1, ..., m. (5)
(x − xi)u′(xi)
u(x)
Demonstraţia. Avem ui(x) = x−x , deci u(x) = ui(x)(x−xi). Se obţine
i
u′(x) = ui(x) + (x − xi)u′i(x), de unde rezultă u′(xi) = ui(xi). Cum
ui(x)
ℓi(x) =
ui(xi )
obţinem
ui(x) u(x)
ℓi(x) = ′ = , i = 0, 1, ..., m. (6)
u (xi) (x − xi)u′(xi )

Teorema 7 Operatorul Lm este liniar.

Demonstraţia. Avem
m
X m
X
Lm(αf + βg)(x) = ℓi(x)(αf + βg)(xi) = [ℓi(x)αf (xi ) + ℓi(x)βg(xi)]
i=0 i=0
= α(Lmf )(x) + β(Lm g)(x),
deci

Lm(αf + βg) = αLmf + βLmg, ∀f, g : [a, b] → R, α, β ∈ R.

Exemplul 8 1) Considerăm nodurile x0, x1 şi o funcţie f. Găsiti poli-


nomul Lagrange care interpolează funcţia f relativ la nodurile x0 şi
x1 .

2) Găsiţi polinomul de interpolare Lagrange ce interpolează datele din


tabelul de mai jos:
x −1 0 3
f (x) 8 −2 4
şi aflaţi f (−0.5).
Sol. 1) Avem m = 1,

u(x) = (x − x0)(x − x1)


u0(x) = x − x1
u1(x) = x − x0

(L1f )(x) = l0(x)f (x0) + l1(x)f (x1 )


x − x1 x − x0
= f (x0) + f (x1),
x0 − x1 x1 − x0
care este dreapta ce trece prin punctele (x0, f (x0)) şi (x1, f (x1)).

b) Avem m = 2 şi

(L2f )(x) = l0(x)f (x0) + l1(x)f (x1 ) + l2(x)f (x2 ).


u(x) = (x + 1)(x − 0)(x − 3) cu
(x − 0)(x − 3) 1
l0(x) = = x(x − 3)
(−1 − 0)(−1 − 3) 4
(x + 1)(x − 3) 1
l1(x) = = − (x + 1)(x − 3)
(0 + 1)(0 − 3) 3
(x + 1)(x − 0) 1
l2(x) = = x(x + 1),
(3 + 1)(3 − 0) 12
Polinomul este
2 1
(L2f )(x) = 2x(x − 3) + (x + 1)(x − 3) + x(x + 1).
3 3
şi (L2f )(−0.5) = 2.25.

Observaţia 9 Dezavantajele formei (3): sunt necesare multe calcule


iar dacă adăugăm sau extragem un punct, trebuie sa refacem toate
calculele de la ı̂nceput.
Putem reduce numărul de operaţii ı̂n felul următor:
m
P
li(x)f (xi )
(Lmf )(x)
(Lmf )(x) = = i=0P
m .
1 li(x)
i=0
Impărţim numărătorul şi numitorul cu
m
Y
u(x) = (x − xi)
i=1
şi notăm
1 1
Ai = m = .
Q
(xi − xj ) ui(xi)
j=0,j6=i
Se obţine
m A f (x )
P i i
x−xi
(Lm f )(x) = i=0
m A
P
, (7)
i
x−xi
i=0
numită formula baricentrică a polinomului de interpolare Lagrange.
Observaţia 10 Formula (7) necesită jumătate din numărul de operaţii
necesar pentru (3) şi este mai uşor să se adauge sau să se extragă un
nod.

Polinomul Lagrange generează formula de interpolare Lagrange

f = Lmf + Rmf,
unde Rmf notează termenul rest.

Teorema 11 Fie α = min{x, x0, ..., xm} şi β = max{x, x0, ..., xm}. Dacă
f ∈ C m[α, β] şi f (m) este derivabilă pe (α, β) atunci ∀x ∈ (α, β), există
ξ ∈ (α, β) astfel ı̂ncât
u(x)
(R mf )(x) = f (m+1) (ξ). (8)
(m + 1)!

Demonstraţia. Consider

u(z)
(Rmf )(z)
F (z) = .
u(x) (Rmf )(x)
From hypothesis it follows that F ∈ C m[α, β] and there exists F (m+1) on
(α, β).

We have
F (x) = 0, F (xi) = 0, i = 0, 1, ..., m,
as
m
Q
u(xi) = (xi − xj ) = 0
j=0
and
(Rmf )(xi ) = f (xi ) − (Lmf )(xi ) = f (xi ) − f (xi) = 0,
so F has m + 2 distinct zeros in (α, β). Applying successively the Rolle
theorem it follows that: F has m + 2 zeros in (α, β) ⇒ F ′ has at least
m + 1 zeros in (α, β) ⇒ ... ⇒ F (m+1) has at least one zero in (α, β)

So F (m+1) has at least one zero ξ ∈ (α, β), F (m+1) (ξ) = 0.


We have

(m+1)
(z) (Rmf )(m+1) (z)

(m+1) u
F (z) = ,
u(x) (Rmf )(x)

with
m
Y
u(z) = (z − zi) ⇒ u(m+1)(z) = (m + 1)!,
i=0
and

(Rmf )(m+1) (z) = (f − (Lmf ))(m+1) (z)


= f (m+1) (z) − (Lm f )(m+1) (z) = f (m+1) (z)
(as, Lmf ∈ Pm).

We have F (m+1) (ξ) = 0, for ξ ∈ (α, β), so



(m + 1)! f (m+1) (ξ)

(m+1)
F (ξ) = = 0,
u(x) (Rmf )(x)

i.e., (m + 1)!(R mf )(x) = u(x)f (m+1) (ξ),


u(x)
whence (R mf )(x) = (m+1)! f (m+1) (ξ).

Corolar 12 Dacă f ∈ C m+1[a, b] atunci


|u(x)| (m+1)
|(Rmf )(x)| ≤ f , x ∈ [a, b]
(m + 1)! ∞

unde k·k∞ notează norma uniformă, kf k∞ = sup |f (x)|.


x∈[a,b]

Exemplul 13 Dacă ştim lg 2 = 0.301, lg 3 = 0.477, lg 5 = 0.699, aflaţi


lg 76. Studiţi eroarea de aproximare.

Exemplul 14 Care este limita maximă a erorii de aproximare a lui



115 folosind interpolarea Lagrange pentru nodurile x0 = 100, x1 =

121 şi x2 = 144? Găsiţi valoarea aproximativă a lui 115.
CURS 3

2.2. Interpolare de tip Lagrange

Algoritmul lui Aitken

Fie [a, b] ⊂ R, xi ∈ [a, b], i = 0, 1, ..., m cu xi ̸= xj ,pentru i ̸= j şi


considerăm f : [a, b] → R.

In general, ı̂n problemele practice de aproximare, pentru o funcţie dată


f : [a, b] → R trebuie să găsim aproximarea lui f (α), α ∈ [a, b] cu o
eroare mai mică decât eroarea dată ε > 0.

Dacă avem suficiente informaţii despre f şi derivatele ei, folosim inegali-
tatea |(Rmf )(x)| ≤ ε pentru a găsi m astfel incât (Lmf )(α) aproximează
f (α) cu precizia dată.

|u(x)| (m+1)

Se poate folosi condiţia (m+1)! f ≤ ε, dar trebuie să ştim



(m+1)
f sau un majorant al ei.


O metodă practică de calcul a polinomului Lagrange este algoritmul
lui Aitken. Acesta constă ı̂n generarea tabelului:
x0 f00
x1 f10 f11
x2 f20 f21 f22
x3 f30 f31 f32 f33
... ... ... ... ...
xm fm0 fm1 fm2 fm3 ... fmm
cu
fi0 = f (xi), i = 0, 1, ..., m,
şi

1 f
jj xj − x
fi,j+1 = , i = 0, 1, ..., m; j = 0, ..., i − 1.
xi − xj fij xi − x

De exemplu,

1 00 x0 − x
f
f11 =

x1 − x0 f10 x1 − x


1
= [f00(x1 − x) − f10(x0 − x)]
x1 − x0
x − x1 x − x0
= f (x0) + f (x1) = (L1f )(x),
x0 − x1 x1 − x0
deci f11 este valoarea ı̂n x a polinomului Lagrange pentru nodurile
x0, x1. Avem
fii = (Lif )(x),
Lif fiind polinomul Lagrange pentru nodurile x0, x1, ..., xi.

Adică f11, f22, ..., fii, ..., fmm este şirul aproximaţiilor lui f (x).

Dacă procedeul de interpolare este convergent atunci şirul este, de


asemenea, convergent, adică, lim fmm = f (x). Pe baza criteriului de
m→∞
convergenţă a lui Cauchy, rezultă
lim |fii − fi−1,i−1| = 0.
i→∞
Aceasta se foloseşte ca şi criteriu de oprire, adică,

fii − fi−1,i−1 ≤ ε, pentru ε > 0.

Recomandarea este să sortăm nodurile x0, x1, ..., xm ı̂n raport cu distanţa
la x, astfel ı̂ncât

|xi − x| ≤ xj − x dacă i < j, i, j = 1, ..., m.


Exemplul 1 Aproximaţi 115 cu precizia ε = 10−3, folosind algoritmul
lui Aitken.
Polinomul de interpolare Newton

Altă scriere pentru polinomul de interpolare Lagrange:


m
(x − x0)...(x − xi−1)(Dif )(x0)
X
(Lmf )(x) := (Nmf )(x) = f (x0) +
i=1
(1)
m
X
= f (x0) + (x − x0)...(x − xi−1)[x0, ..., xi; f ],
i=1
numit polinomul de interpolare Newton, unde (Dif )(x0)(sau notată
[x0, ..., xi; f ]) este diferenţa divizată de ordinul i a funcţiei f ı̂n x0, dată
de tabelul
f Df D2f ... Dm−1f Dmf
x0 f0 Df0 D 2 f0 ... Dm−1f0 D m f0
x1 f1 Df1 D 2 f1 Dm−1f1
x2 f2 Df2 D 2 f2
... ... ...
xm−2 fm−2 Dfm−2 D2fm−2
xm−1 fm−1 Dfm−1
xm fm

Adaugăm un punct (x, f (x)) pe prima linie a tabelului:

f Df ... Dm+1f
x f (x) (Df )(x) = [x, x0 ; f ] [x, x0, ..., xm; f ]
x0 f (x0) (Df )(x0 ) = [x0 , x1 ; f ] ...
x1 f (x1) (Df )(x1 ) = [x1 , x2 ; f ]
... ... ...
xm−1 f (xm−1) (Df )(xm−1 ) = [xm−1 , xm ; f ]
xm f (xm)
Pentru obţinerea polinomului de interpolare considerăm
f (x0) − f (x)
[x, x0; f ] = =⇒ f (x) = f (x0) + (x − x0)[x, x0; f ] (2)
x0 − x
[x , x ; f ] − [x, x0; f ]
[x, x0, x1; f ] = 0 1 (3)
x1 − x
=⇒ [x, x0; f ] = [x0, x1; f ] + (x − x1)[x, x0, x1; f ].
Inserând (3) ı̂n (2) se obţine
f (x) = f (x0) + (x − x0)[x0, x1; f ] + (x − x0)(x − x1)[x, x0, x1; f ].
Dacă continuăm cu eliminarea diferenţelor divizate relative la x ı̂n
acelaşi mod, se obţine
f (x) = (Nmf )(x) + (Rmf )(x)
cu
m
X
(Nmf )(x) = f (x0) + (x − x0)...(x − xi−1)[x0, ..., xi; f ]
i=1
şi restul (eroarea) dat prin
(Rmf )(x) = (x − x0)...(x − xm)[x, x0, ..., xm; f ]. (4)
Formula de interpolare Newton este

f = Nmf + Rmf,
unde Rmf este restul (4).

Observaţia 2 Restul din formula de interpolare Lagrange este dată şi


prin
(x − x0)...(x − xm) (m+1)
(R mf )(x) = f (ξ),
(m + 1)!
cu ξ ı̂ntre x, x0, ..., xm, deci, din (4), rezultă că diferenţele divizate
aproximează derivatele
f (m+1)(ξ)
[x, x0, ..., xm; f ] = .
(m + 1)!

Remarcăm că

(Nif )(x) = (Ni−1f )(x) + (x − x0)...(x − xi−1)[x0, ..., xi; f ]


deci polinoamele Newton de grad 2, 3, ..., se pot genera iterativ, similar
cu algoritmul Aitken.

Exemplul 3 Aflaţi L2f pentru f (x) = sin πx, şi x0 = 0, x1 = 1


6 , x 2 = 1
2
folosind formula clasică şi formula lui Newton.
Algoritmul lui Neville

• Ideea Algoritmului lui Neville este aceea de a utiliza recursiv poli-


noamele Lagrange de grad mic pentru a construi polinoamele La-
grange de grad mare.

• Algoritmul este util atunci când avem un polinom Lagrange con-


struit pe un set de date (xi, f (xi)), i = 0, 1, . . . , n, căruia ı̂i adăugăm
un nou punct (xn+1, f (xn+1)).

Fie f o funcţie pentru care cunoaştem f (x0), f (x1), . . . , f (xn) s, i fie


m1, . . . , mk , k numere naturale, distincte, astfel ı̂ncât 0 ≤ mi ≤ n,
oricare ar fi i.
Polinomul Lagrange care interpolează funct, ia f ı̂n cele k puncte
xm1 , . . . , xmk se notează cu Pm1,...,mk (x).

Exemplu Considerăm x0 = 1, x1 = 2, x2 = 3, x3 = 4, x4 = 6 s, i
f (x) = ex. Determinat, i P1,2,4(x) s, i utilizat, i-l pentru a determina f (5).
(x − x2 )(x − x4 ) (x − x1 )(x − x4 ) (x − x1 )(x − x2 )
P1,2,4 (x) = f (x1 ) + f (x2 ) + f (x4 )
(x1 − x2 )(x1 − x4 ) (x2 − x1 )(x2 − x4 ) (x4 − x1 )(x4 − x1 )
(x − 3)(x − 6) (x − 2)(x − 6) (x − 2)(x − 3)
= f (2) + f (3) + f (6)
(2 − 3)(2 − 6) (3 − 2)(3 − 6) (6 − 2)(6 − 3)
Deci, f (5) ≈ P1,2,4(5), mai exact
(5 − 3)(5 − 6) 2 (5 − 2)(5 − 6) 3 (5 − 2)(5 − 3) 6
P1,2,4 (5) = e + e + e
(2 − 3)(2 − 6) (3 − 2)(3 − 6) (6 − 2)(6 − 3)
= −0.5e2 + e3 + 0.5e6 ≈ 218.105.
Teoremă Fie f o funct, ie pentru care cunoaştem f (x0), f (x1), . . . , f (xn)
s, i fie xi s, i xj două noduri distincte din mult, imea {x0, · · · , xk }. Atunci
(x − xj )P0,1,...,j−1,j+1,...,k (x) − (x − xi)P0,1,...,i−1,i+1,...,k (x)
P (x) =
xi − xj
este polinomul Lagrange de grad k care aproximează funcţia f ı̂n cele
k + 1 noduri x0, x1, . . . , xk .

Observat, ie Notăm Pj (x) = f (xj ).

Teorema precedentă implică faptul că polinoamele de interpolare pot


fi generate recursiv. De exemplu
1
P0,1 = [(x − x0)P1 − (x − x1)P0]
x1 − x0
1
P1,2 = [(x − x1)P2 − (x − x2)P1]
x2 − x1
1 h i
P0,1,2 = (x − x0)P1,2 − (x − x2)P0,1
x2 − x0
s, .a.m.d. Tabelul de mai jos prezintă generarea lor, t, inând cont de fap-
tul că fiecare linie e completată ı̂nainte ca următoarele să fie ı̂ncepute.

x0 P0
x1 P1 P0,1
x2 P2 P1,2 P0,1,2
x3 P3 P2,3 P1,2,3 P0,1,2,3
x4 P4 P3,4 P2,3,4 P1,2,3,4 P0,1,2,3,4
···

• Procedeul se numes, te Algoritmul lui Neville.

• Deplasarea ı̂n jos ı̂n tabel → se folosesc puncte xi consecutive.

• Deplasarea spre dreapta ı̂n tabel → cres, te gradul polinomului de


interpolare.
• Punctele apar consecutiv pe fiecare pozit, ie =⇒ avem nevoie doar
de punctul de start s, i numărul de puncte adit, ionale folosite.

• Fie Qi,j (x) = Pi−j,i−j+1,...,i−1,i(x), cu 0 ≤ j ≤ i. Tabelul devine

x0 P0 = Q0,0
x1 P1 = Q1,0 P0,1 = Q1,1
x2 P2 = Q2,0 P1,2 = Q2,1 P0,1,2 = Q2,2
x3 P3 = Q3,0 P2,3 = Q3,1 P1,2,3 = Q3,2 P0,1,2,3 = Q3,3
x4 P4 = Q4,0 P3,4 = Q4,1 P2,3,4 = Q4,2 P1,2,3,4 = Q4,3 P0,1,2,3,4 = Q4,4
···

(xi −x)Qi−1,j−1 +(x−xi−j )Qi,j−1


• Cu această notaţie formula devine Qi,j = xi −xi−j .
cu Qi,0 = Pi(x) = f (xi).
Exemplu practic (Schiţa Algoritmului lui Neville): Evaluarea unui
polinom P cu n + 1 noduri x0, . . . , xn, ı̂ntr-un punct x dat s, i pentru o
funct, ie f .

Input: x, x0, x1, . . . , xn;


f (x0), f (x1), . . . , f (xn) → prima coloană a lui Q (Q0,0, Q1,0, . . . , Qn,0).

Output: tabelul Q cu P (xx) = Qn,n.

for i = 1, 2, . . . , n
for j = 1, 2, . . . , i
(xi −x)Qi−1,j−1 +(x−xi−j )Qi,j−1
Qi,j = xi −xi−j .

afişează Q

Observat, ie În plus poate fi adăugat un criteriu de oprire

|Qi,j − Qi−1,j−1| < ε


cu ϵ eroare dată. Dacă inegalitatea nu este satisfăcută, se adaugă un
nod nou de interpolare xi+1.

Exemplul 4 Approximate ln(2.1) using the function f (x) = ln x and


the data

x 2 2.2 2.3
ln x 0.6931 0.7885 0.8329

ln(2.1) = f (2.1) and we have obtained the table

So, ln(2.1) ≈ 0.7419, with an error of 3.7344 · 10−5.



Exemplul 5 Aproximaţi 115 folosind algoritmul lui Neville, cu 3 noduri
date.
CURS 4

2. 3. Interpolare Hermite

Exemplul 1 In tabelul următor avem date relative la o maşină care se


deplasează. Se poate estimata poziţia (şi viteza) maşinii, de ex., la
momentul t = 10, folosind interpolarea Hermite.
Timp 0 3 5 8 13
Distanţa 0 225 383 623 993
Viteza 75 77 80 74 72

Fie xk ∈ [a, b], k = 0, 1, ..., m cu xi 6= xj , pentru i 6= j şi fie rk ∈ N, k =


0, 1, ..., m. Considerăm f : [a, b] → R astfel ı̂ncât există f (j)(xk ), k =
0, 1, ..., m; j = 0, 1, ..., rk şi n = m + r0 + ... + rm.

Problema de interpolare Hermite (PIH) constă ı̂n determinarea pol-


nomului P de gradul cel mai mic care ı̂ndeplineşte condiţiile

P (j)(xk ) = f (j)(xk ), k = 0, ..., m; j = 0, ..., rk .


Definiţia 2 O soluţie a (PIH) se numeşte polinom de interpolare
Hermite, notat cu Hnf .

Polinom de interpolare Hermite, Hnf, satisface condiţiile de interpolare:

(Hnf )(j)(xk ) = f (j)(xk ), k = 0, ..., m; j = 0, ..., rk .


şi este dat prin
rk
m X
hkj (x)f (j)(xk ) ∈ Pn,
X
(Hnf )(x) = (1)
k=0 j=0
unde hkj (x) notează polinoamele fundamentale de interpolare Her-
mite. Acestea ı̂ndeplinesc condiţiile:
(p)
hkj (xν ) = 0, ν 6= k, p = 0, 1, ..., rν
(p)
hkj (xk ) = δjp, p = 0, 1, ..., rk , j = 0, 1, ..., rk şi ν, k = 0, 1, ..., m,
(
1, j=p
cu δjp =
0, j 6= p.
Notăm cu
m
u(x)
(x − xk )rk +1
Y
u(x) = şi uk (x) = .
k=0 (x − xk )rk +1
Avem
k −j (x − x )ν
rX #(ν)
(x − xk )j
"
k 1
hkj (x) = uk (x) . (2)
j! υ=0 ν! uk (x) x=x
k

Exemplul 3 Găsiţi polinomul de interpolare Hermite care interpolează


funcţia f pentru care ştim f (0) = 1, f 0(0) = 2 şi f (1) = −3 (echivalent
cu x0 = 0 nod multiplu de ordinul 2 sau nod dublu şi x1 = 1 nod
simplu).

Sol. Avem x0 = 0, x1 = 1, m = 1, r0 = 1, r1 = 0, n = m + r0 + r1 = 2
rk
1 X
hkj (x)f (j)(xk )
X
(H2f )(x) =
k=0 j=0
= h00(x)f (0) + h01(x)f 0(0) + h10(x)f (1).
Polinoamele fundamentale h00, h01, h10 ı̂ndeplinesc condiţiile:
(p)
hkj (xν ) = 0, ν 6= k, p = 0, 1, ..., rν
(p)
hkj (xk ) = δjp, p = 0, 1, ..., rk , j = 0, 1, ..., rk şi ν, k = 0, 1, ..., m.
Avem h00(x) = a1x2 + b1x + c1 ∈ P2, cu a1, b1, c1 ∈ R, şi sistemul
 
 h00(x0) = 1
  h00(0) = 1

h000(x0) = 0 ⇔ h000(0) = 0

 h (x ) = 0 
 h (1) = 0
00 1 00
care devine

 c1 = 1

b1 = 0

 a + b + c = 0.
1 1 1
Solutia este: a1 = −1, b1 = 0, c1 = 1, deci h00(x) = −x2 + 1.

Avem h01(x) = a2x2 + b2x + c2 ∈ P2, cu a2, b2, c2 ∈ R. Sistemul este


 
 h01(x0) = 0
  h01(0) = 0

h001(x0) = 1 ⇔ h001(0) = 1

 h (x ) = 0 
 h (1) = 0
01 1 01
şi obţinem h01(x) = −x2 + x.

Avem h10(x) = a3x2 + b3x + c3 ∈ P2, cu a3, b3, c3 ∈ R. Sistemul este


 
 h10(x0) = 0
  h10(0) = 0

h010(x0) = 0 ⇔ h010(0) = 0

 h (x ) = 1 
 h (1) = 1
10 1 10
şi se obţine h10(x) = x2.

Polinomul de interpolare Hermite este

(H2f )(x) = −x2 + 1 − 2x2 + 2x − 3x2 = −6x2 + 2x + 1.


Formula de interpolare Hermite este
f = Hnf + Rnf,
unde Rnf notează termenul rest (eroarea).

Teorema 4 Dacă f ∈ C n[α, β] şi f (n) este derivabilă pe (α, β), cu


α = min{x, x0, ..., xm} şi β = max{x, x0, ..., xm}, atunci există ξ ∈ (α, β)
astfel ı̂ncât
u(x)
(Rnf )(x) = f (n+1)(ξ). (3)
(n + 1)!

Demonstraţia. Considerăm

u(z) (Rnf )(z)
F (z) = .

u(x) (Rnf )(x)
F ∈ C n[α, β] şi există F (n+1) pe (α, β).

Avem
F (x) = 0, F (j)(xk ) = 0, k = 0, ..., m; j = 0, ..., rk ;
pentru că
m
(x − xk )rk +1 ⇒ u(j)(xk ) = 0, j = 0, ..., rk
Y
u(x) =
k=0
şi

(Rmf )(j)(xk ) = f (j)(xk ) − (Hnf )(j)(xk ) = f (j)(xk ) − f (j)(xk ) = 0.

Deci, F şi derivativatele sale au n+2 zerouri distincte ı̂n (α, β). Aplicând
succesiv teorema lui Rolle, rezultă că F 0 are cel puţin n + 1 zerouri ı̂n
(α, β) ⇒ ... ⇒ F (n+1) are cel puţin un zero ξ ∈ (α, β), F (n+1)(ξ) = 0.

Avem

(n+1)
(n+1) u (z) (Rnf )(n+1)(z)
F (z) = ,

u(x) (Rnf )(x)

m
(z − zk )rk +1 ∈ Pn+1 ⇒ u(n+1)(z) = (n + 1)!, şi
Q
cu u(z) =
k=0
(Rnf )(n+1)(z) = f (n+1)(z) − (Hnf )(n+1)(z) = f (n+1)(z) (cum, Hnf ∈
Pn). Obţinem

(n + 1)! f (n+1)(ξ)

F (n+1) (ξ) = = 0,

u(x) (Rnf )(x)

de unde rezultă (3).

Corolar 5 Dacă f ∈ C n+1[a, b] atunci


|u(x)| (n+1)
|(Rnf )(x)| ≤ f , x ∈ [a, b]
(n + 1)! ∞

unde k·k∞ notează norma uniformă (kf k∞ = sup |f (x)|).


x∈[a,b]

Observaţia 6 In cazul m = 0, adică, n = r0, (PIH) devine problema


de interpolare Taylor, cu polinomul Taylor dat prin
n
X (x − x0)j (j)
(Tnf )(x) = f (x0).
j=0 j!
Interpolare Hermite cu noduri duble

Exemplul 7 In tabelul următor avem date relative la o maşină care se


deplasează. Se poate estimata poziţia (şi viteza) maşinii, de ex., la
momentul t = 10, folosind interpolarea Hermite.
Timp 0 3 5 8 13
Distanţa 0 225 383 623 993
Viteza 75 77 80 74 72

Considerăm f : [a, b] → R, x0, x1, ..., xm ∈ [a, b]

şi valorile f (x0), f (x1), ..., f (xm), f 0(x0), f 0(x1), ..., f 0(xm).

Polinomul de interpolare Hermite cu noduri duble, H2m+1, satisface


proprietăţile de interpolare:

H2m+1(xi) = f (xi), i = 0, m,
0
H2m+1 (xi) = f 0(xi), i = 0, m.
Este un polinom de grad n = 2m + 1.

Calculul polinomului: folosim polinomul lui Newton, considerând tabelul


cu diferenţe divizate ı̂n care se ia de două ori fiecare nod xi.

Considerăm z0 = x0, z1 = x0, z2 = x1, z3 = x1, . . . , z2m = xm,


z2m+1 = xm.

Formăm tabelul cu diferenţe divizate: fiecare nod se ia de două ori,


pe prima coloană se scriu de câte două ori valorile funcţiei f pe fiecare
nod; pe a doua coloană, pe poziţiile impare se pun valorile derivatelor f ;
celelalte elemente se calculează folosind regulile de la diferenţe divizate.

Se obţine următorul tabel:


z0 f (z0 ) (D1 f )(z0 ) = f 0 (x0 ) (D2 f )(z0 ) (D2m f )(z0 ) (D2m+1 f )(z0 )
..
z1 f (z1 ) (D1 f )(z1 ) . (D2m f )(z1 )
z2 f (z2 ) (D1 f )(z2 ) = f 0 (x1 )
..
z3 f (z3 ) .
.. .. ...
. . (D1 f )(z2m−1 ) (D2 f )(z2m−1 )
z2m f (z2m ) (D1 f )(z2m ) = f 0 (xm ) ...
z2m+1 f (z2m+1 ) ...
Polinomul de interpolare Newton pentru nodurile x0, ..., xn este
n
(x − x0)...(x − xi−1)(Dif )(x0),
X
(Nnf )(x) = f (x0) +
i=1
iar similar, polinomul de interpolare Hermite este
2m+1
(x − z0)...(x − zi−1)(Dif )(z0),
X
(H2m+1f )(x) = f (z0) +
i=1
unde (Dif )(z0), i = 1, ..., 2m + 1 sunt elementele de pe prima linie,
coloanele 2, ..., 2m + 1.

Exemplul 8 Considerăm nodurile duble x0 = −1 şi x1 = 1, şi f (−1) =


−3, f 0(−1) = 10, f (1) = 1, f 0(1) = 2. Găsiţi polinomul de interpolare
Hermite, care aproximează funcţia f , ı̂n amble forme, folosind formula
clasică şi formula cu diferenţe divizate.

Sol. Avem m = 1, r0 = r1 = 1 ⇒ n = 3
f (1)−f (−1)
−f 0 (−1) 0−(−4)
z0 = −1 f (−1) = −3 f 0 (−1) = 10 2
z2 −z0
= −4 z3 −z0
=2
f (1)−f (−1) f 0 (1)− f (1)−f (−1)
z1 = −1 f (−1) = −3 z2 −z1
= 2 z3 −z1
2
=0
z2 = 1 f (1) = 1 0
f (1) = 2
z3 = 1 f (1) = 1

Polinomul de interpolare Hermite este


3
(x − z0)...(x − zi−1)(Dif )(z0)
X
(H3f )(x) = f (z0) +
i=1
= f (z0) + (x − z0)(D1f )(z0) + (x − z0)(x − z1)(D2f )(z0)
+ (x − z0)(x − z1)(x − z2)(D3f )(z0)
adică
0 2 f (1)−f (−1)−2f 0 (−1)
(H3f )(x) =f (−1) + (x + 1)f (−1) + (x + 1) 4
0
+ (x + 1)2(x − 1) 2f (1)−f (1)+f
4
(−1)

= − 3 + 10(x + 1) − 4(x + 1)2 + 2(x + 1)2(x − 1)


=2x3 − 2x2 + 1.
CURS 5

2.4. Interpolare Birkhoff

Fie xk ∈ [a, b], k = 0, 1, ..., m, xi ̸= xj pentru i ̸= j, rk ∈ N şi Ik ⊂


{0, 1, ..., rk }, k = 0, 1, ..., m, f : [a, b] → R astfel ı̂ncât ∃f (j)(xk ), k =
0, ..., m, j ∈ Ik , şi notăm n = |I0| + ... + |Im| − 1, unde |Ik | este cardinalul
mulţimii Ik .

Problema de interpolare Birkhoff (PIB) constă ı̂n determinarea poli-


nomului P de grad minim care satisface condiţiile

P (j)(xk ) = f (j)(xk ), k = 0, ..., m; j ∈ Ik .

Observaţia 1 Dacă Ik = {0, 1, ..., rk }, k = 0, ..., m, atunci (PIB) se


reduce la (PIH). Interpolarea Birkhoff se mai numeşte şi interpolare
Hermite lacunară.
Pentru a verifica că (PIB) are soluţie unică, se consideră polinomul
P (x) = anxn + ... + a0 şi sistemul liniar (n + 1) × (n + 1)

P (j)(xk ) = f (j)(xk ), k = 0, ..., m; j ∈ Ik , (1)


care are ca şi necunoscute coeficienţii polinomului. Dacă determinantul
sistemului (1) este nenul atunci (PIB) are o soluţie unică.

Definiţia 2 O soluţie a (PIB), dacă există, se numeşte polinom de


interpolare Birkhoff, notat cu Bnf .

Polinomul de interpolare Birkhoff este dat prin


m X
bkj (x)f (j)(xk ),
X
(Bnf )(x) = (2)
k=0 j∈Ik
unde bkj (x) notează polinoamele fundamentale de interpolare Birkhoff.
Acestea ı̂ndeplinesc relaţiile:
(p)
bkj (xν ) = 0, ν ̸= k, p ∈ Iν (3)
(p)
bkj (xk ) = δjp, p ∈ Ik , pentru j ∈ Ik şi ν, k = 0, 1, ..., m,
(
1, j=p
cu δjp =
0, j ̸= p.

Observaţia 3 Datorită lacunelor din condiţiile de interpolare, este di-


ficil să găsim expresii explicite pentru bkj , k = 0, ..., m; j ∈ Ik . Acestea
se găsesc folosind relaţiile (3).

Formula de interpolare Birkhoff este

f = Bnf + Rnf,
unde Rnf notează termenul rest.

Exemplul 4 Fie f ∈ C 2[0, 1], nodurile x0 = 0, x1 = 1 pentru care se


cunosc f (0) = 1 şi f ′(1) = 1
2 . Găsiţi polinomul de interpolare core-
spunzător.
Sol. Avem m = 1, I0 = {0}, I1 = {1}, n = 1 + 1 − 1 = 1.

Verificăm dacă există soluţie a problemei.

Considerăm P (x) = a1x + a0 ∈ P1 şi sistemul


( (
P (0) = f (0) a0 = f (0)
⇐⇒ .
P ′(1) = f ′(1) a1 = f ′(1)
Determinatul sistemului este

0 1
= −1 ̸= 0,

1 0


deci problema are soluţie unică.

Polinumul Birkhoff este


(B1f )(x) = b00(x)f (0) + b11(x)f ′(1) ∈ P1.
Avem b00(x) = ax + b ∈ P1 şi
( ( (
b00(x0) = 1 b00(0) = 1 b=1
⇐⇒ ⇔ ,
b′00(x1) = 0 b′00(1) = 0 a=0
deci
b00(x) = 1.
Pentru b11(x) = cx + d ∈ P1 avem
( ( (
b11(x0) = 0 b11(0) = 0 d=0
⇐⇒ ⇔
b′11(x1) = 1 b′11(1) = 1 c=1
deci
b11(x) = x.
Polinmul este
′ 1
(B1f )(x) = f (0) + xf (1) = 1 + x.
2

Exemplul 5 Considerăm f ′(0) = 1, f (1) = 2, f ′(2) = 1. Găsiti val-


1 ).
oarea aproximativă a lui f ( 2
2.5. Interpolare spline cubică

Polinoamele de interpolare Lagrange, Hermite, Birkhoff de grad mare


pot oscila, fluctuaţii minore pe porţiuni mici pot genera fluctuaţii mari
pe ı̂ntreg intervalul.

Alternativă: divizarea intervalului ı̂n subintervale şi construirea unor


polinoame diferite pe fiecare subinterval.

Acest tip de aproximare se numeşte aproximare polinomială pe porţiuni


3.5 Cubic Spline Interpolation 145
(piecewise-polynomial approximation).
Figure 3.7

y  f(x)

x0 x1 x2 . . . xj xj1 xj2 . . . xn1 xn x

Isaac Jacob Schoenberg To determine the appropriate Hermite cubic polynomial on a given interval is simply
(1903–1990) developed his work a matter of computing H3(x) for that interval. The Lagrange interpolating polynomials
on splines during World War II needed to determine H3 are of first degree, so this can be accomplished without great
while on leave from the difficulty. However, to use Hermite piecewise polynomials for general interpolation, we
Fie f : [a, b] → R funcţia care se aproximează.

Exemple de metode de interpolare pe porţiuni:

• interpolarea liniară ce constă ı̂n unirea punctelor {(x0, f (x0)), (x1, f (x1)
..., (xn, f (xn))} prin linii drepte

Dezavantaje: este puţin probabil sa avem diferenţiabilitate la capetele


subintervalelor, (funţia nu e “netedă”). Frecvent din condiţiile fiz-
ice, se cere netezimea.

• interpolarea Hermite dacă se cunosc valorile functiei şi ale derivatelor


ı̂n punctele x0 < x1 < ... < xn

Dezavantaje: e nevoie să se cunoască f ′, care de multe ori nu sunt


disponibile.

• interpolarea spline
Definiţia 6 Metoda de aproximare pe porţiuni care foloseşte polinoame
cubice ı̂ntre perechile succesive de noduri se numeşte interpolare
spline cubică.
(The word “spline” was used to refer to a long flexible strip, generally of metal, that
could be used to draw continuous smooth curves by forcing the strip to pass through
specified points and tracing along the curve.)

Definiţia 7 Fie f : [a, b] → R şi nodurile a = x0 < x1 < ... < xn =


b, interpolantul spline cubic S al lui f este funcţia care satisface
condiţiile:

(a) S(x) este polinom cubic, notat Sj (x), pe subintervalul [xj , xj+1],
∀j = 0, 1, ..., n − 1.

(b) Sj (xj ) = f (xj ) şi Sj (xj+1) = f (xj+1), ∀j = 0, 1, ..., n − 1;

(c) Sj+1(xj+1) = Sj (xj+1), ∀j = 0, 1, ..., n − 2;


′ ′
(d) Sj+1(xj+1) = Sj (xj+1), ∀j = 0, 1, ..., n − 2;

′′ ′′
(c) Sj+1(xj+1) = Sj (xj+1) f or each j = 0, 1, ..., n − 2;

(f) Una dintre următoarele condiţii este satisfăcută:

(i) S ′′(x0) = S ′′(xn) = 0 (spline naturale (libere));


(ii) S (x0) = f ′(x0) şi S ′(xn) = f ′(xn) (spline complete (limitate)
(clamped spline));

′′
(iii) S (x0) = f ′′(x0) şi S ′′(xn) = f ′′(xn) (spline cubice cu derivate
secunde);

(iv) S1(x) = S2(x) şi Sn−2 = Sn−1 (spline de tip de Boor).


O funcţie spline cubică definită pe un interval divizat ı̂n n subintervale
necesită determinarea a 4n constante.

Forma interpolantului spline cubic:

Sj (x) = aj + bj (x − xj ) + cj (x − xj )2 + dj (x − xj )3, ∀j = 0, 1, ..., n − 1.

Teorema 8 Dacă f este definit pe a = x0 < x1 < ... < xn = b, atunci f


are un unic interpolant spline natural S pe nodurile x0, x1, ..., xn; care
este interpolantul spline ce satisface condiţiile S ′′(a) = 0 şi S ′′(b) = 0.

Teorema 9 Dacă f este definit pe a = x0 < x1 < ... < xn = b şi f


este derivabilă ı̂n a şi b, atunci f are un unic interpolant spline limitat
S pe nodurile x0, x1, ..., xn; care este interpolantul spline ce satisface
condiţiile S ′(a) = f ′(a) şi S ′(b) = f ′(b).

Teorema 10 Fie f ∈ C 4[a, b] cu max |f (4)(x)| = M . Dacă S este


a≤x≤b
intepolantul spline limitat unic al lui f ı̂n raport cu nodurile a = x0 <
x1 <···< xn = b, atunci pentru x din [a, b], avem
5M
|f (x) − S(x)| ≤ max (xj+1 − xj )4.
384 0≤j≤n−1

Observaţia 11 O limită maximă de ordin 4 a erorii există şi ı̂n cazul


splinelor naturale, dar e mai dificil de exprimat.

Observaţia 12 Condiţiile naturale generează rezultate mai puţin ex-


acte decât condiţiile limitate ı̂n apropierea marginilor intervalului [x0, xn]
ı̂nafara cazului când funcţia f se ı̂ntâmplă să satisfacă condiţiile f ′′(x0) =
f ′′(xn) = 0.
Table 3.19
j xj aj bj cj dj
0 0.9 1.3 −0.25 5.40 0.00
158 CHAPTER 3 1 1.3 and Polynomial
Interpolation 1.5 0.42
Approximation −0.30
0.95
2 1.9 1.85 1.09 1.41 −2.96
3 2.1 2.1 1.29 −0.37 −0.45 Table 3.18
Ilustrare. Pentru a aproxima conturul unei raţe, am ales 21 de puncte
4
Illustration 5 Figure 3.02.6
3.11 shows2.6
2.7
0.59
a ruddy−0.02 −1.04
duck in flight. 0.45
To approximate
−0.50 0.17
the top profile of the duck,xwe 0.9 1.3 1.9 2.1 2.6 3.0 3.9 4.4 4.7 5.0 6.0 7.0 8.0 9.2 10.5 11.3 11.6 12.0 12.6 13.0 13.3
6 have chosen
3.9 points2.4along the curve through
−0.50 which we want
−0.03 0.08the approximating curve tofpass.
(x) 1.3 1.5 1.85 2.1 2.6 2.7 2.4 2.15 2.05 2.1 2.25 2.3 2.25 1.95 1.4 0.9 0.7 0.6 0.5 0.4 0.25
de-a lungul curbei prin care dorim să treacă aproximanta.
7 Table 3.18
4.4 lists the −0.48of 21 data
2.15coordinates
−0.07
points relative
0.08 1.31 to the superimposed coordinate
8
9
system4.7
shown in2.05
5.0
Figure 3.12.
2.1
more points−1.58
1.27
Notice that−0.16
0.26
are used when the curve is changing
0.04
10 rapidly6.0
than when it is changing
2.25 0.08more slowly.
−0.03 0.00 Figure 3.12
11 7.0 2.3 0.01 −0.04 −0.02 f (x)
12 8.0 2.25 −0.14 −0.11 0.02
Figure 3.1113 9.2 1.95 −0.34 −0.05 −0.01 4
14 10.5 1.4 −0.53 −0.10 −0.02
3
15 11.3 0.9 −0.73 −0.15 1.21
16 11.6 0.7 −0.49 0.94 −0.84 2
17 12.0 0.6 −0.14 −0.06 0.04 1
18 12.6 0.5 −0.18 0.00 −0.45
19 13.0 0.4 −0.39 −0.54 0.60 1 2 3 4 5 6 7 8 9 10 11 12 13 x
20 13.3 0.25

160 CHAPTER 3 Interpolation and Polynomial Approximation

Figure 3.14
Figure 3.13 f (x)
f (x)
4
4
Using Algorithm 3 3.4 to generate the natural cubic spline for this data produces the coeffi-
3
cients shown in 2Table 3.19. This spline curve is nearly identical to the profile, as shown in
2 Figure 3.13.
Table 3.18 1
1
x 0.9 1.3 1.9 2.1 2.6 3.0 3.9 4.4 4.7 5.0 6.0 7.0 8.0 9.2 10.5 11.3 11.6 12.0 12.6 13.0 13.3 1 2 3 4 5 6 7 8 9 10 11 12 x
1 2 3 4 5 6 7 8 9 x Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated,
10 11 12 13Copyright 2010 in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).

f (x) 1.3 1.5 1.85 2.1 2.6 2.7 2.4 2.15 2.05 2.1 2.25 2.3 2.25 1.95 1.4 0.9 0.7Editorial0.6review0.5
has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
0.4 0.25

Figure 3.12
f (x)

4
3
To use a clamped spline to approximate this curve we would need derivative approxima-
1) Raţa ı̂n zbor. 2) Punctele. 3) Spline-ul natural cubic.
2
For comparison purposes, Figure 3.14 gives an illustration of the curve that is generated using
a Lagrange interpolating polynomial to fit the data given in Table 3.18. The interpolating
1
tions for the endpoints. Even if these approximations were available, we could expect little
improvement because of the close agreement of the natural cubic spline to the curve of the
polynomial in this case is of degree 20 and oscillates wildly. It produces a very strange
4) Polinomul x de interpolare Lagrange.
illustration of the back of a duck, in flight or otherwise.
1 2 3 4 5 6 7 8 9 10 11 12 13
top profile. 

opyright 2010 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s). Constructing a cubic spline to approximate the lower profile of the ruddy duck would
ial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
be more difficult since the curve for this portion cannot be expressed as a function of x, and
Exemplul 13 Construiţi spline-ul natural cubic care trece prin punctele at certain points the curve does not appear to be smooth. These problems can be resolved
by using separate splines to represent various portions of the curve, but a more effective
approach to approximating curves of this type is considered in the next section.
(1, 2), (2, 3) şi (3, 5). The clamped boundary conditions are generally preferred when approximating func-
tions by cubic splines, so the derivative of the function must be known or approximated
at the endpoints of the interval. When the nodes are equally spaced near both end-
points, approximations can be obtained by any of the appropriate formulas given in
Sections 4.1 and 4.2. When the nodes are unequally spaced, the problem is considerably
more difficult.
To conclude this section, we list an error-bound formula for the cubic spline with
Using Algorithm 3.4 to generate the natural cubic spline for this data produces the coeffi- clamped boundary conditions. The proof of this result can be found in [Schul], pp. 57–58.
Sol. (Schiţa soluţiei) Urmărim Definiţia 7:

S(x) constă ı̂n două funcţii spline cubice, Sj (x) pe subintervalele [xj , xj+1],
∀j = 0, 1, adică,
(
S0(x), x ∈ [x0, x1]
S(x) =
S1(x), x ∈ [x1, x2]
date prin

S0(x) = a0 + b0(x − 1) + c0(x − 1)2 + d0(x − 1)3,


S1(x) = a1 + b1(x − 2) + c1(x − 2)2 + d1(x − 2)3.
Sunt 8 constante (ai, bi, ci, di, i = 0, 1) care trebuie determinate, din 8
condiţii, care derivă din (b),(c),(d),(e),(i).



 s0(x0) = f (x0)
s0(x1) = f (x1)





s1(x1) = f (x1)





 s1(x2) = f (x2)

 s′0(x1) = s′1(x1)
s′′0(x1) = s′′1(x1)




s′′0(x0) = 0





s′′1(x2) = 0


Exemplul 14 Construiţi spline-ul limitat care trece prin punctele (1, 2),
(2, 3) şi (3, 5) şi pentru care avem S ′(1) = 2 şi S ′(3) = 2.
CURS 6

3. Aproximare prin metoda celor mai mici pătrate

• Extindere a problemei de interpolare.

• Mai potrivită când datele sunt contaminate cu erori.

• Pentru a estimata valorile unor parametrii ai unui model matematic


obţinuti prin măsuratori, care pot fi contaminaţi cu erori.

Când se cunosc f (xi), i = 0, ..., m, se poate folosi o metodă de interpo-


lare pentru a determina o funcţie ϕ care aproximează funcţia f , astfel
ı̂ncât
ϕ (xi) = f (xi) , i = 0, ..., m.
Când se cunosc doar aproximaţii ale valorilor f (xi) sau când numarul
de condiţii de interpolare este prea mare, ı̂n loc de cerinţa ca aproxi-
manta funcţiei să reproduca exact f (xi), se poate cere ca aceasta să
se potrivească cu datele ”cât de bine posibil”.
Se pare că metoda celor mai mici pătrate a fost prima dată introdusă de
C. F. Gauss in 1795. In 1801, el a folosit-o pentru a face cea mai bună
predicţie a poziţiei planetei Ceres (planeta piticilor (dwarf planet), care
se situează ı̂ntre Marte şi Jupiter, considerată inţial planetă iar ulterior
reclasificată ca şi asteroid) folosind măsurătorile lui G. Piazzi (care a
fost cel care a descoperit-o).

Prima expunere clară şi concisă a metodei celor mai mici pătrate a fost
publicată de A. M. Legendre in 1805. P. S. Laplace şi R. Adrain au
avut, de asemenea, contribuţii la această teorie.

In 1809, C. F. Gauss a aplicat metoda pentru calculul orbitelor unor


corpuri cereşti. In acea lucrare el a pretins şi a demonstrat că era ı̂n
posesia acestei metode din anul 1795. Aproximanta prin metoda celor
mai mici pătrate ϕ, se determină astfel:

- in cazul discret:
 1/2
m
[f (xi) − ϕ (xi)]2
X
 → min,
i=0
- in cazul continuu:
Z b !1/2
[f (x) − ϕ (x)]2 dx → min,
a

Observaţia 1 Remarcăm că interpolarea este un caz particular al metodei


celor mai mici pătrate, cu

f (xi) − ϕ (xi) = 0, i = 0, ..., m.

Metoda celor mai mici pătrate. Considerăm datele


x 1 2 3 4 5
f (x) 1 1 2 2 4
Problema constă ı̂n găsirea funcţiei ϕ care reprezintă ”cel mai bine”
datele.

Reprezentăm grafic datele şi ı̂ncercăm să recunoaştem forma funcţie


ϕ astfel ı̂ncât f ≈ ϕ.
Pentru acest exemplu, o presupunere rezonabilă ar putea fi funcţia
liniară ϕ(x) = ax + b. Problema: găsiţi a şi b care face ϕ cea mai bună
funcţie care aproximează datele. Criteriul celor mai mici pătrate constă
ı̂n minimizarea sumei
4 4
[f (xi) − ϕ (xi)]2 = [f (xi) − (axi + b)]2 .
X X
E(a, b) =
i=0 i=0
Minimul sumei se obţine când
∂E(a, b)
=0
∂a
∂E(a, b)
= 0.
∂b
Se obţine

55a + 15b = 37
15a + 5b = 10
şi ϕ(x) = 0.7x − 0.1.
Considerăm o problemă mai generală pentru datele din tabel
x x0 x1 ... xm
f (x) y0 y1 ... ym
şi aproximanta liniară ϕ(x) = ax + b. Trebuie să găsim a şi b.

Minimizăm suma
m m
[f (xi) − ϕ (xi)]2 = [f (xi) − (axi + b)]2 .
X X
E(a, b) = (1)
i=0 i=0
Minimul sumei se obţine din
m
∂E(a, b) X
=2 [f (xi) − (axi + b)] · (−xi) = 0
∂a i=0
m
∂E(a, b) X
=2 [f (xi) − (axi + b)] · (−1) = 0
∂b i=0
Acestea se numesc ecuaţii normale. Avem
m m m
x2
X X X
xif (xi) = a i +b xi
i=0 i=0 i=0
m
X m
X
f (xi) = a xi + (m + 1)b.
i=0 i=0
Soluţia este
m m m
xi f ( xi ) −
P P P
(m + 1) xi f ( xi )
i=0 i=0 i=0
a= m m (2)
(m + 1)
P 2
xi − (
P
xi ) 2
i=0 i=0
m
P 2 P m m m
f ( xi ) −
P P
xi xi f ( xi ) xi
b = i=0 i=0 m
i=0
m
i=0
.
x2
i −( xi ) 2
P P
(m + 1)
i=0 i=0

Exemplul 2 Găsiţi aproximanta liniară prin metoda celor mai mici


pătrate, pentru datele
x 0 1 2 3
f (x) −4 0 4 −2
Sol. Avem
3 3
[f (xi) − ϕ (xi)]2 = [f (xi) − (axi + b)]2
X X
E(a, b) = (3)
i=0 i=0
şi găsim a şi b din sistem
3

∂E(a,b)
[f (xi) − (axi + b)] · xi = 0
P
=2


∂a


i=0
∂E(a,b) 3
[f (xi) − (axi + b)] = 0
 P


 ∂b =2
i=0

3

[f (xi) − (axi + b)] · xi = 0

 P


i=0
3
[f (xi) − (axi + b)] = 0

 P


i=0
Metoda celor mai mici pătrate polinomială. In numeroase rezultate
experimentale datele nu sunt liniare sau se pot estima mai bine printr-
un polinom. Presupunem că

ϕ(x) = anxn + an−1xn−1 + · · · + a1x + a0.

Considerăm m + 1 puncte (xi, yi), i = 0, . . . , m.

Trebuie să găsim ai, i = 0, ..., n, care minimizează suma


m
[f (xi) − ϕ (xi)]2
X
E(a0, ..., an) = (4)
i=0
 2
m n
ak xki  .
X X
= f (xi) −
i=0 k=0
Notând yi = f (xi) avem
m m m
yi2 − 2 (ϕ(xi))2
X X X
E(a0, ..., an) = yiϕ(xi) +
i=0 i=0 i=0
   2
m m n m n
j j
yi2 − 2
X X X X X
=  aj xi  yi +  aj xi 
i=0 j=0 i=0 i=0 j=0
   
m mn
X j n n m
X j+k
2
X X X X
= yi − 2 aj  xi yi +
 aj ak  xi  .
i=0 j=0 i=0 j=0 k=0 i=0

Minimul se obţine când


∂E(a0, ..., an)
= 0, j = 0, ...n,
∂aj
care sunt ecuaţiile normale şi au soluţie unică.

Se obtine
 
m n m
∂E X j X X j+k
= −2 xi yi + 2 ak  xi  = 0
∂aj i=0 k=0 i=0
cu n + 1 necunoscute aj , j ∈ {0, 1, . . . , n} şi n + 1 ecuaţii
 
m n m
X j X X j+k 
xi yi = ak  xi , for each j ∈ {0, 1, . . . , n}. (5)
i=0 k=0 i=0
Avem sistemul
m m m m m
x0 x1 x2 xn x0
X X X X X
a0 i + a1 i + a2 i + · · · + an i = i yi ,
i=0 i=0 i=0 i=0 i=0
m m m m m
x1 x2 x3 xn+1 1y
X X X X X
a0 i + a1 i + a2 i + · · · + an i = x i i
i=0 i=0 i=0 i=0 i=0
...
m m m m m
n+1 n+2
xn 2n xn
X X X X X
a0 i + a1 xi + a2 xi + · · · + an xi = i yi
i=0 i=0 i=0 i=0 i=0
Cazul general. Soluţia problemei celor mai mici pătrate este
n
X
ϕ(x) = aigi(x),
i=1
unde {gi, i = 1, ..., n} este o bază a spaţiului şi coeficienţii ai se obţin
rezolvând ecuaţiile normale:
n
X
ai hgi, gk i = hf, gk i , k = 1, ..., n.
i=1
In cazul discret
m
X
hf, gi = w (xk ) f (xk ) g (xk )
k=0
şi ı̂n cazul continuu
Z b
hf, gi = w (x) f (x) g (x) ,
a
unde w este o funcţie pondere.
Exemplul 3 Pentru datele din tabel
x −3 −1 2
f (x) −4 −2 3
a) Găşiţi cea mai bună aproximantă liniară prin metoda celor mai mici
pătrate

b) Găsiţi polinomul de gradul 2 care aproximează prin metoda celor


mai mici pătrate.
Cap. 3. Integrare numerică

Fie f : [a, b] → R o funcţie integrabilă, λk (f ), k = 0, ..., m, informaţii


date despre funcţie f şi w : [a, b] → R+ o funcţie pondere, integrabilă
pe [a, b].

Definiţia 4 O formulă de forma


Z b
w(x)f (x)dx = Q(f ) + R(f ),
a
unde
m
X
Q(f ) = Ak λk (f ),
k=0
se numeşte formulă de integrare numerică a funcţiei f , sau formulă
de cuadratură.

Parametrii Ak , k = 0, ..., m, se numesc coeficienţii formulei, R(f ) este


termenul rest al formulei.
Definiţia 5 Numărul natural r cu proprietatea R(f ) = 0, f ∈ Pr şi
există g ∈ Pr+1 cu R(g) 6= 0, se numeşte gradul de exactitate al formulei
de cuadratură Q, notat
dex(Q) = r.

Observaţia 6 Liniaritatea operatorului rest R implică că dex(Q) = r


dacă şi numai dacă

R(ei) = 0, i = 0, 1, ..., r şi R(er+1) 6= 0,


cu ei(x) = xi.

Observaţia 7 Informaţiile λk (f ), k = 0, 1, ...m, sunt valori ale lui f sau


ale derivatelor lui f pe punctele xi ∈ [a, b], i = 0, 1, ...n, numite nodurile
formulei de cuadratură.
6.1. Formule de integrare numerică de tip interpolator

Definiţia 8 O formulă de cuadratură


Z b m
X
f (x)dx = Ak f (xk ) + R(f ),
a k=0
se numeşte de tip interpolator dacă ea se obţine integrând membru
cu membru formula de interpolare relativă la funcţia f şi la nodurile
xk , k = 0, ..., m simple sau cu ordine de multiplicitate date.

Definiţia 9 Formulele de cuadratură de tip interpolator cu nodurile


echidistante se numesc de tip Newton-Cotes.

Definiţia 10 O formulă de cuadratură de tip interpolator are gradul


de exactitate cel puţin egal cu gradul polinomului de interpolare.

Considerăm formula de interpolare Lagrange relativă la nodurile xk ∈


[a, b], k = 0, ..., m :
m
X
f (x) = `k (x)f (xk ) + (Rmf )(x).
k=0
Integrând ambele părţi se obţine
Z b m
X
f (x)dx = Ak f (xk ) + Rm(f ), (6)
a k=0
unde
Z b
Ak = `k (x)dx
a
şi
Z b
Rm(f ) = (Rmf )(x)dx. (7)
a
Dacă nodurile sunt echidistante, adică, xk = a + kh, h = b−a
m atunci
h m t(t − 1)...(t − m)
Z
Ak = (−1) m−k dt, k = 0, ..., m. (8)
k!(m − k)! 0 (t − k)
Restul din formula de interpolare Lagrange se poate scrie:
u(x)
(Rmf )(x) = f (m+1)(ξ(x)),
(m + 1)!
m
(x − xk ), deci restul formulei de cuadratură se poate
Q
unde u(x) =
k=0
scrie ca
1
Zb
Rm(f ) = u(x)f (m+1)(ξ(x))dx. (9)
(m + 1)! a
CURS 7

3.1. Formule de integrare numerică de tip interpolator

Definiţia 1 O formulă de cuadratură


Z b m
X
f (x)dx = Ak f (xk ) + R(f ),
a k=0
se numeşte de tip interpolator dacă ea se obţine integrând membru
cu membru formula de interpolare relativă la funcţia f şi la nodurile
xk , k = 0, ..., m simple sau cu ordine de multiplicitate date.

Definiţia 2 O formulă de cuadratură de tip interpolator are gradul de


exactitate cel puţin egal cu gradul polinomului de interpolare.

Formulele de cuadratură de tip interpolator cu nodurile echidistante,


xk = a + kh, h = b−a
m , se numesc de tip Newton-Cotes.

Considerăm cazul m = 1 (x0 = a, x1 = b, h = b − a).


Polinomul Lagrange corespunzător este
x−b x−a
(L1f )(x) = f (a) + f (b)
a−b b−a
şi restul formulei de interpolare este
(x − a)(x − b) 00
(R1f )(x) = f (ξ(x)).
2
Integrând formula de interpolare f (x) = (L1f )(x) + (R1f )(x) se obţine
Z b Z b
x−b x−a

f (x)dx = f (a) + f (b) dx
a a a−b b−a
Z b
(x − a)(x − b) 00
+ f (ξ(x))dx.
a 2
Cum (x − a)(x − b) nu ı̂şi schimbă semnul se poate aplica Teorema
de Medie (Dacă f : [a, b] → R este continuă şi g este integrabilă şi nu ı̂şi
schimbă semnul pe [a, b], atunci există c in (a, b) astfel ı̂ncât ab f (x)g(x)dx =
R
f (c) ab g(x)dx), şi rezultă că există ξ ∈ (a, b) astfel ı̂ncât
R

# b
(x − b)2 (x − a)2
Z b "

f (x)dx = f (a) + f (b)

a 2(a − b) 2(b − a)
a
# b
f 00(ξ) x3 (a + b)x2
"

+ − + abx

2 3 2
a
Se obţine formula de cuadratură a trapezului
Z b
b−a
f (x)dx = [f (a) + f (b)] + R1(f )(x), (1)
a 2
cu restul (eroarea)
(b − a)3 00
R1(f )(x) = − f (ξ), ξ ∈ (a, b).
12
Această formulă se numeşte formula trapezului deoarece integrala se
aproximează prin aria unui trapez.

Observaţia 3 Eroarea din (1) implică f 00, deci formula dă rezultate
exacte când este aplicată funcţiilor a căror derivată secundă este zero
(polinoame de grad 1 sau 0). Deci gradul ei de exactitate este 1.
Exemplul 4 Aproximati integrala 13(2x + 1)dx cu formula trapezului.
R

(Obs. Rezultatul este valoarea exacta a integralei deoarece f (x) = 2x + 1 este o


functie liniara si gradul de exactitate al formulei trapezului este 1.)

Pentru m = 2 ((x0 = a, x1 = a+ b−a


2 , x 2 = b, h = b−a ) se obţine formula
2
de cuadratură a lui Simpson
Z b
b−a a+b
   
f (x)dx = f (a) + 4f + f (b) + R2(f ), (2)
a 6 2
cu
(b − a)5 (4)
R2(f ) = − f (ξ), a ≤ ξ ≤ b. (3)
2880

Exemplul 5 Aproximati integrala 13(2x+1)dx cu formula lui Simpson.


R

Observaţia 6 Eroarea din (2) implică f (4), deci formula dă rezultate
exacte când este aplicată polinoamelor de grad ≤ 3. Deci gradul ei de
exactitate este 3.
Observaţia
( 7 Formulele de tip Newton-Cotes au gradul de exactitate
m, dacă m este număr impar
r= , unde m este gradul polino-
m + 1, dacă m este par
mului de interpolare corespunzător.

Observaţia 8 Coeficienţii formulelor de cuadratură de tip Newton-


Cotes au proprietatea de simetrie:
Ai = Am−i, i = 0, ..., m.

Pentru m = 3, formula lui Newton


Z b
b−a 2a + b a + 2b
     
f (x)dx = f (a) + 3f + 3f + f (b) + R3(f ),
a 8 3 3
cu
(b − a)5 (4)
R3(f ) = − f (ξ).
648
Exemplul 9 Comparaţi rezulatele obţinute aplicând formula trapezului
şi formula lui Simpson pentru a aproxima integrala:
Z 2
x2dx.
0
Sol. Valoarea exactă este 2.667; cu formula trapezului 4, cu formula
lui Simpson 2.667. (Aproximarea cu formula lui Simpson este exactă
pentru că are gradul de exactitate egal cu 3)

3.2. Formule de cuadratură repetate

Exemplul 10 Aproximaţi integrala folosind formula lui Simpson


Z 4
I= exdx.
0
(Valoarea reală este e4 − 1 = 53.59.)

Sol. Avem
4h 0 2 4
i
I≈ e + 4e + e = 56.76.
6
Dacă aplicăm formula lui Simpson de două ori se obţine
Z 2 Z 4
2h 0 i 2h 2 i
I≈ exdx + x
e dx ≈ 2
e + 4e + e + 3 4
e + 4e + e = 53.86
0 2 6 6
iar dacă o aplicăm de 4 ori se obţine
3 Z i+1
exdx = 53.61,
X
I≈
i=0 i
de unde rezultă utilitatea formulelor repetate.

Practic, problema aproximării unei integrale I = ab f (x)dx se pune ı̂n


R

felul următor: fiind date f şi [a, b] să se aproximeze I cu o eroare


absolută ce nu depăşeşte un număr dat ε.

Folosind formula trapezului, din (1) rezultă că


(b − a)3 (b − a)3
|R1(f )| = |f ”(ξ)| ≥ m2f, cu m2f = min |f ”(x)| .
12 12 a≤x≤b
Astfel, dacă
(b − a)3
ε< m2 f
12
problema nu poate fi rezolvată cu formula trapezului.
Solutie: folosirea unei formule cu grad mai mare de exactitate (de
ex., formula lui Simpson, etc.). Dar, cu cat creşte m, aplicarea for-
mulei devine mai complicată (computaţional, evaluarea restului (apar
derivate de ordin (m + 1) sau (m + 2) ale lui f )).

Un mod eficient de construcţie a unei formule practice de cuadratură:


aplicarea repetată a unei formule simple.

Fie xk = a + hk, k = 0, ..., n unde h = (b − a)/n, nodurile unei diviziunii


uniforme a lui [a, b] . Pe baza proprietăţii de aditivitate a integralei avem
Z b n Z x
X k
f (x)dx = Ik , cu Ik = f (x)dx.
a k=1 xk−1

Aplicând fiecărei Ik o formulă de cuadratură, se obţine o nouă formulă


de cuadratură numită formulă de cuadratură repetată.

Aplicând fiecărei integrale Ik formula trapezului, se obţine


n (
)3
Z b )
X xk − xk−1   (xk − xk−1
f (x)dx = f (xk−1) + f (xk ) − f ”(ξk ) ,
a k=1
2 12
cu xk−1 ≤ ξk ≤ xk+1, sau
 
Z b n−1
b−a X
f (x)dx = f (a) + f (b) + 2 f (xk ) + Rn(f ), (4)
a 2n k=1
cu
n
(b − a)3 X
Rn(f ) = − 3
f ”(ξk ).
12n k=1
Există ξ ∈ (a, b) astfel ı̂ncât
n
1 X
f ”(ξk ) = f ”(ξ).
n k=1
Formula repetată a trapezului este:
 
Z b n−1
b−a X
f (x)dx = f (a) + f (b) + 2 f (xk ) + Rn(f ), (5)
a 2n k=1
cu
(b − a)3
Rn(f ) = − 2
f ”(ξ), a<ξ<b (6)
12n
şi
(b − a)3
|Rn(f )| ≤ 2
M2f. (7)
12n

Din (7), rezultă că formula repetată a trapezului permite aproximarea


unei integrale definite cu o eroare absolută oricât de mică, dacă se
ia n suficient de mare. Astfel, dacă se doreşte ca eroarea absolută
de aproximare să fie cel mult ε, se determină mai ı̂ntâi cea mai mică
soluţie nε a inecuaţiei
(b − a)3
2
M2f < ε, n ∈ N,
12n
valoare care introdusă ı̂n (5) furnizează aproximaţia căutată.

Formula repetată a lui Simpson este


 
Z b n n−1
b−a xk−1 + xk
X   X
f (x)dx = f (a) + f (b) + 4 f +2 f (xk )+Rn(f
a 6n k=1
2 k=1
unde
(b − a)5 (4)
Rn(f ) = − 4
f (ξ), a < ξ < b,
2880n
şi
(b − a)5
|Rn(f )| ≤ 4
M4f.
2880n
R3
Exemplul 11 Aproximaţi integrala 1 (2x + 1)dx cu formula repetată
a trapezului pentru n = 2.

(Remark. The result is the exact value of the integral because f (x) = 2x + 1 is a
linear function and the degree of exactness of the trapezium’s formula is 1.)

Exemplul 12 Aproximaţi π4 cu formula repetată a trapezului, con-


siderând precizia ε = 10−2. (Valoarea reala este 0.7854.)

Solutie. Avem
π 1 dx
Z
= arctg(1) = 2
,
4 0 1+x
1 . Se obtine
deci f (x) = 1+x 2

(1 − 0)3
|Rn(f )| ≤ 2
M2f.
12n
Avem
−2x
f 0(x) =
(1 + x2)2
00 6x2 − 2
f (x) =
(1 + x2)3
si
M2f = max |f 00(x)| = 2,
x∈[0,1]
deci
1 10 2
|Rn(f )| ≤ < 10 −2 ⇒ n2 > = 16.66 ⇒ n = 5.
6n2 6
Nodurile sunt x0 = 0, x1 = 1
5 , x 2 = 2 , x = 3 , x = 4 , x = 1 (h = 1 ).
5 3 5 4 5 5 5
Integrala va fi
Z b
1 1 2 3 4
  
f (x)dx ≈ f (0) + f (1) + 2 f ( ) + f ( ) + f ( ) + f ( ) = 0.7837.
a 10 5 5 5 5
COURSE 8

3.3. Metoda lui Romberg de generare a formulelor de


cuadratură de tip iterativ

Deşi problemele legate de precizia de aproximare au fost rezolvate


prin construirea formulelor de cuadratură repetate, totuşi determinarea
erorii de aproximare necesită informaţii despre derivatele funcţiei.

Aceasta restrânge sfera aplicabilităţii lor la rezolvarea unor probleme


concrete sau la programarea lor la calculator, fiind preferate formulele
de tip iterativ.

Considerăm cazul formulei trapezului, pentru care avem iniţial


h
QT0 (f ) = [f (a) + f (b)] , h = b − a,
2
QT0 (f ) constituind primul element al şirului iteraţiilor succesive.
h,
Împărţind intervalul [a, b] ı̂n două părţi egale, respectiv de lungime 2
şi aplicând fiecărui subinterval formula trapezului obţinem
h h
   
QT1 (f ) = f (a) + 2f a + + f (b)
4 2
sau
1 h
 
QT1 (f ) = QT0 (f ) + hf a + .
2 2
h i i h
Împărţind acum fiecare dintre diviziunile anterioare a, a+b
a+b
şi 2 , b2
ı̂n două părţi egale, se obţine o diviziune a intervalului ı̂n 4 = 22 părţi
egale, fiecare având lungimea 4 h . Aplicând formula repetată a trapezului,

se obţine
 
3
h ih
X  
QT2 (f ) = f (a) + 2 f a+ + f (b)
8 i=1 4
1 h h h h 3h
         
= f (a) + 2f a + + f (b) + f a+ +f a+
2 4 2 2 4 4
sau, altfel scris,
1 h 1 3
    
QT2 (f ) = QT0 (f ) + 2 f a + 2 h + f a + 2 h .
2 2 2 2
Continuând ı̂n acest mod, obţinem
k−1
1 h 2X 2j − 1
 
QTk (f ) = QTk−1 (f ) + k f a+ , k = 1, 2, ...
2 2 j=1 2k
Se generează astfel şirul
QT0 (f ), QT1 (f ), ..., QTk (f ), ..., (1)
care converge la valoarea I a integralei funcţiei f pe intervalul [a, b] .

Dacă se cere aproximarea integralei I cu o eroare ce nu depăşeşte un


ε ∈ R+ dat, se calculează succesiv elementele şirului (1) până la primul
indice n pentru care

QTn (f ) − QTn−1 (f ) ≤ ε,

QTn (f ) fiind aproximaţia dorită.

In mod asemănător se poate genera iterativ formula repetată a lui


Simpson astfel:
1h i
QSk (f ) = 4QTk+1 (f ) − QTk (f ) , k = 0, 1, ...
3
unde
h h
   
QS0 (f ) = f (a) + 4f a + + f (b)
6 2
este cuadratura lui Simpson.

Un alt algoritm de tip Romberg, bazat pe schema lui Aitken:


T00
T10 T11
(2)
...
Ti0 Ti1 ... Tii
unde prima coloană se calculează cu formula repetată a trapezului, iar
celelalte linii se calculează cu formula
4−j Ti−1,j−1 − Ti,j−1
Ti,j = −j
. (3)
4 −1

Coloanele, liniile şi diagonala converg la valoarea integralei; diagonala


converge cel mai repede.
Tabelul rezultat conform algoritmului lui Romberg dat de formula (3)
conţine pe prima coloană valorile rezultate aplicând formula repetată
a trapezului, iar pe a doua coloană valorile rezultate aplicând formula
lui Simpson pentru 2i intervale.

Dacă dorim să aproximăm integrala I cu eroare mai mică decât ε,


calculăm succesiv liniile din (2) până când

Ti,i − Ti−1,i−1 ≤ ε,

Ti,i fiind valoarea cerută.


3.4 Formule de cuadratură adaptive

Metodele repetate de integrare numerică au nodurile echidistante. Ex-


istă funcţii care au atat regiuni cu variaţie mare cât şi regiuni cu variaţie
mică. Acestea au nevoie de un pas mai mic ı̂n regiunile cu variaţie
mare decât ı̂n cele cu variaţie mică, pentru ca eroarea să fie uniform
distribuită.

Astfel de metode, care ı̂şi adaptează pasul la necesitaţile funcţiei se


numesc formule adaptive de cuadratură.

Prezentăm pentru formula lui Simpson.

Considerăm integrala I = ab f (x) dx pe care o aproximăm cu precizia


R

ε.

Primul pas: aplicăm formula Simpson cu pasul h = b−a


2 (x0 = a, x1 =
a + h, x2 = b).
Rb b−a (b−a)5 (4)
a f (x) dx = 6 (f (a) + 4f (a + h) + f (b)) − 2880 f (ξ ) =
(4)
h5
:= S (a, b) − 90 f (4) (ξ )
Aplicăm formula repetată a lui Simpson cu pasul (b−a)
4 = h:
2
Rb
f x dx = h [f (a) + 4f (a + h ) + 2f (a + h) + 4f (a + 3h )
a ( ) 6 2 2
5
+f (b)] − 24h·90 f (4) (θ)
Z b
1 h5 f (4) θ
   
a+b a+b
f (x) dx = S a, 2 + S 2 , b − 16 90 ( ) (5)
a
Estimăm eroarea fără a determina f (4) (ξ ). Presupunem f (4) (ξ ) '
f (4) (θ). Obţinem
h5 (4) 
a+b
 
a+b

1 h5 f (4) ξ ,
S (a, b) − 90 f (ξ ) = S a, 2 + S 2 , b − 16 90 ( )
de unde
h5 f (4) ξ ,
   
a+b a+b
S (a, b) − S a, 2 − S 2 , b = 15
16 90 ( )
sau
h5 f (4) ξ = 16 S a, b − S a, a+b − S a+b , b
    
90 ( ) 15 ( ) 2 2
Inlocuind ı̂n relaţia (5) se obţine
Z
b
1 h5 f (4) θ
   
f (x) dx − S a, a+b − S a+b
, b = ( )


a 2 2
16 90
   
1 a+b a+b
= 15 S (a, b) − S a, 2 − S 2 , b

   
a+b a+b
Deci eroare de aproximare al lui I prin S a, 2 + S 2 , b este de 15
   
a+b a+b
ori mai mică decât S (a, b) − S a, 2 − S 2 , b . Deci, dacă

   
a+b a+b
S (a, b) − S a, 2 − S 2 , b < 15ε, atunci (6)

   
a+b a+b
I − S a, 2 − S 2 , b < ε.

Când (6) nu este ı̂ndeplinită, procedeul de estimare al erorii se aplică


individual pe subintervalele [a, (a + b)/2] şi [(a + b)/2, b] ı̂n raport cu
precizia ε/2. Dacă pe un subinterval nu se obţine precizia ε/2, atunci
se ı̂mparte subintervalul şi se analizează ı̂n raport cu precizia ε/4, etc.
Acest procedeu de ı̂njumătăţire se continuă până se atinge precizia
dorită pe fiecare subinterval.
Algorithm: (the idea: ”divide and conquer”)

function I=adquad(f,a,b,er)

I1=Simpson(f,a,b)
a+b a+b
I2=Simpson(f,a, 2 )+Simpson(f, 2 ,b)

if |I1-I2|<15*er

I=I2

return

else
a+b a+b er
I=adquad(f,a, 2 , er
2 )+adquad(f, 2 ,b, 2 )
end

Observaţia 1 De exemplu, pentru a evalua integrala 13 100 10 dx cu


R
x2
sin x
−4
ε = 10 , formula repetată a lui Simpson are nevoie de 177 de evaluări
ale funcţiei, aproape dublu fata de cuadraturile adaptive.
3.5. Formule de quadratură de tip Gauss

Fie f : [a, b] → R o funcţie integrabilă şi w : [a, b] → R+ o funcţie


pondere, integrabilă pe [a, b].Considerăm o formulă de forma
Z b m
X
w(x)f (x)dx = Ak f (xk ) + Rm(f ), (7)
a k=1
unde Ai şi xi, i = 1, ..., sunt parametri arbitrari.

In formulele de tip Newton-Cotes, s-au ales nodurile xk , k = 1, ..., m


echidistante şi s-au calculat coeficienţii Ak , k = 1, ..., m. Acest fapt
garantează că formula este exactă pentru polinoame de grad ≤ m.

Este posibil ca formula sa fie exactă pentru polinoame de grad ≤ 2m−1,


dacă se aleg şi nodurile corespunzător. Aceasta este ideea de bază a
formulelor de tip Gauss.

Definiţia 2 Formula (7) se numeşte de tip Gauss sau cu grad maxim


de exactitate dacă coeficienţii Akj şi nodurile xk sunt determinaţi
astfel ı̂ncât formula să aibă gradul de exactitate cel mai mare posibil.
Observaţia 3 Coeficientii şi nodurile se determină astfel ı̂ncât eroarea
să fie minimizată, să aibă rezultate exacte pentru o clasă cât mai mare
de polinoame.

Cum numărul necunoscutelor este 2m, sunt necesare tot atâtea condiţii
pentru determinarea efectivă a lor. Alegem aceste condiţii astfel ı̂ncât
formula (7) să fie exactă pentru orice polinom de gradul 2m − 1, adică
Rm(ek ) = 0, k = 0, ..., 2m − 1.
Rb Rb
Deseori este posibil să rescriem integrala a g(x)dx ca a w(x)f (x)dx,
g(x)
unde w(x) este o functie inegrabila nenegative, şi f (x) = w(x) este
netedă, sau este posibil să alegem w(x) = 1.

Pentru cazul general, considerăm polinoamele elementare ek (x) = xk ;


k = 0, ..., 2m − 1 şi se obţine sistemul neliniar, astfel ı̂ncât Rm(ek ) = 0 :




A1 + A2 + ... + Am = µ0
 A1x1 + A2x2 + ... + Amxm = µ1



... (8)
 m−1 m−1 m−1 = µ


 A 1 x 1 + A 2 x 2 + ... + A m x m m−1
A1x2m−1 2m−1



+ A x + ... + A x 2m−1 = µ
1 2 2 m m 2m−1
unde
Z b
µk = w(x)xk dx
a
sunt momentele funcţiei pondere w.

Datorită dificultăţilor de rezolvare a sistemului (8) s-au căutat alte căi


de determinare a parametrilor necunoscuţi.

Dacă considerăm w(x) = 1 (caz studiat de Gauss), nodurile formulei


lui Gauss sunt rădăcinile polinomului lui Legendre, pe intervalul [a, b]:
m! dm m (x − b)m .
u(x) = m
[(x − a) ]
(2m) dx
Pentru determinarea coeficienţilor pot fi folosite primele m ecuaţii ale
sistemului (8).

Pentru m = 1 avem formula de cuadratură


Z b
f (x)dx = A1f (x1) + R1(f ).
a
Sistemul (8) devine
(
A1 = b − a,
2 2
A1x1 = b −a
2 ,
a cărui unică soluţie este A1 = b − a, x1 = a+b
2 .

Acelaşi rezultat se obţine luând pe x1 ca rădăcina polinomului lui Leg-


endre de gradul ı̂ntâi.
1 a+b
u(x) = [(x − a)(x − b)] = x − .
2 2
Deci x1 = a+b
2 . Astfel, formula de cuadratură a lui Gauss cu un singur
nod este
Z b
a+b
 
f (x)dx = (b − a)f + R1(f ), (9)
a 2
cu
(b − a)3 00
R1(f ) = f (ξ), ξ ∈ [a, b]
24
numită şi formula dreptunghiului (sau formula punctului de mi-
jloc).
Formula reptată a dreptunghiului este
Z b n
b−a X
f (x)dx = f (xi) + Rn(f ),
a n i=1
(b − a)3 00
Rn(f ) = 2
f (ξ), ξ ∈ [a, b]
24n
cu x1 = a + b−a
2n , xi = x 1 + (i − 1) b−a , i = 2, ..., n.
n

Avem
(b − a)3
|Rn(f )| ≤ 2
M2f, cu M2f = max |f 00(x)|.
24n x∈[a,b]

Observaţia 4 O altă formulă a dreptunghiului este:


Z b
f (x)dx = (b − a)f (a) + R(f ),
a
cu
(b − a)2 0
R(f ) = f (ξ), ξ ∈ [a, b].
2
Exemplul 5 Aproximati ln 2, cu ε = 10−2, folosind formula repetată a
dreptunghiului.

Soluţie. Avem
Z b n
b−a X
f (x)dx = f (xi) + Rn(f ),
a n i=1
(b − a)3 00
Rn(f ) = 2
f (ξ), ξ ∈ [a, b].
24n
Z 2
dx
ln 2 = ,
1 x
deci f (x) = 1
x şi se obţine
 
n
b−a b−a X b−a b − a  (b − a)3 00
ln 2 = f (a + )+ f (a + + (i − 1) ) + 2
f (ξ)
n 2n i=2 2n n 24n

Avem f (x) = 1x , f 0 (x) = − 1 , f 00 (x) = 2 , şi |f 00 (ξ)| ≤ 2, pt. ξ ∈ [1, 2] de


x2 x3
unde rezultă
1 −2 ⇒ 12n2 > 100 ⇒ n = 3.
|Rn(f )| ≤ 2 < 10
24n2
Deci
 
1 1 1 1 1 6 6 6
 
ln 2 ≈  1
+ 1 1
+ 1 2
= + + = 0.6897
3 1+6 1+6+3 1+6+3 3 7 9 11
(real value is 0.693...)

Algoritmul lui Romberg pentru formula dreptunghiului (a punc-


tului de mijloc). Aplicâm succesiv formula dreptunghiului pe [a, b], şi
se obţine
a+b
QD0 (f ) = (b − a)f (x1), x1 =
2
1 b−a
QD1 (f ) = QD0 (f ) + [f (x2) + f (x3)] ,
3 3
b−a b−a
x2 = a + , x3 = b − .
6 6
Continând ı̂n acest mod, se obţine şirul

QD0 (f ), QD1 (f ), ..., QDk (f ), ... (10)


care converge la valoarea I a integralei ab f (x)dx.
R
Dacă dorim să aproximăm integrala I cu eroare mai mică decât ε,
calculăm succesiv elementele lui (10) până la primul index pentru care

QDm (f ) − QDm−1 (f ) ≤ ε,

QDm (f ) fiind valoarea cerută.

Observaţia 6 Formulele de quadratură de tip Gauss au o formă mai


complicată decât cele de tip interpolator. Atât nodurile, cât şi funcţiile
pondere sunt in general numere irationale. Dar, la calculator, de obi-
cei nu e diferentă dacă avem de evalaut o funcţie in x = 3 sau ı̂n

x = 1/ 3. Odată ce nodurile şi ponderile sunt stocate, aceste for-
mule se pot utiliza la fel de usor ca si formula trapezului sau formula
lui Simpson. In acelasi timp, formulele gaussiane sunt deobcei mult
mai exacte prin comparatie cu cele mentionate, relativ la numarul de
evaluari ale functiei.

Observaţia 7 a) Coeficientii Ak , k = 1, ..., m ale unei formule de tip


Gauss sunt pozitivi.
b) Coeficientii Ak , k = 1, ..., m şi rădăcinile polinoamelor Legendre se
pot găsi ı̂n tabele, pentru a = −1, b = 1. De exemplu, pentru m = 2 şi
m=3:

m nodurile coeficientii
2 0.577 1
−0.577 1
3 0.774 0.555
0 0.888
−0.774 0.555

c) Pentru diferite functii pondere, sunt disponibile tabele pentru noduri


şi coeficienti.

Integrala ab f (x)dx pe un interval arbitrar [a, b] se poate transforma in


R

integrala pe [−1, 1] folosind schimbarea de variabila


2x − a − b 1
t= ⇔ x = [(b − a)t + a + b] .
b−a 2
Formula de cuadratură de tip Gauss se poate aplica ı̂n felul următor:
Z b Z 1 !
(b − a)t + (b + a) (b − a)
f (x)dx = f dt. (11)
a −1 2 2

1 ex cos xdx folosind formula Gauss cu m =


Exemplul 8 Aproximati −1
R

3.

Sol.
Z 1
ex cos xdx ' 0.55e0.77 cos 0.77 + 0.88 cos 0 + 0.55e−0.77 cos(−0.77)
−1
= 1.9333904
(Valoarea exacta este 1.9334214.) Eroarea absolută este <3.2 · 10−5.

R3 6
Exemplul 9 Consider the integral 1 (x −x2 sin(2x))dx = 317.3442466.

a) Compare the result obtained for Newton-Cotes type formula with


m = 1 (trapezium formula) and Gauss-Legendre formula for m = 2;
b) Compare the result obtained for Newton-Cotes type formula with
m = 2 (Simpson formula) and Gauss-Legendre formula for m = 3.

Sol. a) Each formula needs 2 evaluations of the function f (x) =


x6 − x2 sin(2x). We have
2
Trapezium formula (m = 1) :[f (1) + f (3)] = 731.6054420;
2
and a Gauss type formula for m = 2, using (11):
Z 3 Z 1
(x6 − x2 sin(2x))dx = ((t + 2)6 − (t + 2)2 sin(2(t + 2)))dt
1 −1
' f (−0.577 + 2) + f (0.577 + 2) = 306.8199344.

b) Each formula needs 3 evaluations of the function. We have


1
F. Simpson (m = 2) : [f (1) + 4f (2) + f (3)] = 333.23;
3
and a Gauss type formula for m = 3, using (11):
Z 3 Z 1
(x6 − x2 sin(2x))dx = ((t + 2)6 − (t + 2)2 sin(2(t + 2)))dt
1 −1
' 0.55f (−0.77 + 2) + 0.88f (2) + 0.55f (0.77 + 2)
= 317.2641516
3.6. Formule de cuadratură generale

Folosind formule de interpolare mai generale pot fi obţinute formule


de cuadratură utile. Fie formula de interpolare Hermite relativă la
f : [a, b] → R şi la nodurile xi ∈ [a, b] , i = 0, ..., m multiple respectiv de
ordinele r0, ..., rm ∈ N,
f = Hnf + Rnf, (12)
cu n = m + r0 + ... + rm, şi
rk
m X
hkj f (j)(xk ),
X
(Hnf )(x) =
k=0 j=0
hjk fiind polinoamele fundamentale de interpolare Hermite. Formula
(12) generează formula de cuadratură cu noduri multiple
Z b rk
m X
Akj f (j)(xk ) + Rn(f ),
X
f (x)dx =
a k=0 j=0
unde
Z b
Akj = hkj (x)dx.
a
Similar, se pot obţine formule de cudratură pornind de la formule de
interpolare de tip Birkhoff,

f = Bnf + Rnf, (13)


cu n = |I0| + |I1| + ... + |Im| − 1, şi
m X
bkj f (j)(xk ),
X
(Bnf )(x) =
k=0 j∈Ik
bjk fiind polinoamele fundamentale de interpolare Birkhoff. Formula
(13) generează formula de cuadratură cu noduri multiple
Z b m X
Akj f (j)(xk ) + Rn(f ),
X
f (x)dx =
a k=0 j∈Ik
unde
Z b
Akj = bkj (x)dx.
a
CURS 9

Formule de cuadratură generale

Exemplul 1 Dacă se cunosc valorile f 0(a) şi f (b), care este formula de
cuadratură corespunzătoare?

Sol. Avem f (x) = (B1f )(x) + (R1f )(x) cu


(B1f )(x) = b01(x)f 0(a) + b10(x)f (b). (1)

Formula (1) generează formula de cuadratură


Z b 1 X
Akj f (j)(xk ) + R1(f ),
X
f (x)dx =
a k=0 j=Ik
cu
(b − a)2
Z b
A01 = b01(x)dx = −
a 2
Z b
A10 = b10(x)dx = (b − a).
a
4. Metode numerice pentru rezolvarea sistemelor de ecuaţii
liniare

Multe probleme practice conduc la sisteme de ecuaţii liniare:

Real-World Application:

1. Price of Fruits: Peter buys two apples and three bananas for $4.
Nadia buys four apples and six bananas for $8 from the same store.
How much does one banana and one apple costs?

2. A baker sells plain cakes for $7 and decorated cakes for $11. On a
busy Saturday the baker started with 120 cakes, and sold all but three.
His takings for the day were $991. How many plain cakes did he sell
that day, and how many were decorated before they were sold?

3. Twice John’s age plus five times Claire’s age is 204. Nine times
John’s age minus three times Claire’s age is also 204. How old are
John and Claire?
4. Assume an electric network consisting of two voltage sources and
three resistors. Applying Kirchhoff’s laws it is determined the current
going through each resistor.

5. Network analysis: networks composed of branches and junctions


are used as models in such fields as economics, traffic analysis, and
electrical engineering.
Clasificarea metodelor:

- metode directe - cu număr mic de necunoscute (până la câteva zeci


de mii); returnează soluţia exactă a sistemului ı̂ntr-un nr finit de
paşi

- metode iterative - cu număr mediu de necunoscute; se obţine aproximaţie


a soluţiei ca limită a unui şir

- metode semi-iterative - cu număr mare de necunoscute; se obţine


aproximaţie a soluţiei
4.1. Perturbarea unui sistem liniar

Considerăm sistemul liniar


Ax = b.

−1
Definiţia 2 Numărul cond (A) = kAk A se numeşte număr de
condiţionare al matricii A. Acesta măsoară sensibilitatea soluţiei x
a sistemului Ax = b la perturbaţiile lui A şi b.

Sistemul este bine condiţionat dacă cond (A) este mic (<1000) sau
rău condiţionat dacă cond (A) este mare.

Observaţia 3 1. cond (A) ≥ 1.

2. cond(A) depinde de norma utilizată.


Considerăm un examplu
    
10 7 8 7 x1 32
 7 5 6 5  x2   23 
= ,
    
8 6 10 9 x3 33
 
    
7 5 9 10 x4 31
 
1
 1 
cu solutia  .
 
 1 
1

Perturbăm b:
    
10 7 8 7 x1 + δx1 32.1
 7 5 6 5  x2 + δx2   22.9 
= ,
    
8 6 10 9 x3 + δx3 33.1
 
    
7 5 9 10 x4 + δx4 30.9
 
9.2
 −12.6 
şi obţinem solutia  .
 
 4.5 
−1.1
Considerăm, de examplu,

b − (b + δb ) δb 1 1
2 2 2 2
= = ≈ ,
b2 b2 229 200
unde δbi, i = 1, 3 notează perturbatiile asupra lui b, şi

x − (x + δx ) δx
2 2 2 2
= = 13.6 ≈ 10.
x2 x2
1 ı̂n partea dreaptă (precizia de 1
Deci, o eroare relativă de ordin 200 200
pt datele sistemului) atrage o eroare relativă de ordin 10 a soluţiei,
adică de 2000 ori mai mare.

Considerăm acelaşi sistem, şi perturbăm matricea A:

    
10 7 8.1 7.2 x1 + δx1 32
 7.08 5.04 6 5  x2 + δx2   23 
= ,
    
8 5.98 9.89 9 x3 + δx3 33
 
    
6.99 4.99 9 9.98 x4 + δx4 31
 
−81
 137 
cu soluţia  .
 
 −34 
22

Matricea A pare aavea proprietăţi bune (simetrică,


 determinantul e 1),
25 −41 10 −6
 −41 68 −17 10 
şi inversa A −1 =

 conţine tot numere ı̂ntregi.

 10 −17 5 −3 
−6 10 −3 2

Acest examplu este ı̂ngrijorător deoarece acest ordin de eroare este


acceptat ı̂n multe ştiinţe experimentale .

Observaţia 4 Pentru acest exemplu avem cond (A) = 2984 (ı̂n norma
Euclidiană).
Analiza fenomenului:

 In primul caz, când b este perturbat, comparăm soluţiile exacte x şi


x + δx ale sistemelor
Ax = b
şi
A(x + δx) = b + δb.

Fie k·k norma din Rn şi k·k norma matriceală indusă.

Avem sistemele
Ax = b
şi
Ax + Aδx = b + δb ⇐⇒ Aδx = δb.


−1 −1
Din δx = A δb se obţine kδxk ≤ A kδbk
1 ≤ kAk ,
şi din b = Ax se obţine kbk ≤ kAk kxk ⇔ kxk kbk

deci eroarea relativă a soluţiei este mărginită de


kδxk  −1 kδbk denoted
 kδbk
≤ kAk A = cond (A) . (2)
kxk kbk kbk

 In al doilea caz, cand matricea A este perturbată, comparăm soluţiile


exacte ale sistemelor
Ax = b
şi
(A + δA)(x + δx) = b ⇐⇒ Ax + Aδx + δAx + δAδx = b
⇐⇒ Aδx = −δA(x + δx).

−1 −1
Din δx = −A δA(x + δx), se obţine kδxk ≤ A kδAk kx + δxk, sau

kδxk
−1

−1 kδAk
 kδAk
≤ A kδAk = kAk A = cond (A) . (3)
kx + δxk kAk kAk
4. 2. Metode directe de rezolvarea sistemelor liniare

”Which is the role of such a study, since the Cramer formulas and the
Gauss method are known for such a long time, and may be applied
to any nonsingular linear system?”. Raspunsul este dat de consideratii
prectoce, specifice analizei numerice. Ambele metode mentionate au
impedimente majore când sunt folosite pe calculator, pentru numar
mare de necunoscute.

Neajunsurile metodei lui Cramer. De ce metoda lui Cramer nu este


potrivită pentru rezolvarea unui sistem liniar cu nr de ecuaţii n ≥ 100
şi nu va fi ı̂n viitorul apropiat?

Pentru a aplica metoda lui Cramer pentru un sistem n×n avem nevoie,
ı̂n mare, de următoarele operaţii:

 (n + 1)! adunari

(n + 2)! inmultiri

 n impartiri
Considerăm, ipotetic, un volume V = 1 km3 de procesoare cubice
având fiecare latura de l = 10−8 cm (raza unui atom), timpul de
execuţie al unei operaţii se presupune a fi egal cu timpul necesar luminii
sa parcurga un atom. (Viteza luminii este c=300.000 km/s.) Timpul
necesar unui element pentru a face o operatie aritmetica elementar
este t = l/c. In acest caz, nr de operatii artimetice elementare care
sunt facute intr-o secunda este
Nr. de elem. V l cV 3·108 ·109
No. of op. = Timpul necesar unui elem. = l3 / c = l4 = .
10−40

Consideram ca formula lui Cramer pentru sistemul considerat are


nevoie de doar 100! operatii artimetice elementare. Cum 100! =
10157,9..., aceasta inseamna ca acest computer ar avea nevoie de aprox-
imativ 1094 ani ca sa calculeze solutia sistemului.

In acest caz ipotetic, timpul necesar pentru rezolvarea sistemului n × n


cu n ≥ 100, va fi mai mare decât 1094 ani!I
Formula lui Cramer nu se foloseste pentru probleme practice nici in
cazul sistemelor cu nr mic de necunoscute, deoarece nr de operatii
elementare (admitand ca e doar de ordin O (n!)) este mult mai mare
decat al altor metode directe, care au nevoie doar de O n3 oper-
atii. Ca examplu, Ciarlet a mentionat ca pentru un sistem liniar cu
n = 10 necunoscute, metoda lui Gauss are nevoie de 700 operatii, pe
cand metoda lui Cramer are nevoie de 400.000.000 operatii. Pe de
alta parte, cantitatea erorilor cumulate prin metoda lui Cramer poate
conduce la solutii aberatante.

Neajunsurile metodei lui Gauss. In cazul pivotarii partiale pentru


rezolvarea sistemului Ax = b, eraorea relativa pentru ”soluti” x̃ este
marginita in felul urmator:
kx∗ − x̃k∞ 2 ρ · cond A ,
≤ 4n ( )
kx∗k∞
unde

- n este dimensiunea sistemului;


-  este epsilonul masinii ;

- cond (A) este nr de conditionare in norma Chebyshev;

- ρ este un parametru specific oricarei matrici, valoarea maxima fiind


2n−1; pentru majoritatea problemelor practice valoarea lui ρ este mica.

Relatia de mai sus arata ca solutia obtinuta prin metoda lui Gauss
poate fi departe de solutia exacta daca numarul de necunoscute este
mare sau cand matricea A este rau conditionata.

Pe de alta parte, numarul de operatii arimetice elementare necesar


algoritmului face ca timpul necesar sa fie foarte mare, cu cat creste n.

Pentru n ≥ 100.000 nici un sistem cu matrice ”plina” nu s-a rezolvat


cu metode directe; ”recordul” pare a fi un sistem avand dimensiunea
n = 76.800.
4.2.1. Gauss method for solving linear systems

Considerăm sistemul liniar Ax = b, adică,


    
a11 a12 ... a1n x1 b1
 a21 a22 ... a2n   x2
   b2 
= . (4)
   

 ... ...   ...
...  
  ... 
an1 an2 ... ann xn bn

Metoda constă ı̂n două etape:

- reducerea sistemului (4) la un sistem echivalent, U x = d, cu U matrice


superior triangulară.

- rezolvarea sistemului liniar superior triangular U x = d prin substituţie


inversă.

Cel puţin un element de pe prima coloană este nenul, altfel A este


singulară. Vom alege ca si pivot unul dintre elementele nenule (folosind
anumite criterii).
Daca este cazul, interschimbăm linia pe care se află pivotul cu prima
linie, in A si b, apoi facem succesiv zerouri sub primul pivot:
   
a1 a1 1 1

... a1n x1 b1
 11 12
a1 1 1
  x   
 0 ... a2n   2  b2 
22
 
 ...

... ...   .
.

.
 =  .. 
   .   . 
0 1 1
an2 ... ann xn 1
bn
Analog, după k paşi se obţine sistemul
 
a111 a112 ... a1
1k a1
1,k+1 ... a1
1n
  
b1

x1
a2 ... a2 a2 ... a2  1
 
 b2
 0  
22 2k 2,k+1 2n   x2 
 .2
 
 . ... ... ... ...

 ..

.
  .. 
  ..


   
... akkk k k k
 0 
0 ak,k+1 ... akn 
 x = b .

k  k
 
 
k k  bk
 
 0 0 ... 0 ak+1,k+1 ... ak+1,n 
 xk+1 

 k+1


 .  ..  ..

... ... ... ...  .

 ..  .
  

akn,k+1 ... aknn xn bkn
 
0 0 ... 0
k akik
Dacă akk 6= 0, notăm cu mik = k şi se obţine
akk

ak+1
ij = ak − m ak ,
ij ik kj j = k, ..., n
bk+1
i = b k − m bk ,
i ik k i = k + 1, ..., n.
După n − 1 paşi se obţine sistemul
a1 a1 a1 b1
    
11 12 ... 1n x1 1
 0 a2 a2 b2
22 ... x2
    
2n 2
   
a3 b3
    
 0 0 ...  x3 = .
3n 3
 .. ... ... ...  ..
    
 .  .
  
  
0 0 n−1
... ann xn bn−1
n

Observaţia 5 Numărul total de operaţii elementare este de ordinul


2 n3 .
3

Exemplul 6 Considerăm sistemul


! ! !
0.0001 1 x 1
= .
1 1 y 2
Algoritmul lui Gauss conduce la : m21 = aa21 = 0.0001
1
11
! !
0.0001 1 x
1 − 0.0001 ∗ m21 = 0 1 − 1 ∗ m21 = −9999 y
!
1
=
2 − 1 ∗ m21 = −9998

9998
⇒y= = 0.(9998) ≈ 1.
9999
RInlocuind in prima ecuatie se obtine

x = 1.000(1000) ≈ 1.

Prin ı̂mpăţirea la un pivot mic ı̂n modul, se pot induce erori. Pentru a
evita acest lucru, sunt două modalităţi:

A) Pivotarea partiala: găsirea unui index p ∈ {k, ..., n} astfel ı̂ncât:



k k
ap,k = max ai,k .
i=k,n
B) Pivotarea totală: găsirea lui p, q ∈ {k, ..., n} astfel ı̂ncât:

k
ap,q = max ak ij ,

i,j=k,n

Exemplul 7 Rezolvaţi următorul sistem folosind pivotarea partială:


     
1 1 1 1 x1 10
 2 3 1 5   x2   31 
= .
     
−1 1 −5 3 x3 −2
    
     
3 1 7 −2 x4 18
Pivotul este a41. Interschimbăm linia 1 cu linia 4:
     
3 1 7 −2 x1 18
 2 3 1 5   x2   31 
= ,
     
−1 1 −5 3  x3 −2
    
    
1 1 1 1 x4 10
apoi
element pivot →
 
3 1 7 −2 | 18
m21 = 32  0 2.33 −3.66 6.33 | 19 
.
 
1
m31 = − 3

 0 1.33 −2.66 2.33 | 4 
m41 = 31 0 0.66 −1.33 1.66 | 4
Scădem multiplicatorii primei ecuatii din celelate trei:
 
3 1 7 −2 | 18
element pivot →  0 2.33 −3.66 6.33 | 19 
.
 
m32 = 1.33 0 1.33 −2.66 2.33 | 4

2.33  
m42 = 0.66
2.33
0 0.66 −1.33 1.66 | 4
Scădem multiplicatorii celei de a doua ecuatii din ultimele doua:
 
3 1 7 −2 | 18
 0 2.33 −3.66 6.33 | 19 
.
 
element pivot →  0 0 −0.57 −1.28 | −6.85


m43 = 0.28
0.57
0 0 −0.28 −0.14 | −1.42
Scădem multiplicatorii celei de a treia ecuatii din ultima:
 
3 1 7 −2 | 18
 0 2.33 −3.66 6.33 | 19 
.
 
0 0 −0.57 −1.28 | −6.85

 
0 0 0 0.5 | 2
Prin substitutie inversă se obţine soluţia:
2
x4 = =4
0.5
−6.85 + 1.28x4
x3 = =3
−0.57
19 + 3.66x3 − 6.33x4
x2 = =2
2.33
18 − x2 − 7x3 + 2x4
x1 = = 1.
3
4.2.2. Metoda Gauss-Jordan (metoda ”eliminarii totale”)

Considerăm sistemul liniar Ax = b, adică,


    
a11 a12 ... a1n x1 b1
 a21 a22 ... a2n   x2
   b2 
= . (5)
   

 ... ...   ...
...  
  ... 
an1 an2 ... ann xn bn

Se fac eliminari similare cu cele facute pentru metoda lui Gauss, pentru
a face zerouri pe liniile i + 1, i + 2, ..., n si apoi, pe liniile 1, 2, ..., i − 1
astfel ca sistemul sa devina de forma:
    
a1 0 ... 0 x1 b1
1
 11
 0 a2
22 ... 0 x2 b2
   
2
   
b3
    
 0 0 ... 0  x3 = .
 .. ... 3
... ...  ..
    
 .  .
  
  
0 0 ... an
nn xn bn
n
Solutia se obtine ca
bii
xi = i , i = 1, ..., n.
aii
Definiţia 8 O matrice n × n, A, se numeste strict diagonal domi-
nanta daca
n
X
|aii| > aij , i = 1, 2, ..., n.

j=1,j6=i

Teorema 9 Daca A este strict diagonal dominanta, atunci A este


nesingulara si mai mult, eliminarea Gaussiana se face pentru orice
sistem liniar Ax = b fara interschimbarea liniilor sau coloanelor, iar
calculele sunt stabile in raport cu cresterea erorilor de rotunjire.
CURS 10

4.2.3. Metode de factorizare - metode LU

Matricea A se poate factoriza intr-un produs a unei matrici inferior


triunghiulare L si a unei matrici superior triangulare U, anume A = LU.

Ax = b ⇐⇒ LU x = b,
unde
   
l11 0 . . . 0 u11 u12 . . . u1n
 l
 21 l22 . . . 0 
  0 u22 . . . u2n 
L =  .. U =  .. .
 
 .  .

 
ln1 ln2 . . . lnn 0 0 . . . unn
Sistemul se rezolva in doua etape:

Prima etapa: rezolvam Lz = b,


A doua etapa: rezolvam U x = z.
Metode de calcularea a matricilor L si U : metoda Doolittle unde
toate elementele de pe diagonala lui L au valoarea 1; metoda Crout
unde toate elementele de pe diagonala lui U au valoarea 1 şi metoda
Choleski unde lii = uii pentru i = 1, ..., n.

Observaţia 1 Factorizarile LU sunt forme modificate ale metodei elim-


inarii a lui Gauss.

Metoda Doolittle

Considerăm că A este strict diagonal dominantă, adică akk 6= 0, k =


1, n − 1. Notăm
(k−1)
ai,k
li,k := , i = k + 1, n
(k−1)
ak,k
 
0




...
0
 
t(k) 
=


,
 lk+1,k 

 ... 
 
ln,k
având zerouri pe primele k linii, si

Mk = In − t(k)ek ∈ Mn×n(R) (1)


 
unde ek = 0 ... 1 ... 0 este vectorul unitate de ordin k si dimensi-
 
1 0 ... 0
 0 1 ... 0 
une n,(are 1 pe pozitia k) si In =   este matricea identica
 
 ... 
0 0 ... 1
de ordin n.

(0) (1) (k−1)


ai,k sunt elementele lui A; ai,k sunt elementele lui M1 · A; ...; ai,k
sunt elementele lui Mk−1 . . . · M1 · A.

Definiţia 2 Matricea Mk se numeste matrice Gauss, componentele


li,k se numesc multiplicatori Gauss si vectorul t(k) este vector Gauss.

Observaţia 3 Daca A ∈ Mn×n(R), atunci matricile Gauss M1, . . . , Mn−1


se determina astfel incat

U = Mn−1 · Mn−2 . . . M2 · M1 · A
este matrice superior triangulara. Mai mult, daca se alege

L = M1−1 · M2−1 . . . Mn−1


−1

atunci
A = L · U.

Exemplul 4 Gasiti factorizarea LU a matricii


!
2 1
A= .
6 8
(
2x1 + x2 = 3
Rezolvati sistemul .
6x1 + 8x2 = 9

Sol.
! !
1 0 0  
M1 = I2 − t(1)e1 = − 6 1 0
0 1 2
! ! !
1 0 0 0 1 0
= − = .
0 1 3 0 −3 1
Avem
! ! !
1 0 2 1 2 1
U = M1A = =
−3 1 6 8 0 5
!
1 0
L = M1−1 = .
3 1
Deci
! ! !
2 1 1 0 2 1
A= =L·U = .
6 8 3 1 0 5
Avem
!
3
L·U ·x=
9
Ux = z
si
! ! ! !
1 0 z1 3 3
= ⇒z=
3 1 z2 9 0
! ! ! !
2 1 x1 3 1.5
= ⇒x= .
0 5 x2 0 0
4.3. Metode iterative de rezolvare a sistemelor liniare

Datorita erorilor, metodele directe sunt mai putin eficiente decat metodele
iterative pentru sisteme mari (>100 000 variabile).

O metoda iterativa consta in transformarea sistemului

Ax = b (2)
in forma
x = b̃ − Bx.
Considerand o aproximatie initiala pentru x(0), sirul aproximatiilor so-
lutiei x(0), x(1), ..., x(k), ...se genereaza calculand

x(k) = b̃ − Bx(k−1), pentru k = 1, 2, 3, ....


4.3.1. Metoda iterativa Jacobi

Considerăm sistemul liniar n × n,




 a11x1 + a12x2 + ... + a1nxn = b1

 a x + a x + ... + a x = b
21 1 22 2 2n n 2



...

an1x1 + an2x2 + ... + annxn = bn,
unde presupunem ca elementele de pe diagonala a11, a22, ..., ann sunt
nenule.

Incepem schemele iterative prin rezolvarea fiecarei ecuatii in raport cu


cate o variabila:


 x1 = u12x2 + ... + u1nxn + c1

 x = u x + ... + u x + c
2 21 1 2n n 2



...

xn = un1x1 + ... + unn−1xn−1 + cn,
a
unde uij = − aij , ci = abi , i = 1, ..., n.
ii ii
(0) (0) (0)
Fie x(0) = (x1 , x2 , ..., xn ) o aproximatie initiala a solutiei. Aproxi-
matia k + 1 este:

(k+1) (k) (k)


 x 1 = u12 x 2 + ... + u 1n xn + c1
 (k+1) (k) (k) (k)


x2 = u21x1 + u23x3 + ... + u2nxn + c2


 ...
 x(k+1) = u x(k) + ... + u (k)

nn−1 xn−1 + cn ,

n n1 1
pentru k = 0, 1, 2, ...

Forma algoritmica:
n (k−1)
bi −
P
aij xj
(k) j=1,j6=i
xi = , i = 1, 2, ..., n, pentru k ≥ 1.
aii
Procesul iterativ se termina cand un criteriu de convergenta este sat-
isfacut.

(k) (k−1)

(k)
x −x
− x(k−1)

Criterii de oprire : x < ε sau < ε, cu ε > 0 -

x(k)
precizia data.
Exemplul 5 Rezolvati sistemul folosind metoda Jacobi, cu ε = 10−3
şi vectorul initial x(0) = (0 0 0 0):


 7x1 − 2x2 + x3 = 17
1 − 9x2 + 3x3 − x4

 x = 13



2x1 + 10x3 + x4 = 15

x1 − x2 + x3 + 6x4 = 10.

Sol. Ecuatiile se rearanjeaza astfel


x1 = (17 + 2x2 − x3)/7
x2 = (−13 + x1 + 3x3 − x4)/9
x3 = (15 − 2x1 − x4)/10
x4 = (10 − x1 + x2 − x3)/6
si, de exemplu,
(1) (0) (0)
x1 = (17 + 2x2 − x3 )/7
(1) (0) (0) (0)
x2 = (−13 + x1 + 3x3 − x4 )/9
(1) (0) (0)
x3 = (15 − 2x1 − x4 )/10
(1) (0) (0) (0)
x4 = (10 − x1 + x2 − x3 )/6.
Substituim x(0) = (0, 0, 0, 0) in partea dreapta a fiecarei ecuatii:
(1)
x1 = (17 + 2 · 0 − 0)/7 = 2.428 571 429
(1)
x2 = (−13 + 0 + 3 · 0 − 0)/9 = −1.444 444 444
(1)
x3 = (15 − 2 · 0 − 0)/10 = 1.5
(1)
x4 = (10 − 0 + 0 − 0)/6 = 1.666 666 667
si obtinem x(1) = (2.428 571 429, −1.444 444 444, 1.5, 1.666 666 667).
Iteratiile Jacobi sunt date de:
 
(k+1) (k) (k)
x1 = 17 + 2x2 − x3 /7
 
(k+1) (k) (k) (k)
x2 = −13 + x1 + 3x3 − x4 /9
 
(k+1) (k) (k)
x3 = 15 − 2x1 − x4 /10
 
(k+1) (k) (k) (k)
x4 = 10 − x1 + x2 − x3 /6, k ≥ 1.

Se obtine un sir care converge la

x(9) = (2.000127203, −1.000100162, 1.000118096, 1.000162172).


4.3.2. Metoda iterativa Gauss-Seidel

Aproape similara cu metoda Jacobi, exceptand faptul ca fiecare x se


imbunatateste folosind aproximatia cea mai recenta a celorlalte vari-
abile.

Pentru sistemul n × n, aproximatia k + 1 este:



(k+1) (k) (k)


 x 1 = u12 x 2 + ... + u1n x n + c1
 (k+1) (k+1) (k) (k)


x2 = u21x1 + u23x3 + ... + u2nxn + c2


 ...
 x(k+1) = u x(k+1) + ... + u (k+1)

nn−1 xn−1 + cn ,

n n1 1
aij
cu k = 0, 1, 2, ...; uij = − a , ci = abi , i = 1, ..., n (ca in metoda Jacobi).
ii ii

Forma algoritmica:
i−1 (k) n (k−1)
bi − aij xj −
P P
aij xj
(k) j=1 j=i+1
xi =
aii
pentru i = 1, 2, ...n, si k ≥ 1.

(k) (k−1)

(k)
x − x
− x(k−1)

Criterii de oprire: x < ε, sau < ε, cu ε -precizia

x(k)
ceruta, ε > 0.

Observaţia 6 Deoarece noile valori se pot stoca imediat in locul celor


vechi, cerintele de stocare pentru vectorul x folosind metoda Gauss-
Seidel sunt jumatate fata de cele pentru metoda Jacobi, si rata de
convergenta este mai rapida.

Exemplul 7 Rezolvati sistemul folosind metoda Gauss-Seidel, cu ε =


10−3 si x(0) = (0 0 0 0):


 7x1 − 2x2 + x3 = 17
1 − 9x2 + 3x3 − x4

 x = 13



2x1 + 10x3 + x4 = 15

x1 − x2 + x3 + 6x4 = 10
Sol. Avem

x1 = (17 + 2x2 − x3)/7


x2 = (−13 + x1 + 3x3 − x4)/9
x3 = (15 − 2x1 − x4)/10
x4 = (10 − x1 + x2 − x3)/6,
si
(1) (0) (0)
x1 = (17 + 2x2 − x3 )/7
(1) (1) (0) (0)
x2 = (−13 + x1 + 3x3 − x4 )/9
(1) (1) (0)
x3 = (15 − 2x1 − x4 )/10
(1) (1) (1) (1)
x4 = (10 − x1 + x2 − x3 )/6,
ceea ce conduce la
 
(k+1) (k) (k)
x1 = 17 + 2x2 − x3 /7
 
(k+1) (k+1) (k) (k)
x2 = −13 + x1 + 3x3 − x4 /9
 
(k+1) (k+1) (k)
x3 = 15 − 2x1 − x4 /10
 
(k+1) (k+1) (k+1) (k+1)
x4 = 10 − x1 + x2 − x3 /6, for k ≥ 1.

Substituim x(0) = (0, 0, 0, 0) in partea dreapta si obtinem


(1)
x1 = (17 + 2 · 0 − 0)/7 = 2.428 571 429
(1)
x2 = (−13 + 2.428 571 429 + 3 · 0 − 0)/9 = −1.1746031746
(1)
x3 = (15 − 2 · 2.428 571 429 − 0)/10 = 1.0142857143
(1)
x4 = (10 − 2.428 571 429 − 1.1746031746 − 1.0142857143)/6
= 0.8970899472
adica

x(1) = (2.428571429 − 1.1746031746, 1.0142857143, 0.8970899472).


Procedand similar se obtine un sir care converge la

x(5) = (2.000025, −1.000130, 1.000020.0.999971).


4.3.3. Metoda relaxarii (SOR)

In cazul convergentei, metoda Gauss-Seidel este mai rapida decat


metoda Jacobi. Convergenta se poate imbunatatii folosind metoda
relaxarii (metoda SOR ) (SOR=Succesive Over Relaxation)

Forma algoritmica a metodei:


!
(k) ω i−1 (k) n (k−1) (k−1)
bi − − + (1 − ω)xi
P P
xi = aij xj aij xj
aii j=1 j=i+1
pentru i = 1, 2, ...n, si k ≥ 1.

Pentru 0 < ω < 1 procedeul de numeste metoda sub-relaxarii, care se


poate utiliza pentru a obtine convergenta pentru sisteme care nu sunt
convergente folosind metoda lui Gauss-Siedel.

Pentru ω > 1 procedeul de numeste metoda supra-relaxarii, care se


poate utiliza pentru a accelera convergenta pentru sisteme care sunt
convergente folosind metoda lui Gauss-Siedel.
Prin Teorema lui Kahan se demonstreaza ca metoda converge pentru
0 < ω < 2.

Observaţia 8 Pentru ω = 1, metoda relaxarii devine metoda Gauss-


Seidel.

Exemplul 9 Rezolvati sistemul folosind metoda relaxarii, cu ε = 10−3,


x(0) = (1 1 1) si ω = 1.25,
4x1 + 3x2 = 24
3x1 + 4x2 − x3 = 30
− x2 + 4x3 = −24
Avem
(k) (k−1) (k−1)
x1 = 7.5 − 0.937x2 − 0.25x1
(k) (k) (k−1) (k−1)
x2 = 9.375 − 9.375x1 + 0.3125x3 − 0.25x2
(k) (k) (k−1)
x3 = −7.5 + 0.3125x2 − 0.25x3 , for k ≥ 1.
Solutia este (3, 4, −5).
4.3.4 Formularea matriceala a metodelor iterative

Descompuneti matricea A ca o suma

A = D + L + U,
unde D este diagonala lui A, L este partea triunghiulara inferior a lui
A, iar U este partea triunghiulara superior a lui A. Mai exact,
   
a11 0 · · · 0 0 ··· ··· 0
 0 ... ... ...   a21 ... ... 
D= , L= ,
   
 ... ... ... 0    ... ... ... ... 
0 · · · 0 ann an1 · · · an,n−1 0
 
0 a12 · · · a1n
 ... . . . . . . ... 
U =
 
... ... a 
 n−1,n 
0 ··· ··· 0
Sistemul Ax = b poate fi scris ca

(D + L + U )x = b.
Metoda lui Jacobi in forma matriceala se poate scrie:

Dx(k) = −(L + U )x(k−1) + b


Metoda lui Gauss-Seidel in forma matriceala se poate scrie:

(D + L)x(k) = −U x(k−1) + b
Metoda relaxarii in forma matriceala se poate scrie:

(D + ωL)x(k) = ((1 − ω)D − ωU )x(k−1) + ω b

Convergenta metodelor iterative

Observaţia 10 Convergenta (sau divergenta) procedeelor iterative aso-


ciate metodelor Jacobi si Gauss-Seidel nu depinde de aproximatia ini-
tiala, depinde doar de caracterul matricii. Oricum, aproxiamtie initiala
buna, in cazul convergentei va face ca rezultatul sa se obtina intr-un
numar relativ mic de pasi.
O conditie suficienta de convergenta:

Teorema 11 (Teorema de Convergenta ) Daca A este strict diago-


nal dominanta, atunci metodele Jacobi, Gauss-Seidel si relaxaii converg
pentru orice vector de pornire x(0).

Exemplul 12 Consideram sistem de ecuatii


    
3 1 1 x1 4
 −2 4 0   x2  =  1  .
    
−1 2 −6 x3 2
Matricea sistemului este strict diagonal dominant, deoarece

|a11| = |3| = 3 > |1| + |1| = 2


|a22| = |4| = 4 > |−2| + |0| = 2
|a33| = |−6| = 6 > |−1| + |2| = 3.
Deci metodele interative converg pentru orice alegere a lui x(0).
5. Metode numerice de rezolvare a ecuaţiilor neliniare ı̂n R

The roots of the iterative methods are traced back to Egyptians and
Babylonians (cc. 1800 B.C.).

Example. Kepler’s Equation: consider a two-body problem like a satel-


lite orbiting the earth or a planet revolving around the sun. Kepler dis-
covered that the orbit is an ellipse and the central body F (earth, sun)
is in a focus of the ellipse. The speed of the satellite P is not uniform:
near the earth it moves faster than far away. It is used Kepler’s law to
predict where the satellite will be at a given time. If we want to know
the position of the satellite for t = 9 minutes, then we have to solve
the equation f (E) = E − 0.8sinE − 2π/10 = 0.

Fie f : Ω → R, Ω ⊂ R. Considerăm ecuaţia


f (x) = 0, x ∈ Ω. (3)
Ataşăm acestei ecuaţii aplicaţia:
F : D → D, D ⊂ Ωn.
Fie (x0, ..., xn−1) ∈ D. Folosind F şi numerele x0, x1, ..., xn−1 construim
iterativ şirul
x0, x1, ..., xn−1, xn, ... (4)
cu

xi = F xi−n, ..., xi−1 , i = n, . . . . (5)

Problema constă ı̂n a găsi F şi x0, ..., xn−1 ∈ D astfel ı̂ncât şirul (4) să
fie convergent la soluţia ecuaţiei (3).

Definiţia 13 Procedeul aproximării soluţiei ecuaţiei (3) prin elementele


şirului (4), calculat ca ı̂n (5), se numeşte F -metodă.

Numerele x0, x1, ..., xn−1 se numesc puncte de pornire, iar al k-lea
element al sirului (4) se nuemste aproximatia de ordin k a solutiei.

Un singur punct de pornire ⇒ F -metoda cu un pas.


Mai multe puncte de pornire ⇒ F -metoda cu mai mulţi paşi.

Definiţia 14 Dacă şirul (4) converge la soluţia ecuaţiei (3) atunci F -


metoda este convergentă, altfel este divergentă.

Definiţia 15 Fie α ∈ Ω o soluţie a ecuaţiei (3) şi fie x0, x1, ..., xn−1, xn, ...
şirul generat de F -metoda considerată. Numărul p care are proprietatea
α − F (xi−n, ..., xi)
lim p
= C 6= 0, C = constant,
xi →α (α − xi)
se numeşte ordinul F -metodei.
CURS 11

5. Metode numerice de rezolvare a ecuaţiilor neliniare ı̂n R

Folosirea metodelor iterative este presupusa a avea originile in Egiptul


antic si in Babilon (cc. 1800 B.C.).

Exemplu de ecuatie neliniara. Ecuatia Kepler: consideram ”two-body


problem” (de ex. orbita unui satelit in jurul unei planete, sau a unei
planete in jurul soarelui). Kepler a descoperit ca orbita este o elipsa,
iar corpul central (planeta, resp. soarele) este punctul focal al elipsei.
Viteza satelitului nu este uniforma: aproape de planeta are viteza mai
mare decat dupa ce se indeparteaza. Legea lui Kepler este folosita
pentru a calcula pozitia unui satelit la un anumit moment de timp.
De exemplu, daca dorim sa stim pozitia satelitului dupa t = 9 minute,
trebuie rezolvata ecuatia f (E) = E − 0.8 sin E − 2π/10 = 0.

Fie f : Ω → R, Ω ⊂ R. Considerăm ecuaţia


f (x) = 0, x ∈ Ω. (1)
Ataşăm acestei ecuaţii aplicaţia:
F : D → D, D ⊂ Ωn.

Fie (x0, ..., xn−1) ∈ D. Folosind F şi numerele x0, x1, ..., xn−1 construim
iterativ şirul
x0, x1, ..., xn−1, xn, ... (2)
cu

xi = F xi−n, ..., xi−1 , i = n, . . . . (3)

Problema constă ı̂n a găsi F şi x0, ..., xn−1 ∈ D astfel ı̂ncât şirul (2) să
fie convergent la soluţia ecuaţiei (1).

Definition 1 Procedeul aproximării soluţiei ecuaţiei (1) prin elementele


şirului (2), calculat ca ı̂n (3), se numeşte F -metodă.

Numerele x0, x1, ..., xn−1 se numesc puncte de pornire, iar al k-lea
element al sirului (2) se numeste aproximatia de indice k a solutiei.
Un singur punct de pornire ⇒ F -metoda cu un pas.

Mai multe puncte de pornire ⇒ F -metoda cu mai mulţi paşi.

Definition 2 Dacă şirul (2) converge la soluţia ecuaţiei (1) atunci F -


metoda este convergentă, altfel este divergentă.

Definition 3 Fie α ∈ Ω o soluţie a ecuaţiei (1) şi fie x0, x1, ..., xn−1, xn, ...
şirul generat de F -metoda considerată. Numărul p care are proprietatea
α − F (xi−n, ..., xi)
lim = C ̸= 0, C = constant,
xi →α (α − xi)p
se numeşte ordinul F -metodei.

Construim clase de F -metode bazate pe proceduri de interpolare.

Fie α ∈ Ω o soluţie a ecuaţiei (1) şi V (α) o vecinătate a lui α.


Presupunem că f are inversă ı̂n V (α) , notată cu g := f −1. Cum

f ( α) = 0
rezultă că
α = g (0 ) .
Aproximarea soluţiei α se reduce la aproximarea lui g (0) .

Definition 4 Aproximarea lui g prin metode de interpolare, şi a lui α


prin valoarea lui g ı̂n zero se numeşte procedeul interpolării inverse.
5.1. Metode cu un pas

Fie F o metodă cu un pas, adică, pentru xi dat avem


xi+1 = F (xi) .

Remark 5 Dacă p = 1, condiţia de convergenţă este F ′ (x) < 1.


Daca p > 1 există ı̂ntotdeauna o vecinătate a lui α unde F -metoda


converge.

Toate informaţiile asupra lui f sunt pe un singur punct ⇒ suntem


conduşi la interpolare Taylor.

Theorem 6 Fie α o soluţie a ecuaţiei (1), V (α) o vecinătate a lui α,


f ∈ C m[V (α)] astfel ı̂ncât f ′(x) ̸= 0 pentru x ∈ V (α) şi xi ∈ V (α).
Atunci avem următoarea metodă, notată cu Fm T , pentru aproximarea
lui α:
m−1
X (−1)k
T (x ) = x +
Fm [f (x )] k g (k) (f (x )), (4)
i i k! i i
k=1
unde g este inversa lui f .

Proof. Din ipoteză rezultă că există g = f −1 şi g ∈ C m[V (0)], unde
V (0) = f (V (α)) . Fie yi = f (xi) şi considerăm formula de interpolare
Taylor
 
g (y ) = Tm−1g (y ) + Rm−1g (y ) ,
cu
m−1
1 y − y k g (k) (y ),
 X
Tm−1g (y ) = k! ( i) i
k=0
şi Rm−1g restul corespunzător.

Cum α = g (0) şi g ≈ Tm−1g, rezultă


m−1
X (−1)k

α ≈ Tm−1g (0) = xi + y k g (k) (y ).
k! i i
k=1
De unde,
m−1
X (−1)k
T
xi+1 := Fm (xi) = xi + [f (x )] k g (k) (f (x ))
k! i i
k=1
T este o metodă de aproximare a soluţiei
este o aproximaţie a lui α, şi Fm
α.

T avem:
Relativ la ordinul metodei Fm

Theorem 7 Fie α o soluţie a ecuaţiei (1), f ∈ C m[V (α)], şi f ′(α) ̸= 0.


Dacă g = f −1 satisface condiţia g (m) (0) ̸= 0, atunci ord(Fm
T ) = m.

Remark 8 Avem urmatoarea limita a erorii absolute in aproximarea lui


α cu xi+1

T x ≤ 1 [f x ]m M g, (m)
α − Fm ( i) m! ( i) cu Mmg = sup g (y ) .

m
y∈V (0)

Cazuri particulare.

1) Metoda lui Newton (pentru m = 2), anume

F2T (xi) = xi − ff (x i)
′ (x ) .
i
Metoda lui Newton (numită şi metoda tangentei) este de ordin 2.

2) Cazul m = 3. Se obţine
2
′′ (x )

F3T (xi) = xi − ff (x i) 1 f (xi )
′ (x ) − 2 f ′ (x )
f
f
i
′ (x ) ,
i i i

cu ord(F3T ) = 3. Deci, această metodă converge mai repede decât F2T .

3) Cazul m = 4. Avem
 
2
1 f ′′(xi)f 2(xi) f ′′′ (xi )f ′ (xi )−3[f ′′ (xi )] f 3 (xi )
F4T (xi) = xi − ff (x i)
′ (x ) − ′ 3 + ′ (x )]5
.
i 2 [f (xi)] 3![f i

Remark 9 Cu cât ordinul metodei este mai mare cu atât metoda con-
verge mai repede. Totuşi, un ordin mai mare nu este eficient datorită
calculelor. Din contră, cele mai eficiente sunt metodele cu ordin relativ
mic, datorită complexităţii scăzute (metode cu un pas F2T şi F3T ).
5.1.1. Metoda lui Newton

Meoda lui Newton (metoda lui Newton-Raphson) numita dupa Isaac


Newton (1642–1726) si Joseph Raphson (1648–1715), este un algo-
ritm de gasire a radacinilor unei ecuatii, producand succesiv aproximatii
mai bune la acestora.


Aceasta metoda este atat de eficienta in calcularea lui a, incat este
o alegere si pt codurile moderne de azi.
Cateva comentarii istorice asupra metodei

Acesta metoda se presupune ca a fost folosita chiar si in antichitate


(Babilon si Egipt, 1800 B.C.), unde ar aparea in calcularea radacinii
patrate a unui numar.

Heron a folosit metoda (dedusa prin considerente geometrice) in Grecia


antica, conform dovezilor pastrate.

Metode echivalente sau de tip Newton au fost folosite in India antica


iar apoi de matematicienii arabi.

In rezolvarea problemelor neliniare, Newton (≈1669) si apoi Raphson


(1690) au considerat doar cu ecuatii polinomiale (x3 − 2x − 5 = 0 este
”ecuatia clasica pe care Newton a aplicat metoda sa”). Newton a
considerat si ecuatia lui Kepler x − e sin x = M .

Newton a considerat un procedeu de calculare succesiva a corectiilor,


care au fost adaugate la final pentru a obtine aproximatia finala. El
nu a considerat aproximatii iterative ci un sir de polinoame si doar in
final obtine aproximatia radacinii: fie x0 prima estimare a solutiei α a
n
aixi. Considerand
P
lui f (x) = 0. Scriem g0(x) = f (x), cu g0(x) =
i=0
e0 = α − x0 se obtine descompunerea in jurul lui x0 ca fiind un nou
polinom in variabila e0:
n
ai(x0 + e0)i
P
0 = g0(α) = g0(x0 + e0) =
" # i=0
n i i j
x0e0i−j
P P
= ai = g1(e0).
i=0 j=0 j
Neglijand temenii care au puteri mari ale lui e0 (liniarizand polinomul
g1) se obtine
n n n
i−1
0 = g1(e0) ≈ i i aiixi−1
P P P
ai(x0 + ix0 e0) = aix0 + e0 0
i=0 i=0 i=0
de unde se deduce ca
!, !
n n
e0 ≈ c0 = − aixi0 aiixi−1
P P
0
i=0 i=0
si consideram x1 = x0 + c0. Formal aceasta corectie de poate scrie
c0 = −g0(x0)/g0′ (x0) = −f (x0)/f ′(x0).

Repetand procedeul, se obtine 0 = g1(e0) = g1(c0 + e1) = g2(e1), unde


g2 se calculeaza explicit. apoi e1 ≈ c1 = −g1(c0)/g0′ (c0), corespunzator
lui x2 = x1 + c1.

Raphson a considerat aproximatiile actualizate la fiecare pas (aprox-


imatii successive), un procedeu echivalent cu cel folosit azi. Totusi,
derivatele lui f (care se puteai calcula cu asa numitele ”fluxions” in
acele timpuri) nu apar in formula. Mai mult de un secol, s-a crezut ca
cele dou avariante reprezinta doua metode diferite.

Simpson (1740) a fost primul care a aplicat metoda la ecuatii tran-


scendente, folosind ”fluxions” (care sunt aproape echivalente cu dx/dt.)
Acesta a extins-o la sisteme de ecuatii neliniare de doua ecuatii, ulterior
generalizata la forma uzuala de acum.
Formularea metodei folosind f ′(x) a fost publicata de Lagrange in
1798.

Datorita cartii lui Fourier Analyse des Équations Determinées (1837),


unde Raphson si Simpson nu au fost mentionati, numele metodei a
ramas ”Newton”. Unii autori folosesc denumirea de ”metoda Newton-
Raphson”.

Conform Observaţiei 5, există ı̂ntotdeauna o vecinătate a lui α unde


T este convergentă. Alegând valoarea de pornire x ı̂ntr-o astfel de
Fm 0
vecinătate se poate aproxima soluţia α prin şirul generat de F2T ,

xi+1 = F2T (xi) , i = 0, 1, ...,


cu o eroare dată.

Dacă α este o solutie a ecuatiei (1) and xn+1 = F2T (xn) , pentru eroarea
de aproximare, Observaţia 8 ne dă

α − F2T (xn) ≤ 2
1 [f x ]2 M g.
( n)

2
Lemma 10 Fie α ∈ (a, b) o soluţie a ecuaţiei (1) şi fie xn = F2T xn−1 ,


atunci


|α − xn| ≤ m1 |f (xn)| , m1 ≤ m1f = inf f ( x) .

1 a≤x≤b

Proof. Folosim formula de medie

f ( α ) − f ( xn ) = f ′ ( ξ ) ( α − xn ) ,

cu ξ ∈ intervalului determinat de α şi xn. Din f (α) = 0 şi f (x) ≥

m1,cu x ∈ (a, b) , rezultă

|f (xn)| ≥ m1 |α − xn| ⇔ |α − xn| ≤ m1 |f (xn)| .


1

In aplicaţiile practice următoarea evaluare este mai utilă:


Lemma 11 Fie α ∈ (a, b) o soluţie a ecuaţiei (1) şi fie xn = F2T xn−1 .


Daca f ∈ C 2 [a, b] şi F2T este convergentă, atunci există n0 ∈ N astfel


ı̂ncât
|xn − α| ≤ |xn − xn−1| , n > n0 .

Proof. Folosim formula lui Taylor


  ′  1 2 ′′
f (xn) = f xn−1 + xn − xn−1 f xn−1 + 2 xn − xn−1 f (ξ ) ,
cu ξ in intervalul determinat de xn−1 si xn.

T 
Cum xn = F2 xn−1 , rezulta

f xn−1   ′ 
xn = xn−1 − ′  ⇐⇒ f xn−1 + xn − xn−1 f xn−1 = 0,
f xn−1
deci obtinem
1 2 ′′
f (xn) = 2 xn − xn−1 f (ξ ) .
In consecinta,
1 2
|f (xn)| ≤ 2 xn − xn−1 M2f,
iar Lema 10 implica |α − xn| ≤ m1 |f (xn)| deci
1

1 2
|α − xn| ≤ 2m xn − xn−1 M2f.
1

Cum F2T este convergent, exista n0 ∈ N a.ı̂.


1 |x − x
2m1 n n−1 | M2 f < 1, n > n0 .
De unde,
|α − xn| ≤ |xn − xn−1| , n > n0 .

Remark 12 Valoarea de pornire se alege aleator. Dacă după un număr


fix de iteraţii nu este atinsă precizia dorită, adică nu e ı̂ndeplinită
condiţia |xn − xn−1| ≤ ε, ε > 0 dat, atunci se reface calculul cu o
noua valoare de pornire.
Uneori se foloseste o varianta modificata a metodei Newton: cu valoare
constanta pentru f ′:
f (x )
xk+1 = xk − ′ k , k = 0, 1, . . . .
f ( x0 )
Ea este utila deoarece nu se calculeaza valorile lui f ′ pe xj , j = 1, 2, . . .
(dar ordinul metodei nu mai este 2).

Altă modalitate de obţinere a metodei lui Newton:

Incepem cu presupunerea iniţială x0, suficient de apropiată de rădăcina


α. Următoarea aproximaţie x1 este dată de punctul unde tangenta la
graficul lui f ı̂n f (x0, f (x0)) taie axa Ox. Valoarea x1 este mult mai
apropiată de α decât x0.

Formula pentru metoda lui Newton este


f (xn)
xn+1 = xn − ′ , n ≥ 0, (5)
f (xn)
presupunând că f ′(xn) este diferit de zero.

Se observă că ecuaţia tangentei ı̂n (x0, f (x0)) este

y − f (x0) = f ′(x0)(x − x0).


x1 este abscisa punctului unde această dreaptă intersectează axa Ox,
şi ordonata este y = 0, atunci

−f (x0) = f ′(x0)(x1 − x0),


şi rezolvând ı̂n raport cu x1 se obţine
f (x0)
x1 = x0 − ′ .
f (x0)
Repetând procedeul pentru tangenta ı̂n (x1, f (x1)), se obţine
f (x1)
x2 = x1 − ′
f (x1)
In general, se obţine
f (xn)
xn+1 = xn − ′
f (xn)
α
x2 x1 x0

Algoritmul:

Let x0 be the initial approximation.

for n = 0, 1, ..., IT M AX
f (xn)
xn+1 ← xn − ′ .
f (xn)

A stopping criterion is:



x − x

n+1 n
|f (xn)| ≤ ε or xn+1 − xn ≤ ε or ≤ ε,

xn+1

Example 13 Folositi metoda lui Newton pentru a gasi o radacina a
ecuatiei x3 − x2 − 1 = 0, cu precizia 10−4 si x0 = 1.

Sol. Derivata lui f este f ′(x) = 3x2 − 2x. Luand x0 = 1 obtinem


f (1) = −1 si f ′(1) = 1 deci prima iteratie Newton este
−1
x1 = 1 − = 2 and f (2) = 3, f ′(2) = 8.
1
Urmatoarea iteratie este
3
x2 = 2 − = 1.625.
8
Continuand in acest fel se obtine un sir de aproximatii ce converg la
1.465571.
5.1.2. Metoda iteratiilor de punct fix (metoda aproximatiilor
succesive)

Definition 14 Numarul α se numeste punct fix al functiei g daca


g(α) = α.

Example 15 Sa se gaseasca punctele fixe ale aplicatiei g(x) = x2 −


2x + 2.

Sol. Punctul fix α al lui g are proprietatea α = g(α) = α2 − 2α + 2,


deci 0 = α2 − 3α + 2 = (α − 1)(α − 2), de unde g are punctele fixe
α1 = 1 si α2 = 2.

Geometric, punctele fixe se gasesc la intersectia graficului lui g cu prima


bisectoare (y = x).
Conditii suficiente pentru existenta si unicitatea punctelor fixe:

Theorem 16 1. Daca g ∈ C[a, b] si g(x) ∈ [a, b] ∀x ∈ [a, b], atunci g


are cel putin un punct fix in [a, b]. Pe scurt, daca g : [a, b] → [a, b]
si g ∈ C[a, b] atunci ∃α ∈ [a, b] punct fix.

2. Mai mult, daca exista g ′(x) in (a, b) si

|g ′(x)| < 1, ∀x ∈ (a, b),


atunci punctul fix este unic in [a, b].

Consideram ecuatia
f (x) = 0, (6)
unde f : [a, b] → R. Presupunem ca α ∈ [a, b] este un zero al lui f (x).

Pentru a calcula α, transformam echivalent (6) in forma problemei de


punct fix
x = g(x), (7)
unde g este aleasa astfel ca g(x) = x ⇔ f (x) = 0.

De exemplu, o modalitate imediata este de a scrie x = x+f (x) =: g(x).

Determinarea unui zero pentru f (x) in [a, b] este deci echivalenta cu


gasirea unui punct fix pentru x = g(x) in [a, b].

Forma problemei de punct fix ne sugereaza iteratia de punct fix

x0 − aproximatia initiala , xk+1 = g(xk ) = F (xk ), k = 0, 1, 2, ...,


cu speranta ca (xn) → α.

De exemplu, consideram

f (x) = xex − 1 = 0. (8)


Una din modalitatile de a obtine iteratii de punct fix consta in rear-
anjarea si impartirea ec. (8) prin ex: xex = 1 ⇒ x = e−x, deci
x = g(x) = e−x si deci
xk+1 = e−xk .
cu aproximatia initiala x0 = 0.5 obtinem iteratiile x1 = 0.6065306597,
x2 = 0.5452392119, ..., x8 = 0.5664094527, x9 = 0.5675596343, ...,
x28 = 0.56714328, x29 = 0.56714329

Deci xk apare convergent la α = 0.5671432...

O a doua varianta se obtine din xex = 1 adaugand x la ambii membri:


xex + x = 1 + x ⇒ x(ex + 1) = 1 + x ⇒ x = e1+x
x +1 , deci

1+x
x = g(x) = x .
e +1
In acest caz convergenta este mult mai rapida (din doar trei iteratii
se obtin 10 cifre exacte pentru α) : x0 = 0.5, x1 = 0.5663110032,
x2 = 0.5671431650, x3 = 0.5671432904.

O alta posibilitate este de a scrie x = x + 1 − xex, numai ca iteratiile


pentru aceasta ecuatie nu conduc la convergenta.
In final putem considera ecuatia x = x + xex − 1, care din nou nu
genereaza siruri convergente.

Intrebarea care se pune este: cand converg iteratiile?

Raspuns: cand conditiile Teoremei 16 sunt indeplinite (|g ′(α)| < 1).

Pentru acest exemplu, avem doua cazuri cand |g ′(x)| < 1 si deci algo-
ritmul converge (local) si doua cazuri cand |g ′(x)| > 1 iar algoritmul nu
este convergent.

Un rezultat mai general se obtine din teorema lui Banach.

Definition 17 Un spatiu Banach B este un spatiu normat complet


(peste un camp K=R sau C). ( Complet inseamna ca orice sir Cauchy
este convergent in B.)

Definition 18 Fie A ⊂ B o submultime inchisa si G : A → A. F se


numeste Lipschitz continua pe A daca exista o constanta L ≥ 0
astfel ca ||G(x) − G(y)|| ≤ L ||x − y|| , ∀x, y ∈ A. Mai mult, G se numeste
contractie daca L poate fi aleasa ca L < 1.

Theorem 19 (Teorema de punct fix a lui Banach) Fie A o submultime


inchisa a unui spatiu Banach B, si fie G o contractie G : A → A. Atunci:

a) G are un unic punct fix α, care e solutie unica pentru ecuatia x =


G(x).

b) Sirul xn+1 = G(xn) converge la α pentru orice aproximatie initiala


x0 ∈ A.

c) Are loc estimarea:


Ln−l
||α − xn|| ≤ ||xl+1 − xl ||, 0≤l≤n
1−L
Ln ||x − x ||)
(sau ||α − xn|| ≤ 1−L 1 0

Pentru aplicatii practice se poate folosi urmatoarea estimare.



Lemma 20 Daca F (x) < L < 1, x ∈ V (α) atunci

L
||α − xn|| ≤ ||xn − xn−1||.
1−L

Interpretarea geometrica a metodei: se traseaza graficul y = g(x) si


y = x. Punctele de intersectie ale celor doua functii sunt solutiile
x = g(x). Calculul sirului {xk } pentru o valoare initiala x0 data, xk+1 =
g(xk ), k = 0, 1, 2, ... poate fi interpretat geometric folosind linii paralele
la axele de coordonate:

x0 se traseaza x0 pe axa x
g(x0) paralel cu axa y pana la intersectia cu graficul lui g
x1 = g(x0) paralel cu axa x pana la graficul lui y = x
g(x1) paralel cu axa y pana la intersectia cu graficul lui g
etc.
Cazul convergentei |g ′(x)| < 1.

Cazul divergentei |g ′(x)| > 1.


Cand |g ′(x)| = 1 putem avea, de la caz la caz, fie convergenta, fie
divergenta (de ex. g(x) = x − x3 sau g(x) = x + x3).
CURS 12

5.2. Metode multipas de rezolvare a ecuaţiilor neliniare ı̂n R

Fie f : Ω → R, Ω ⊂ R. Considerăm ecuaţia

f (x) = 0, x ∈ Ω, (1)
Ataşăm o aplicaţie F : D → D, D ⊂ Ωn acestei ecuaţii.

Fie (x0, ..., xn−1) ∈ D punctele de pornire. Construim iterativ şirul

x0, x1, ..., xn−1, xn, ... (2)


cu

xi = F xi−n, ..., xi−1 , i = n, . . . . (3)

Problema constă ı̂n alegerea lui F şi a punctelor x0, ..., xn−1 ∈ D astfel
ı̂ncât şirul (2) să fie convergent la soluţia ecuaţiei (1).
F -metoda se bazează pe metode de interpolare cu mai multe noduri.

Fie α ∈ Ω o soluţie a ecuaţiei (1), fie (a, b) ⊂ Ω o vecinătate a lui α şi


x0, ..., xn ∈ (a, b) valori date.

Notăm cu g inversa lui f , presupunând că există. Deoarece α = g (0) ,


problema se reduce la aproximarea lui g = f −1 prin interpolare, de ex.
Lagrange, Hermite, Birkhoff, etc...

Interpolare inversă de tip Lagrange

Fie yk = f (xk ) , k = 0, ..., n, de unde xk = g (yk ) . Ataşăm formula de


interpolare:
g = Lng + Rng, (4)
cu
n
X (y−y0 )...(y−yk−1 )(y−yk+1 )...(y−yn )
(Lng ) (y ) = g y .
(yk −y0 )...(yk −yk−1 )(yk −yk+1 )...(yk −yn ) ( k )
(5)
k=0
Considerând
FnL (x0, ..., xn) = (Lng ) (0) ,
avem
n
y0 ...yk−1 yk+1 ...yn
FnL(x0, ..., xn) =
X
g y
(yk −y0 )...(yk −yk−1 )(yk −yk+1 )...(yk −yn ) ( k )
k=0
n
X f0 ...fk−1 fk+1 ...fn
= x ,
(f0 −fk ).../...(fn −fk ) k
k=0
cu fk = f (xk ) .

Teorema 1 Dacă α ∈ (a, b) este soluţia ecuaţiei (1), f ′ este mărginită


pe (a, b) , şi este ı̂ndeplinită relaţia

|α − xk | < 1/c, k = 0, ..., n,


cu c =constantă, atunci şirul
L 
xi+1 = Fn xn−i, ..., xi , i = n, n + 1, ...
converge la α.
Observaţia 2 Ordinul ord(FnL) este soluţia pozitivă a ecuaţiei

tn+1 − tn − ... − t − 1 = 0.

Cazuri Particulare.

1) Pentru n = 1, nodurile x0, x1, se obtine metoda secantei


( x1 − x0 ) f ( x1 )
F1L (x0, x1) = x1 − ,
f (x1) − f (x0)
Deci

x − xk−1 f (xk )
xk+1 := F1L xk−1, xk = xk − k

, k = 1, 2, ...
f (xk ) − f xk−1
se obtine folosind aproximatiile anterioare xk−1, xk .

Ordinul metodei este solutia pozitiva a ecuatiei:

t2 − t − 1 = 0,
√ 
1+ 5
adica ord(F1L) = 2 .
O forma modificata a metodei secantei: daca pastram x1 fixat si schim-
bam de fiecare data acelasi nod, adica,
(xk − x0) f (xk )
xk+1 = xk − , k = 2, 3, . . . .
f ( xk ) − f ( x0 )
2) Pentru n = 2, nodurile x0, x1, x2 se obtine
x0 f (x1 )f (x2 ) x1 f (x0 )f (x2 )
F2L(x0, x1, x2) = [f (x )−f (x1 )][f (x0 )−f (x2 )]
+ [f (x1 )−f (x0 )][f (x1 )−f (x2 )]
0
x2 f (x0 )f (x1 )
+ [f (x )−f (x0 )][f (x2 )−f (x1 )]
.
2
Ordinul metodei este solutia pozitiva a ecuatiei:
t3 − t2 − t − 1 = 0,
so ord(F2L) = 1.8394.

Comparand metodele lui Newton si a secantei in raport cu timpul


necesar pentru a gasi o radacina cu o precizie data, avem:

-metoda lui Newton are nevoie de mai multe calcule la un pas: e


nevoie sa se evalueze f (x) si f ′(x). Metoda secantei evalueaza doar
f (x) (presupunand ca f (xprevious) este stocat.)
-numarul de iteratii pentru metoda lui Newton este mai mic (ordinul
ei este pN = 2). Metoda secantei are ordinul pS = 1.618 si avem ca 3
pasi ai acestei metode sunt echivalenti cu 2 pasi ai metodei lui Newton.

- s-a demonstrat ca daca timpul pentru calculul lui f ′(x) este mai mare
decat (0.44× timpul pt calculul lui f (x)), atunci metoda secantei este
mai rapida.

Observaţia 3 Timpul de calcul nu este unicul criteriu in alegerea


metodei! Metoda lui Newton este mai usor de aplicat. Daca f (x)
nu este explicit cunoscuta (de ex., este solutia integrarii numerice a
unei ecuatii diferentiale), atunci derivatele sale se pot calcula numeric.
Daca se considera urmatoarea expresie de calcul numerica al derivatei:
f (xn) − f (xn−1)
f ′(xn) ≈ (6)
xn − xn−1
atunci metoda lui Newton devine metoda secantei.
Alt mod de obtinere a metodei secantei

Punctul x2 este punctul unde se intersectează axa Ox cu secanta ce


leagă punctele de pornire (x0, f (x0)) şi (x1, f (x1)). Punctul x3 este
generat ca intersecţia secantei ce leagă (x1, f (x1)) şi (x2, f (x2)) cu
axa Ox, etc.

Formula pentru xn+1 se obţine considerând x = xn+1 şi y = 0 ı̂n


ecuaţia secantei dintre (xn−1, f (xn−1)) şi (xn, f (xn)):
x − xn y − f (xn) (x − xn)(y − f (xn))
= ⇔ x = xn + n−1 ,
xn−1 − xn f (xn−1) − f (xn) (f (xn−1) − f (xn))
şi avem
" #
xn − xn−1
xn+1 = xn − f (xn) . (7)
f (xn) − f (xn−1)
xn+1 depinde de două elemente anterioare ale şirului. Se dau iniţial x0
and x1 şi se obţin x2, x3, ... .
f(x1 )

x0 x1
x2 x3 α

f(x0 ) f(x2)

Metoda secantei.

Algoritmul:

Fie x0 si x1 aproximatii initiale.

for n = 1, 2, ..., IT M AX
" #
xn − xn−1
xn+1 ← xn − f (xn) .
f (xn) − f (xn−1)
Un criteriu potrivit de oprire este

x − x

n+1 n
|f (xn)| ≤ ε sau xn+1 − xn ≤ ε sau ≤ ε,

xn+1

unde ε este o toleranta specificata.

Exemplul 4 Sa se aplice metoda secantei cu x0 = 1 si x1 = 2 pentru


rezolvarea x3 − x2 − 1 = 0, cu ε = 10−4. Pentru x0 = 1, f (x0) = −1 si
x1 = 2, f (x1) = 3, avand
(2 − 1)(3)
x2 = 2 − = 1.25
3 − (−1)
de unde f (x2) = f (1.25) = −0.609375. Urmatoarea iteratie este
(1.25 − 2)(−0.609375)
x3 = 1.25 − = 1.3766234.
−0.609375 − 3
Continuand in iteratiile in acelasi mod, obtinem approximatia r =
1.4655713.
Alte metode cu mai mulţi paşi

Metoda bisecţiei

Fie f o funcţie dată, continuă pe [a, b], astfel ı̂ncât

f (a)f (b) < 0. (8)


Din Teorema de Medie rezultă că există cel puţin o radăcină a lui f ı̂n
(a, b).

Metoda bisecţiei se bazează pe ı̂njumatăţirea intervalului pană când


rădăcina α este localizată cu precizia dorită.

In primul rand gasim mijlocul intervalului [a, b], c = (a + b)/2 iar apoi
calculam f (c)f (b). Daca produsul e negativ, atunci radacina este in
[c, b] si luam a1 = c, b1 = b. Daca produsul este pozitiv, atunci radacina
este in [a, c] si luam a1 = a, b1 = c. Deci se obtine un nou interval care
contine α.
Algoritm pentru metoda bisecţiei:

Presupunem că f (a)f (b) ≤ 0. Fie ao = a şi bo = b.

for n = 0, 1, ...,ITMAX

c ← an+b
2
n

if f (an)f (c) ≤ 0, set an+1 = an, bn+1 = c

else, set an+1 = c, bn+1 = bn

Procesul ı̂njumatăţirii intervalului continuă pană când rădăcina este


localizată cu precizia dorită, adică

|an − bn| < ε, (9)


unde an şi bn sunt limitele celui de-al n-lea interval [an, bn] şi ε este
precizia dată. Aproximaţia soluţiei va fi an+b
2
n.
|an −bn |
Alte criterii de oprire: |an |
< ε sau |f (an)| < ε.

f(b)

c3
a b
c1 c2

f(a)

Metoda bisecţiei.

Exemplul 5 Functia f (x) = x3 −x2 −1 are un zero in [1, 2]. Vom folosi
algoritmul bisectiei pentru aproximarea unui zero al lui f cu precizia
10−4.
Intrucat f (1) = −1 < 0 si f (2) = 3 > 0, atunci (8) este satisfacuta.
Pornind cu a0 = 1 si b0 = 2, calculam
a + b0 1+2
c0 = 0 = = 1.5 si f (c0) = 0.125.
2 2
Intrucat f (1.5)f (2) > 0, functia schimba semnul pe intervalul [a0, c0] =
[1, 1.5].

Pentru a continua, luam a1 = a0 si b1 = c0; deci


a + b1 1 + 1.5
c1 = 1 = = 1.25 si f (c1) = −0.609375
2 2
Din nou, f (1.25)f (1.5) < 0 astfel ca functia schimba semnul pe [c1, b1] =
[1.25, 1.5]. Mai departe, luam a2 = c1 si b2 = b1. Continuand in acest
fel se obtine sirul (ci)i>0 care converge la 1.465454, solutia ecuatiei.
2. METODA FALSEI POZITII

Aceasta metoda este cunoscuta de asemenea cu numele de regula falsi,


fiind similara cu metoda bisectiei, dar avand avantajul de a fi ceva mai
rapida. Functia trebuie sa fie continua pe [a, b] cu

f (a)f (b) < 0.


Punctul c este calculat ca punctul de intersectie al axei Ox cu dreapta
determinata de punctele (a, f (a)) si (b, f (b)). Din ecuatia acelei drepte
se obtine ca
b−a af (b) − bf (a)
c = b − f (b) = (10)
f (b) − f (a) f (b) − f (a)
Se calculeaza f (c) si se repeta procedura pentru valorile unde functia
schimba semnul, adica daca f (a)f (c) < 0 se ia b = c, altfel a = c.
La fiecare pas se obtine un nou interval care contine solutia, iar sirul
converge la solutie.
f (b)

a b
c1 c2 α

f (a)
f(c1)

Metoda falsei pozitii.

Algoritmul:

Se da functia f continua pe [a0, b0], cu f (a0)f (b0) < 0,

input: a0, b0

for n = 0, 1, ..., IT M AX

−f (an )bn
c ← f (bfn(b)an)−f (an )
n

if f (an)f (c) < 0, set an+1 = an, bn+1 = c else set an+1 = c, bn+1 = bn.
Stopping criterions: |f (an)| ≤ ε or |an − an−1| ≤ ε, unde ε este o toler-
anta specificata.

Observaţia 6 The bisection and the false position methods converge


at a very low speed compared to the secant method.

Exemplul 7 Functia f (x) = x3 − x2 − 1 are un zero in [1, 2]. Folositi


metoda falsei pozitii pentru a aproxima zeroul lui f cu precizie 10−4.

Sol. O solutie se afla in intervalul [1, 2] deoarece f (1) = −1 si


f (2) = 3. Pornind cu a0 = 1 si b0 = 2, folosind (10) gasim
3(2 − 1)
c0 = 2 − = 1.25 and f (c0) = −0.609375.
3 − (−1)
Aici, f (c0) are acelasi semn ca si f (a0) si deci solutia se afla in intervalul
[c0, b0] = [1.25, 2]. Luam apoi a1 = c0 si b1 = b0 si gasim aproximatia
3 − (2 − 1.25)
c1 = 2 − = 1.37662337 si f (c1) = −0.2862640.
3 − (−0.609375)
Acum f (x) schimba semnul in [c1, b1] = [1.37662337, 2]. Astfel luam
a2 = c1 si b2 = b1. Continuand in acest fel iteratiile conduc la aproxi-
matia 1.465558.

Exemplul 8 Sa se compare metoda falsei pozitii, metoda secantei si


metoda secantei pentru rezolvarea ecuatiei x = cos x, luand ca puncte
initiale x0 = 0.5 şi x1 = π/4, respectiv x0 = π/4.

n (a) xn False position (b) xn Secant (c) xn Newton


0 0.5 0.5 0.5
1 0.785398163397 0.785398163397 0.785398163397
2 0.736384138837 0.736384138837 0.739536133515
3 0.739058139214 0.739058139214 0.739085178106
4 0.739084863815 0.739085149337 0.739085133215
5 0.739085130527 0.739085133215 0.739085133215
6 0.739085133188 0.739085133215
7 0.739085133215

Conditia suplimentara din metoda falsei pozitii necesita de obicei un


calcul suplimentar fata de metoda secantei, iar metoda secantei la
randul ei necesita mai multe iteratii decat metoda Newton.
Exemplul 9 Consideram ecuatia x2 − x − 3 = 0. Gasiti urmatoarele
doua iteratii pentru aproximarea solutiei folosind:

a) metoda Newton cu x0 = 0.

b) metoda secantei, metoda falsei pozitii si metoda bisectiei cu x0 = 0


si x1 = 4.
Interpolare inversă de tip Hermite

Fie α o soluţie a ecuaţiei (1), V (α) o vecinătate a lui α şi x0, x1..., xm ∈
V (α). Pentru n = r0 + ... + rm + m, unde rk e ordinul de multiplicitate a
nodurilor xk , k = 0, ..., m, dacă f ∈ C n+1(V (α)) şi f ′(x) ̸= 0 pentru x ∈
V (α), avem urmatoarea metoda de aproximare de tip Hermite pentru
α:

α ≈ FnH (x0, ..., xm) = (11)


mX X k −j
rk rX
(−1)j+ν j+ν 1 )(ν) g (j) (f ),
= (Hng ) (0) = j!ν! f k vk (0)( vk (y) y=fk k
k=0 j=0 ν=0

unde fk = f (xk ), k = 0, ..., m, g = f −1, si

vk (y) = (y − f0)r0+1...(y − fk−1)rk−1+1(y − fk+1)rk+1+1...(y − fm)rm+1.

Se determină polinomul de grad minim ce satisface condiţiile:

(Hng)(j)(yk ) = g (j)(yk ), j ∈ 0, ...rk ; k = 0, ..., m.


Avem
rk
m X
hkj (y)g (j)(yk ),
X
(Hng)(y) =
k=0 j=0
cu
(p)
hkj (yν ) = 0, k ̸= ν, p = 0, ..., rν
(p)
hkj (yk ) = δpj , p = 0, ..., rν
şi formula de interpolare

g = Hng + Rng,
unde Rng este termenul rest.

Considerând
α ≃ g(0) = (Hng ) (0) + (Rng ) (0),
atunci FnH (x0, ..., xm) = (Hng ) (0) este metoda de aproximare a lui α.
Teorema 10 (Informatii egale) Ordinul ord(FnH ) este radacina unica
pozitiva a ecuatiei:
m
tm+1 − (r + 1) tj = 0,
X

j=0
unde r este ordinul de multiplicitate al punctelor xk , ∀k = 0, ..., m.

Teorema 11 (Informatii inegale) Ordinul FnH este radacina unica reala


pozitiva a ecuatiei:

tm+1 − (rm + 1)tm − (rm−1 + 1)tm−1 − .... − (r1 + 1)t − (r0 + 1) = 0,


unde r0, ..., rm sunt numere naturale, permutari ale ordinelor de multi-
plicitate ale nodurilor xk , k = 0, ..., m satisfacand conditiile:

r0 + r1 + ... + rm > 1 (12)


si
rm ≥ rm−1 ≥ ... ≥ r1 ≥ r0. (13)
Observaţia 12 Ordinul metodei de interpolare inversa de tip Taylor
se poate exprima ca solutia ecuatiei

t − (r0 + 1) = 0,
unde r0 este ordinul de multiplicitate al nodului x0.

Cazuri particulare.

1) Pentru nodurile x0, x1; deci m = 1, r0 = 0, r1 = 1, se obţine


următoarea metodă de aproximare:
i2
F2 (x0, x1) = x1 − f (x )−f (x ) (x1 − x0) − f (x f)−f
f (x1 ) (x1 ) f (x0 )
h
H
(x ) f ′ (x ) .
0 1 0 1 1
Ordinul metodei este soluţia pozitivă a ecuaţiei:

t2 − (r1 + 1)t − (r0 + 1) = 0 ⇔ t2 − 2t − 1 = 0,



adică p = 1 + 2.
2) Dacă r0 = r1 = 1, (noduri duble), metoda de aproximare este:
H 3f (x0 )f (x1 )2 −f (x1 )3
F3 (x0, x1) =x1 − (x0 − x1)
[f (x0 )−f (x1 )]3
f (x0 )f (x1 ) f (x1 ) f (x0 )
h i
+ 2 f ′ (x ) − f ′ (x ) .
(x
[f 0 )−f (x1 )] 0 1

Ordinul este soluţia pozitivă a ecuaţiei:


m
tm+1 − (r + 1) tj = 0 ⇔ t2 − 2t − 2 = 0,
X

j=0

adică p = 1 + 3.
Interpolare inversă de tip Birkhoff

Presupunem că α este o soluţie a ecuaţiei (1) şi V (α) o vecinătate


a lui α. Dacă yk = f (xk ), cu xk ∈ V (α), k = 0, ..., m, sunt aproximaţii
ale lui α, rk ∈ N şi Ik = {0, ..., rk } atunci există g (j)(yk ) = (f −1)(j)(yk ),
j ∈ Ik . Se determină polinomul de grad minim ce satisface condiţiile:

(Bng)(j)(yk ) = g (j)(yk ), j ∈ Ik , k = 0, ..., m.


Avem
m X
bkj (y)g (j)(yk ),
X
(Bng)(y) =
k=0 j∈Ik
cu
(p)
bkj (yν ) = 0, k ̸= ν, p ∈ Iν
(p)
bkj (yk ) = δpj , p ∈ Ik
şi formula de interpolare

g = Bng + Rng,
unde Rng este termenul rest.

Considerând

α ≃ g(0) = (Bng ) (0) + (Rng ) (0), (Bng ) (0)


atunci FnB (x0, ..., xm) = (Bng ) (0) este metoda de aproximare a lui α.

Caz particular.

1) Fie x0, x1 ∈ V (α) , I0 = {0}, I1 = {1}, deci n = 1 şi y0 = f (x0) ,


y1 = f (y1) .

Luăm
F1B (x0, x1) = (B1g ) (0),
şi se obţine
B f ( x1 )
F1 (x0, x1) = x1 − ′ .
f ( x0 )
CURS 13

5.3. Metode numerice pentru rezolvarea sistemelor neliniare

Fie D ⊆ Rn , fi : D → R, i = 1, ..., n si sistemul

fi (x1, ..., xn) = 0, i = 1, ..., n; (x1, ..., xn) ∈ D. (1)


Sistemul (1) poate fi scris ca

f (x) = 0, x ∈ D, cu f = (f1, ..., fn ).

5.3.1. Metoda aproximatiilor succesive

Rescriem sistemul (1) ca

xi = ϕi(x1, ..., xn), i = 1, ..., n; (x1, ..., xn) ∈ D


sau
x = ϕ(x), cu x = (x1, ..., xn) ∈ D si ϕ = (ϕ1, ..., ϕn), (2)
unde ϕi : D → R sunt functii continue pe D a.i. pt. orice punct
(x1, ..., xn) ∈ D sa avem (ϕ1(x1, ..., xn), ..., ϕn(x1, ..., xn)) ∈ D.

Considerand punctul initial x(0) generam sirul


x(0), x(1), ..., x(n), ... (3)
cu
x(m+1) = ϕ(x(m) ), m = 0, 1, ...
Daca sirul (3) este convergent si α este limita sa, atunci α este solutia
sistemului (1). Avem
lim x(m+1) = ϕ( lim x(m)),
m→∞ m→∞
adica,
α = ϕ(α).

Convergenta metodei se studiaza folosind teorema Picard-Banach: daca


ϕ : Rn → Rn verifica conditia de contractie
kϕ(x) − ϕ(y)k ≤ l kx − yk , x, y ∈ Rn; 0 < l < 1,
atunci exista un unic element α ∈ Rn, care e solutie a ecuatiei (2) si
care este limita sirului (3). Eroarea de aproximare este:

(n)
ln (1) (0)

α − x ≤ x − x .

1−l

Exemplul 1 Luand x(0) = (0.1, 0.1, −0.1), sa se rezolve sistemul



1
 3x1 − cos(x2x3) − 2 = 0


x2
1 − 81(x 2 + 0.1)2 + sin x + 1.06 = 0 .
3
 e−x1x2 + 20x + 10π−3

= 0

3 3

Sol. Avem
(1) 1 cos(x(0)x(0)) + 1



 x 1 = 3r 2 3 6


(1) 1 (x(0) )2 + sin x(0) + 1.06 − 0.1 ,

x 2 = 9 1 3
(0) (0)

 (1)


x3 = − 20 e1 −x1 x2
− 10π−3
60
si
(m) 1 cos(x(m−1)x(m−1)) + 1



 x 1 = 3r 2 3 6


(m) 1 (x(m−1) )2 + sin x(m−1) + 1.06 − 0.1 .

x 2 = 9 1 3
(m−1) (m−1)

 (m)


x3 = − 20 1 e−x1 x2
− 10π−3
60
Sirul converge la (0.5,0,-0.5236).

5.3.2. Metoda lui Newton pentru rezolvarea sistemelor neliniare

Consideram sistemul (1) scris ca

f (x) = 0, x ∈ D, D ⊆ Rn.
Fie α ∈ D o solutie a acestei ecuatii si x(p) o aproximare pentru ea .
Metoda lui Newton pentru sisteme neliniare:

x(p+1) = x(p) − J −1(x(p))f (x(p) ), p = 0, 1, ... (4)


unde
!
(p) ′ (p) ∂fi (p)
J(x ) = f (x )= (x )
∂xi i, j=1,...,n
este matricea Jacobi.

Daca sirul (x(p))p∈N este convergent iar α este limita sa atunci din (4)
urmeaza ca α este solutia sistemului. Referitor la convergenta sirului
are loc:

Teorema 2 Fie f : D ⊆ Rn → Rn si consideram o norma k·k in Rn .


Daca

- exista o solutie α ∈ D, a.i. f (α) = 0;


- f este diferentiabila pe D, cu f ′ Lipschitz continua, adica ∃L > 0 a.i.

′ ′
f (x) − f (y ) ≤ L kx − yk , ∀x, y ∈ D;

- Jacobianul lui f este nesingular in α: ∃f ′ (α)−1 : Rn → Rn,

atunci exista o vecinatate deschisa D0 ⊆ D a lui α a.i. pentru orice


aproximatie initiala x0 ∈ D0, sirul generat de metoda lui Newton ra-
mane in D0, converge la solutia α si exista o constanta K > 0 a.i.

xk+1 − α ≤ K kxk − αk2 , ∀k ≥ 0.

Exemplul 3 Sa se rezolve sistemul


x3 2
(
1 + 3x2 − 21 = 0
x2
1 + 2x2 + 2 = 0
!
1
folosind x(0) = , ε = 10−6.
−1
Avem
x(p+1) = x(p) − J −1(x(p))f (x(p) ), p = 0, 1, ... (5)
Calculam
3x2
! !
∂ 1 6x2
J(x) = f ′(x) = fi(x) =
∂xi i, j=1,...,n
2x1 2

x3 2 − 21
! !
f1 1 + 3x 2
f = = 2 .
f2 x1 + 2x2 + 2
Avem
x(p+1) = x(p) − J −1(x(p))f (x(p) ), (6)
adica,
! !−1 !
1 3 −6 1 + 3 − 21
x(1) = −
−1 2 2 1−2+2
! ! !
1 0.(1) 0.(3) −17
= −
−1 −0.(1) 0.1(6) 1
si urmeaza ca
!
2.55
x(1) ≈ .
−3.05
!
1.64
Continuand in acest mod se obtine solutia aproximativa
−2.35
6. Metode numerice pentru rezolvarea ecuatiilor diferentiale

Consideram problema Cauchy:

y ′ = f (t, y) (7)
y(t0) = y0
cu f definita pe D = {(t, y) ∈ R2 | |t − t0| ≤ a, |y − y0| ≤ b}, a, b ∈ R+ ,
continua si derivabila.

6.1. Metoda interpolarii Taylor

Fie f ∈ C p(D) si y o solutie a problemei (7). Atasam formula Taylor


de interpolare in y, in raport cu t0:

y = Tpy + Rpy,
unde
t − t0 ′ (t − t0)p (p)
(Tpy)(t) = y(t0) + y (t0) + ... + y (t0),
1! p!
avand termenul rest:
(t − t0)p+1 (p+1)
(Rpy)(t) = y (ξ), ξ ∈ (t0, t). (8)
(p + 1)!
Se cunoaste doar y(t0) = y0 si y ′(t0) = f (t0 , y0) pentru acest polinom,
si avem de calculat y (k)(t0), k = 2, ..., p. Folosind ecuatia (7) obtinem
∂f ∂f ′
y ′′ =+ y , ...
∂t ∂y
s.a.m.d. Luand valorile acestor derivate in t0, aproximatia lui y este
complet determinata.

Notand y (k) = f (k−1), polinomul Taylor poate fi scris ca


(t − t0) (t − t0)2 ′
(Tpy)(t) =y(t0) + f (t0, y(t0)) + f (t0, y(t0)) (9)
1! 2!
p
(t − t0) (p−1)
+ ... + f (t0, y(t0)).
p!

(p+1)
Daca y (t) ≤ Mp+1, obtinem delimitarea erorii:

|t − t0|p+1
|y(t) − (Tp y)(t)| ≤ Mp+1, t ∈ I. (10)
(p + 1)!
Astfel, se demonstreaza urmatoarea teorema:

Teorema 4 Daca f ∈ C p(D) atunci solutia y a problemei Cauchy (7)


poate fi aproximatea prin polinomul Taylor (9) cu eroarea delimitata
prin (10).

Observaţia 5 Dezavantaj: pentru valori mari ale lui p, derivatele f (k) ,


k = 1, ..., p, sunt din ce in ce mai complicat de calculat. In practica
sunt recomandata valori mici ale lui p.

Pentru puncte echidistante ti = t0 + ih, i = 0, ..., N ; N ∈ N; h = b−a


N ,
metoda Taylor de interpolare de ordin n poate fi scrisa ca

yi+1 = yi + hTn(ti , yi), (11)


cu
h ′ hn−1 (n−1)
Tn(ti , yi) = f (ti , yi) + f (ti, yi) + ... + f (ti, yi). (12)
2! n!
Exemplul 6 Sa se aplice metoda Taylor cu ordinele (a) doi si (b) patru,
cu N = 10 pentru problema de valori initiale y ′ = y − t2 + 1, 0 ≤ t ≤ 2,
y(0) = 0.5.

Sol. (a) Pentru metoda de ordin n = 2,


h ′
T2(ti, yi) = f (ti , yi) + f (ti, yi),
2
avem nevoie de prima derivata a lui f (t, y(t)) = y(t) − t2 + 1 in raport
cu variabila t. Intrucat y ′ = y − t2 + 1 avem
d
f ′(t, y(t)) = (y(t) − t2 + 1) = y ′ − 2t = y − t2 + 1 − 2t
dt
deci
h h
T2(ti , yi) = f (ti , yi) + f ′ (ti, yi) = yi − t2
i + 1 + (yi − t2
i + 1 − 2ti )
2 2
h
= (1 + )(yi − t2 i + 1) − hti
2
si
yi+1 = yi + hT2(ti , yi).
Cum N = 10 avem h = 0.2, si ti = 0.2i pentru i = 1, 2, ..., 10. Astfel,
metoda de ordinul doi devine

y0 = 0.5,
h
 
yi+1 = yi + h (1 + )(yi − t2 i + 1) − hti
2
0.2
 
= yi + 0.2 (1 + )(yi − 0.04i2 + 1) − 0.04i
2
si

y(0.2) ≈ y1 = 0.83
y(0.4) ≈ y2 = 1.21
...
(b) Pentru metoda Taylor de ordin patru avem nevoie de primele trei
derivate a lui f (t, y(t)) in raport cu t. Din nou, folosind y ′ = y − t2 + 1
avem
f ′(t, y(t)) = y − t2 + 1 − 2t
′′ d
f (t, y(t)) = (y − t2 + 1 − 2t) = f ′(t, y(t)) = y ′ − 2t − 2
dt
= y − t2 + 1 − 2t − 2 = y − t2 − 2t − 1

′′′ d
f (t, y(t)) = (y − t2 − 2t − 1) = y ′ − 2t − 2
dt
= y − t2 − 2t − 1
deci
h ′ h2 ′′ h3 ′′′
T4(ti, yi) = f (ti , yi) + f (ti, yi) + f (ti , yi) + f (ti, yi)
2 6 24
2 h 2 h2
= yi − ti + 1 + (yi − ti + 1 − 2ti ) + (y − t2 − 2t − 1)
2 6
h3
+ (y − t2 − 2t − 1)
24
h h2 h3 2 h h2
= (1 + + + )(yi − ti ) − (1 + + )(hti )
2 6 24 3 12
h h 2 h3
+1+ − −
2 6 24
iar metoda Taylor de ordin patru este

y0 = 0.5,
yi+1 = yi + hT4(ti , yi), i = 0, 1, ..., N − 1
cu

y(0.2) ≈ y1 = 0.829
y(0.4) ≈ y2 = 1.214
...

Comparand aceste rezultate cu cele obtinute ale metodei lui Taylor de


ordin doi se vede ca cele oferite de metoda de ordin patru sunt net
superioare.
6.2. Metoda lui Euler

Consideram ecuatia (7) si o partitie uniforma a intervalului [a, b]: ti =


t0 + ih, h = b−a
N ; i = 0, 1, ..., N ; N ∈ N∗.

Observaţia 7 Metoda (11), pentru n = 1, adica

yi+1 = yi + hf (ti , yi), i = 0, 1, ..., N


se numeste metoda lui Euler.

Interpretare geometrica: prin metoda Euler, graficul solutiei y se aprox-


imeaza prin linia poligonala unind (tk , yk ), k = 0, 1, ..., (de unde metoda
se mai numeste si metoda liniilor poligonale.

Definiţia 8 O functie f (t, y) satisface conditia Lipschitz in variabila y


pe multimea D ⊂ R2, daca exista o constanta L > 0 cu

|f (t, y1) − f (t, y2)| ≤ L|y1 − y2|,


pentru (t, y1) si (t, y2) din D. Constanta L se numeste constanta Lip-
schitz a lui f .

Teorema 9 Fie y (t) solutia problemei

y ′ = f (t, y ) , a ≤ t ≤ b, y (a) = α,
iar y0, y1, ..., yn aproximatiile generate de metoda Euler cu parametri N,
ti = a + ih, i = 0, ..., N, h = b−a
N .

Presupunem ca f este Lipschitz continua pe D, de constanta L, unde


D = {(t, y ) : a ≤ t ≤ b, −∞ < y < ∞} , adica,

|f (t, y1) − f (t, y2)| ≤ L |y1 − y2| , ∀ (t, y1) (t, y2) ∈ D.
Daca exista o constanta M a.i.

′′
y (t) ≤ M, ∀t ∈ [a, b] ,

atunci
hM  L(ti−a) 
|y (ti) − yi| ≤ e − 1 , i = 0, 1, ..., N.
2L
Algoritmul metodei Euler:

h ← b−a
N

α ← y0

for i = 0, 1, ..., N − 1

yi+1 ← yi + hf (ti , yi)

end

Deci yi este o aproximatie apropiata de y(ti).

Exemplul 10 Sa se aproximeze solutia problemei Cauchy:


y ′(t) = 2t − y
y(0) = −1
pe nodurile echidistante ti = a + ih, i = 0, ..., N ; h = b−a
N , cu a = 0,
b = 1, N = 10, folosind metoda Euler.
1 , f (t, y) = 2t − y si obtinem
Solutie. Avem h = 10
y(0.1) ≈ y1 = y0 + 0.1f (0, −1) = −0.9
y(0.2) ≈ y2 = y1 + 0.1f (0.1, −0.9) = −0.79
...
y10 = 0.348678.

Exemplul 11 Folosind algoritmul lui Euler sa se aproximeze solutia


problemei
y ′ = y − t2 + 1, 0 ≤ t ≤ 2, y(0) = 0.5,
in t = 2 cu h = 0.5.

Sol. Pentru aceasta problema f (t, y) = y − t2 + 1, deci


y0 = y(0) = 0.5;
y1 = y0 + 0.5(y0 − (0.0)2 + 1) = 1.25
y2 = y1 + 0.5(y1 − (0.5)2 + 1) = 2.25
y3 = y2 + 0.5(y2 − (1.0)2 + 1) = 3.375
y(2) ≈ y4 = y3 + 0.5(y3 − (1.5)2 + 1) = 4.4375.
6.3. Metode Runge-Kutta.

Aceste metode sunt determinate prin valorile a1, α1, β1 a.i. a1f (t + α1, y +
sa aproximeze polinomul Taylor, dat prin (12), cu eroare O h2 , adica
eroarea metodei Taylor de ordin doi,
h b−a
T2(t, y) = f (t, y ) + f ′ (t, y ) , h= , N -dat.
2 N
Avem
′ ∂f ∂f
f (t, y) = (t, y) + (t, y) · y ′(t)
∂t ∂t
deci
h ∂f h ∂f
T2 (t, y ) = f (t, y ) + (t, y) + (t, y)y ′(t).
2 ∂t 2 ∂y
Dezvoltand f (t + α1, y + β1) folosind seria Taylor obtinem
∂f ∂f
a1f (t + α1, y + β1) = a1f (t, y ) + a1α1 (t, y) + a1β1 (t, y)
∂t ∂y
+ a1(R1f ) (t + α1, y + β1) .
Prin identificarea coeficientilor termenilor f (t, y ), ∂f
∂t (t, y ) si ∂f
∂y (t, y ) ,
se obtine

a1 = 1
h
α1 =
2
h ′ h
β1 = y (t) = f (t, y ) .
2 2
In (11), pt. n = 2 avem

yi+1 = yi + hT2(ti , yi),


si inlocuind T2 prin a1f (t + α1, y + β1) , se obtine metoda punctului
de mijloc (”the midpoint method”):

y0 = α
h h
 
yi+1 = yi + hf ti + , y + f (ti, yi) , i = 0, ..., N − 1
2 2
Pentru aproximarea prin polinomul Taylor de ordin trei
h ′ h2 ′′
T3 (t, y ) = f (t, y ) + f (t, y ) + f (t, y ) ,
2 6
cea mai potrivita expresie cu patru parametri este

a1f (t, y ) + a2f (t + α2, y + δ2f (t, y )) , (13)


care nu este indeajuns de flexibila pentru a permite identificarea ter-
2 2 h2 f ′′ t, y .
menilor h6 ∂f
 
∂y (t, y ) f ( )
t, y care apar in dezvoltarea 6 ( )

Deci prin expresii de forma (13) pot fi deduse metode de ordin max-
imum doi. Avand 4 parametri este posibil sa se obtina mai multe
metode. Aceste metode se numesc metode Runge-Kutta de ordin
doi:

1 , α = δ = h:
Metoda Euler modificata, pentru a1 = a2 = 2 2 2

hh  i
yi+1 = yi + f (ti, yi) + f ti+1, yi + hf (ti, yi) , i = 0, ..., N − 1
2
1 , a = 3 , α = δ = 2 h:
Metoda lui Heun, pentru a1 = 4 2 4 2 2 3
h 2 2
  
yi+1 = yi + f (ti , yi) + 3f ti + h, yi + hf (ti, yi) , i = 0, ..., N − 1
4 3 3
Metoda punctului de mijloc
h h
 
yi+1 = yi + hf ti + , y + f (ti , yi) , i = 0, ..., N − 1
2 2

Polinomul
  Taylor de ordin trei T3 (t, y ) poate fi aproximat cu eroare
O h3 prin expresii de forma

f (t + α1, y + δ1f (t + α2, y + δ2f (t, y ))) ,


cu 4 parametri pentru a obtine metode Runge-Kutta de ordin trei.
Metode Runge-Kutta de ordin patru (cele mai folosite in prac-
tica):

y0 = α
k1 = hf (ti, yi)
h 1
 
k2 = hf ti + , yi + k1
2 2 
h 1

k3 = hf ti + , yi + k2
 2 2
k4 = hf ti+1, yi + k3
1
yi+1 = yi + (k1 + 2k2 + 2k3 + k4) , i = 0, ..., N − 1.
6
Algoritmul metodei Runge-Kutta de ordin 4:

h ← b−a
N ; y0 ← α

for i = 0, ..., N

k1 = hf (ti , yi)
h 1
 
k2 = hf ti + , yi + k1
2 2 
h 1

k3 = hf ti + , yi + k2
 2 2
k4 = hf ti+1, yi + k3
1
yi+1 = yi + (k1 + 2k2 + 2k3 + k4)
6

end
Pentru datele din Exemplul 10 obtinem urmatorul grafic. (solutia ex-
acta este y(t) = e−t + 2t − 2.)

0.4

exact sol.
sol. with Euler
0.2
sol. with Runge−Kutta ord.4

−0.2

−0.4

−0.6

−0.8

−1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

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