Sunteți pe pagina 1din 41

Cap. 2.

Rezolvarea numerică a ecuaţiilor


2.1. Introducere
Fie X  R şi o funcţie f : X  R . Considerăm ecuaţia:
f (x)  0 . (2.1.)
Dacă funcţia f este un polinom sau dacă în urma unor
transformări ea poate fi adusă la forma polinomială, ecuaţia (2.1) se
numeşte algebrică. În caz contrar o vom numi transcendentă.
Rezolvarea numerică a ecuaţiei date presupune parcurgerea a
două etape şi anume:
a) Separarea rădăcinilor ecuaţiei
În această etapă este necesară determinarea unor subintervale ale
axei reale care să conţină o singură rădăcină a ecuaţiei date.
Separarea se poate face prin metoda şirului lui Rolle, prin
folosirea unui polinom de interpolare care să aproximeze funcţia dată,
rădăcinile acestui polinom fiind considerate ca aproximaţii iniţiale ale
soluţiilor ecuaţiei sau, adeseori, folosind datele problemei practice care a
condus la ecuaţia respectivă.
b) Calculul aproximativ al fiecărei rădăcini reale şi evaluarea
erorii
Considerăm că am determinat un interval (a 0 , b0 care conţine
o singură soluţie reală a ecuaţiei (2.1), notată x R . )
Prin soluţie aproximativă se înţelege orice valoare reală situată
faţă de x R la o distanţă mai mică decât precizia  >0 impusă calculelor,
adică orice valoare x pentru care avem îndeplinită condiţia:
xxR . (2.2)
Există mai multe metode pentru determinarea soluţiilor ecuaţiei
(2.1), cele mai frecvent utilizate fiind prezentate în cele ce urmează.

2.2. Metoda înjumătăţirii intervalului (Bisecţiei)


Considerăm că ecuaţia (2.1) are o singură rădăcină în intervalul
(a 0 , b0 şi că funcţia f este continuă pe acest interval. Această
)
presupunere este valabilă, în condiţiile parcurgerii primei etape, aceea de
separare a unei singure rădăcini într-un anumit interval.
Fie  eroarea admisă pentru soluţia ecuaţiei. Din punct de vedere
grafic, rezolvarea ecuaţiei prin această metodă, este ilustrată în Fig.2.1.
Intervalul iniţial (a 0 , b0 se împarte în două părţi egale prin punctul:
)
a 0  b0
c0  2 (2.3)

f(x)

A0

c0
x
a0 xR b0
a1 b1
B0

Fig.2.1.
Se efectuează apoi produsul f (a 0 )f (c0 ) . Intervalul care conţine
în continuare soluţia se notează (a1 , b1) . Situaţiile care pot apărea sunt
următoarele:
 0, x  (a , c se noteaza a  a , b  c
R 0 0 1 0 1 0
),

f (a 0 
)f ) :  0, x R  c0 (2.4)
(c0
 0, x  (c , b se noteaza a  c , b  b .
 R 0 0 1 0 1 0
),
În situaţia prezentată în grafic avem
f (a 0 )f (c0 < 0. Cu intervalul
)
(a1 , b1 se procedează în mod asemănător.
) Rezultă două şiruri, a n nN crescător (sau constant pe
porţiuni) şi bn  descrescător (sau constant pe porţiuni) soluţia
x R aflându-se în permanenţă în intervalul (a n , bn ) .
Lungimea acestui interval este:

bn  a n 1
 b0  a0 . (2.5)
n
2
Numărul minim de iteraţii nmin se determină funcţie de precizia  impusă
calculelor:
bn  a n
. (2.6)
Rezultă pentru nmin o expresie de forma:
 

nmin  2 log  (2.7)
 b0  a 0 1,

 
unde [] reprezintă funcţia parte întreagă.
Valoarea nmin nu depinde de complexitatea ecuaţiei care se
rezolvă ci numai de lungimea intervalului iniţial şi de precizia  impusă.
Orice valoare cuprinsă în intervalul final (a n , bn poate fi
)
considerată ca fiind soluţie aproximativă pentru ecuaţia dată. De obicei se
consideră
1
x R  (a n  b n
(2.8)
),
2
mijlocul ultimului interval determinat.

2.3. Metoda lui Newton (tangentei)


Considerăm că ecuaţia (2.1) conţine în intervalul (a , b ) o
0 0
singură soluţie x R . Grafic, rezolvarea ecuaţiei prin această metodă este
ilustrată în Fig.2.2. De asemenea, considerăm că pe acest interval
derivatele f' şi f" păstrează semn constant, deci f este strict monotonă şi

f(x)
A0

A1
xR b0
x
x0=a0 x1 x2
B0

Fig.2.2.
nu are punte de inflexiune.
Ea presupune aproximarea soluţiei exacte x printr-un şir de
R
valori x 1 , x 2 ... obţinute prin intersecţia tangentelor duse la graficul
funcţiei f în punctele A0, A1,... cu axa absciselor.
Punctul iniţial x se alege ca fiind una din extremităţile
0

intervalului (a 0 , b0 ) şi anume aceea care îndeplineşte


condiţia:
(2.9)
f (x 0 )f"(x 0 )  0
Această condiţie ne asigură că intersecţia tangentei la grafic cu
axa Ox se va afla în interiorul intervalului iniţial.
Considerăm punctul generic A k (x k , f (x k )) situat pe graficul funcţiei f.
Ecuaţia tangentei în acest punct la graficul lui f este:
y  f (x k )  f '(x k )(x  x k ) . (2.10)
Intersecţia cu axa Ox este punctul xk1 obţinut pentru y = 0:

xk1 f (x k ) k  0,1,2,....
 xk  (2.11)
f ' (x k ;
)
Această expresie este formula iterativă a lui Newton.
Se notează:
f (x)
(x)  x 
f '(x) . (2.12)

Funcţia  se numeşte funcţia de iterare a lui Newton.


Cu noua notaţie, relaţia de recurenţă dată de (2.11) se poate pune
sub forma:
xk1  (xk ),
k (2.13)
0,1,2,...
Pentru a aprecia modul în care se propagă eroarea, se dezvoltă în
serie Taylor funcţia  în jurul punctului x R :

xx (x  x R
(x)  (x R ) '(x R ) "(x R )  (2.14)
R )2
 1!  ...
2!
Ţinând cont de expresia funcţiei  se obţine:
(x R  f (x R )
)x f ' (x R  x R
R )
(2.15)
'(x R )  1 f ' (x )2  f (x )f"(x R )
 0 
R R
f ' (x R )2
Trunchiind după primii trei termeni relaţia (2.14) se obţine pentru
x  xk :

(x k  x R
xk1  (xk )  x R "(x R ). (2.16)
)2

2!
Altfel scris obţinem:

(x k  x R )
x k1  x R  2 "(x R (2.17)
).
2!
Notând k  x k  x R , eroarea de aproximare la pasul k, se
obţine:
2 "(x R )
.   (2.18)
k1 k
2!
Această relaţie arată că eroarea de aproximare evoluează după o
lege pătratică. Metoda lui Newton are deci o viteză mare de convergenţă.
Dezavantajul metodei constă în faptul că în cadrul fiecărui pas
este necesar calculul derivatei funcţiei în punctul respectiv.

2.4. Metoda aproximaţiilor succesive.


Pentru rezolvarea ecuaţiei (2.1) prin această metodă, printr-un
artificiu de calcul se aduce această ecuaţie la forma echivalentă:
x  (x) . (2.23)
Dacă
x R este soluţie pentru ecuaţia (2.1), ea este soluţie şi
pentru ecuaţia (2.23), deci vom avea:
x R  (x R ) . (2.24)
Fie x 0  (a 0 ,
o aproximaţie iniţială pentru soluţia ecuaţiei.
b0 )
Metoda constă în aproximarea soluţiei exacte valori x 1 , x 2 ...,
construit pe relaţia iterativă x R printr-un şir de
xk1  (xk ), k  (2.25)
0,1,2,...
Considerăm că funcţia , derivabilă pe intervalul
(a 0 , b0 )
satisface condiţia:
'(x)    1 ()x  (a 0 , b 0 ) . (2.26)
În aceste condiţii, şirul de iterare definit de relaţia (2.25) este convergent
către soluţia x R a ecuaţiei.
Acest lucru se poate arăta pornind de la relaţia evidentă
xk1  x R  (x )  (x
k R (2.27)
)
şi aplicând teorema lui Lagrange pe intervalul de extremităţi x k şi x R :
xk1  x  (xk )  (x R )  '(k )(x k  x R (2.28)
R
)
unde: k  (x k , x R ).
Ţinând cont de relaţia (2.26) şi înlocuind în (2.28), prin
aplicarea modulului se obţine:
x k1  x R
   x k  x R k  0,1,2,... . (2.29)
Dând lui k valori obţinem: ,

x k1  x R k1
  x0 xR (2.30)
.
Deoarece  < 1, prin trecere la limită se obţine:
lim x k1  x R . (2.31)
k

Funcţia  este continuă iar prin trecere la limită în relaţia de


recurenţă (2.25) se obţine:
lim x k1  ( lim x k (2.32)
)
k k

adică:
x R  (x R ). (2.33)
Rezultă că limita şirului de puncte
x 0 , x1 , x 2 ,... reprezintă
soluţia ecuaţiei.
Această soluţie este unică. Acest lucru se poate arăta
presupunând că pe intervalul (a 0 , b0 ) mai există o soluţie x  pentru care
avem:
x   (x ) . (2.34)

Pe intervalul de extremităţi x R şi x  se aplică teorema lui Lagrange:


x R  x   (x R )  (x )  '()  (x R  x  (2.35)
).
Deoarece
'()  1 rezultă că singura posibilitate de a avea egalitatea
(2.35) este dată de:

x  x R . (2.36)
Rezultă că soluţia ecuaţiei este unică.
Din punct de vedere grafic, rezolvarea ecuaţiei (2.1) prin această
metodă se desfăşoară aşa cum este prezentat în Fig.2.3 şi în Fig.2.4.
y y
y=x y=φ(x) y=x

y=φ(x)

xR x2 x1 x0 x x1 xR x2 x0 x

(a) (b)
0<<1, (Convergenţă)
Fig.2.3.

y y
y=φ(x) y=(x)
y=x
y=x

x1 xR x0 x2 x x1 x0 xR

(a) (b)
>1 (Divergenţă)

Fig.2.4.
Pentru a urmări cum se propagă eroarea în cadrul acestei
metode, se dezvoltă funcţia  în serie Taylor în jurul punctului x R :

xx (x  x R
(x)  (x R ) '(x R ) "(x R )  (2.37)
R )2
 1!  ...
2!
Trunchiind după primii doi termeni şi făcând x  x k
obţinem:

(xk xk  x R
)  x k1  x  '(x R). (2.38)
1!
R

Notând eroarea k  x  x obţinem:


k
R

k1  k '(x R (2.39)


).
Se obţine un grad de convergenţă liniar; eroarea de la pasul
(k+1) este proporţională cu eroarea de la pasul k.

2.5. Metoda secantei (coardei)


Considerăm ecuaţia (2.1) pentru care am separat în intervalul
(a 0 , b0 ) o singură soluţie.
Din punct de vedere grafic, rezolvarea ecuaţei prin această metodă este
ilustrată în Fig.2.5.

f(x)
A0

xR b0
x0 x1
a0

B0

Fig.2.5.
Se unesc punctele A0 şi B0 printr-o dreaptă de ecuaţie:
y  f (a 0
f (b0 )  f (a 0 ) 0) . (2.40)
) b0  a 0  (x 
a
Intersecţia dreptei cu axa Ox (y = 0) ne dă punctul x 0 :
a 0f (b0 )  b 0 f (a 0
x)  (2.41)
0
f (b0 )  f (a 0 )
Punctul x 0 împarte (a 0 , b0 în două subintervale din
intervalul )
care numai unul va conţine în continuare soluţia x R .
Pentru a determina care subinterval conţine soluţia x R se
efectuează produsul:
 0, x R  (a 0 , x 0 se not. a  a , b  x
f (a 0 )f (x ) :  1 0 1 0
. (2.42)
  ), se not. a1  x 0 , b 1  b 0
0
0, x R  (x 0 , b0
),
Cu intervalul
(a1, b1 se reia procedeul descris pentru (a 0 , b0 ) .
)
Rezultă un şir de puncte x1 , x 2 ,…, x n , unde:

a n f (bn )  b n f (a n )
xn  . (2.43)
f (bn )  f (a n )
Aceste două şiruri, a n nN şi b n au o limită comună,
soluţia x R a ecuaţiei. nN
La toate metodele iterative prezentate procedeul de calcul se
opreşte atunci când există un indice n pentru care:
x n  x n1
, (2.44)
 fiind eroarea admisă. Acest test nu ne asigură că am determinat o
valoare aproximativă pentru soluţia situată faţă de valoarea exactă la o
distanţă mai mică decât .
Pentru a fi mai siguri, în această situaţie se consideră o condiţie
de oprire a calculelor de forma:

x n  xn1
 (2.45)
 10.
Cap. 3. Rezolvarea numerică a sistemelor de
ecuaţii liniare
3.3.1. Metoda lui Gauss
Această metodă permite rezolvarea sistemului (3.1) prin
transformarea, în cadrul unui anumit număr de paşi, a matricei pătratice
A a sistemului într-o matrice superior triunghiulară.
Se consideră a11  0 . În caz contrar, se reordonează şi
renumerotează ecuaţiile sistemului astfel încât această condiţie să fie
îndeplinită. Numărul de paşi pentru un sistem de n ecuaţii cu n
necunoscute este (n-1).
Pentru a putea urmări modul în care se efectuează
triunghiularizarea sistemului este necesară descrierea operaţiilor care se
efectuează în cadrul fiecărui pas în parte.
Pasul 1: Elementul a11  0 se numeşte pivot în cadrul acestui
pas, iar ecuaţia "1" care rămâne nemodificată se numeşte ecuaţie de
pivotare. Necunoscuta x1este eliminată din ultimele (n-1) ecuaţii prin

înmulţirea ecuaţiei 1 a sistemului cu rapoartele a


şi scăderea acesteia
i1
din ecuaţia "i", cu i  2, n . a11
Pasul k, k  2, n  1 : Primele k ecuaţii ale sistemului obţinut la
pasul anterior rămân nemodificate.
Ecuaţia "k" este ecuaţia de pivotare iar elementul situat pe
diagonala principală în această ecuaţie este pivotul. Dacă acest element
este nul, este necesară reordonarea şi renumerotarea ultimelor n-(k-1)
ecuaţii ale sistemului de la pasul precedent astfel încât să avem un pivot
nenul, după care se procedează la transcrierea primelor k ecuaţii.
În cadrul acestui pas, necunoscuta x este eliminată din
k
ultimele (n-k) ecuaţii într-o manieră asemănătoare cu cea de la pasul 1.
De această dată, ecuaţia de pivotare se înmulţeşte cu un raport
care are la numărător coeficientul lui x din ecuaţia curentă iar la
k
numitor pivotul din cadrul acestui pas şi se scade din ecuaţia curentă. În
acest fel necunoscuta x este eliminată din ultimele (n – k) ecuaţii.
k
La ultimul pas, (n-1), necunoscuta xn1 este eliminată numai
din ultima ecuaţie a sistemului obţinut la pasul anterior, primele (n-1)
ecuaţii rămânând nemodificate.
Pentru a putea scrie relaţiile de recurenţă care leagă matricele
sistemului la trecerea de la un pas la celălalt, convenim să ataşăm
matricei iniţiale A indicele superior "1", ea devenind:
 
A (1)  a (1) .
ij i, j1,n
(3.9)

Numai elementele care se modifică în cadrul unui pas îşi


indexează indicele superior cu o unitate.
Notăm:

A(k)  x  b(k) (3.10)


forma sistemului înainte de eliminarea necunoscutei x din ultimele (n-
k
k) ecuaţii.
Astfel, pentru k=1 avem:

A(1)  A ; b(1)  b . (3.11)


Pentru k  2, n , elementele matricei A(k) şi a vectorului b(k) se
vor calcula în funcţie de elementele matricelor de la pasul precedent
astfel:


(k1)
a , pentru i  k  1
ij

(k)
a ij  , pentru i  k, j  k  (3.12)
0 1
 (k1) (k1)
 (k1) a i,k1 ak1, j
a ij  , pentru i  jk
(k1)
 a k1,k1 k,
b(k1) , pentru i  k 1
i
 . (3.13)
b(k) a(k1)
i   (k1) i,k1 (k1) pentru i  k
b  b
,
i (k1) k1
a k1,k1

Relaţiile (3.12) şi (3.13) reprezintă de fapt rezultatul înmulţirii în
cadrul pasului (k-1) a ecuaţiei (k-1) a sistemului:

A(k 1)  x  b(k 1) (3.14)


(k 1)
cu raportul a (k 1)
a k 1, k , şi scăzând rezultatul din ecuaţia i, pentru
i, k
1
i  k. Este eliminată astfel necunoscuta xk-1 din ultimele n-(k-1) ecuaţii.
La sfârşitul acestui pas, matricea A(k) şi vectorul termenilor
liberi b arată astfel:
(k)

a (1) (1) (1) (1)


a L a(1) a L a 
 11 12 1,k1 1k 1n 
 0
(2)
a 22 L a (2) a (2) L a (2) 
 2,k1 2k 2n 
 L L L L L L L 
(k1) 
 
(k1) (k1)
A (k) 0 0 L a k1,k1 a k1,k L a k1,n ;
 0 0 L 0 a (k) L a (k) 
 kk kn
 L L L L L L L 

a nn 
(k)
 0 0 L 0 a (k)
nk L
 b1(1) 
 
(2)
 b2 


 L 
b (k)  b(k1) 
 k1 
 b (k)
k 
 
 ⁝ 
 (k) 
 bn  .(3.15)
În tot acest proces am presupus a
(k1) k1,k  0, k  2, n .
În cadrul ultimului pas avem k = n-1, necunoscuta x
n1 este
eliminată din ultima ecuaţie, obţinându-se sistemul echivalent sub formă
triunghiulară:
a(1)x1  a(1)x2  ...  a(1)xk  ...  a(1)xn  b(1)
11 12 1k 1n 1
 a (2) x 2  ...  a (2) x k  ...  a (2) x n  b(2)
22 2k 2n 2
 .............................................................. (3.16)

(k)
 a kk x k  ...  a (k) x n (k)
 kn  bk
..........................................

 (n)
 a nn x  b(n)
n
n
Găsirea efectivă a soluţiei sistemului se face printr-un procedeu
de eliminare inversă aplicat sistemului triunghiular (3.16):
 bn(n)
 n x 
 a (n)
nn

b(n1)  a(n1) x n
 n1 n1,n
xn1  (n1)
a n1,n1
 . (3.17)
............................................
 n
 (k)
bk  (k)
 a kj x j k  n  2, n  3,...2,1
jk1
xk  (k) ,
 a kk

În acest fel se obţine soluţia sistemului.

3.3.2. Metoda Gauss-Jordan


Această metodă permite rezolvarea sistemului (3.1) prin
transformarea sa într-un sistem echivalent a cărui matrice este diagonală.
Rezolvarea presupune parcurgerea a n paşi.
În cadrul pasului generic Pk se transcrie numai ecuaţia având
indicele k din sistemul de la pasul anterior. Necunoscuta x k este
eliminată din toate celelalte (n-1) ecuaţii, printr-un procedeu asemănător
celui de la metoda lui Gauss.
Matricea sistemului va purta la finele fiecărui pas un indice
superior egal cu numărul pasului care urmează. În cadrul fiecărui pas
toate elementele matricei sistemului îşi indexează indicele superior cu o
unitate.
Relaţiile de recurenţă ce permit trecerea de la matricea A(k-1) la
matricea A(k) pot fi scrise mai uşor dacă se evidenţiază, pe elementele
matricei A(k-1) operaţiile care se execută, aşa cum este prezentat în
(3.18):

A(k1) : Coloanele

k-1 j

Linia (k-1) rămâne


1)
k-1 a (k 1)
k1,k 1 a (k
k 1, j
Liniile
 nemodificată
(k 1)
i a 1) (k
i, k 1
a i, j
(3.18)
Coloane
modificate
Primele (k-2) Coloana (k-1) va avea zerouri
coloane rămân (k1)
nemodificate a
în afara elementuluik1,k1

Ele au forma:
 a(k1)a(k1) i  k 1
a(k)  a(k1)  i,k1 k1, j , pentru
(k1)

ij ij a k1,k1 j  k 1
(k) (k1)
 k1,  k1, j , pentru j  k (3.19)
j
a (k) a (k1)
 1
aij  a pentru j  k  2
ij


şi respectiv:

a (k1) pentru i  k  1
b(k)  b(k1)  i,k1  b(k1)
, i i (k1) k1
 a k1,k . (3.20)
 1
(k) (k1)
b b
 k1 k1
În final se obţine un sistem diagonal de forma:

a (n1) L L L
x1  b
(n1)

11 1
 (n1)
a 22 x 2 L L  b (n1) . (3.21)
 2
 L L L L
 a (n1) (n1)
 bn
 nn x n

Soluţia sistemului este evident dată de relaţiile:


(n1)
bi
x i  (n1) , pentru i  1, n . (3.22)
a ii
Metoda Gauss-Jordan permite şi calculul matricei inverse A-1 dacă se
procedează în felul următor:
- se formează o matrice de dimensiuni n(2n+1) compusă din:
 pe primele n coloane matricea A;
 pe următoarele n coloane matricea I n ;
 pe ultima coloană vectorul b;
- se aplică procedeul de rezolvare dat de metoda Gauss-Jordan numai că
operaţiile descrise pentru matricea sistemului se extind asupra întregii
matrice de dimensiuni n(2n+1).
Se efectuează aceste operaţii până când în locul matricei A apare
matricea diagonală.
Ultima operaţie care se efectuează asupra acestei matrice extinse
este aceea de a împărţi fiecare linie la elementul situat pe diagonala
principală a matricei de pe primele n coloane. Ca urmare, în locul
matricei diagonale cu elemente oarecare ce se află pe primele n coloane,
vom obţine matricea unitate In . Pe următoarele n coloane vom obţine
matricea inversă A-1 iar pe ultima coloană, a (2n+1) - a, vom obţine chiar
soluţia sistemului.
Sintetic, metoda poate fi descrisă astfel:

A⁝I n ⁝b  I n ⁝A 1 ⁝x 
x fiind soluţia sistemului cu componentele xi , i  1, n .

3.4.1. Metoda iterativă Jacobi


Se consideră sistemul de ecuaţii (3.1), pentru care avem
îndeplinită condiţia:
a ii  0,
i  1, n . (3.48)
Rezolvarea sistemului prin metoda Jacobi începe prin a pune în
evidenţă în partea stângă a semnului egal a necunoscutei x din ecuaţia i:
i

x1  b1  a12x 2  ...  a1n xn  a11



x2
 b2  a a  ...  a 2n  a . (3.49)
21x1 23x3 xn 22

................................

 x n  b n  a n1x1  a n 2 x 2  ...  a n, n 1x n 1  a nn

Pentru uşurinţa scrierii se trece la forma matriceală, notând:
 a12 a1n   b1 
 0 a11 L a11   
 x1   a11 
 a 21 a 2n   
x  b2 
A  0  2   22  .
a  L ;
a 22  x 
(3.50)
22
  ; u a 
 L L L L  ⁝   ⁝ 
 an1 a n2 xn 
a a nn L 0 
   bn 
nn 

a 
   nn 
Sistemul se scrie sub forma:
x  Ax  u . (3.51)
Metoda Jacobi constă în faptul că pune sistemul (3.51) într-o
formă ce permite calculul iterativ:

x(k1)  Ax(k)  u (3.52)


pornind de la o aproximaţie iniţială x a soluţiei sistemului.
(0)

În practică, este mai utilă scrierea relaţiei de recurenţă


referitoare la componente:

(k1) 1  
n 
xi   b i   a ij x j
(k) k
0,1,.... (3.53)
a , i  1,
n,
ii  j1 
 ji 
Pentru stabilirea condiţiilor în care algoritmul metodei Jacobi
converge, se dau valori lui k în (3.52):

x(1)  Ax(0)  u

x(2)  Ax(1)  u  A 2 x (0)  (A  I)u


. (3.54)
.........................
x (k)  A k x(0)  (Ak1  ...  A  I)u
Se poate demonstra că dacă toate valorile proprii ale matricei A
sunt mai mici decât unitatea, în modul, seria matriceală este convergentă
şi are suma:
I  A  A 2  ...  A k  ...  (I  A) 1 . (3.55)
Condiţia de convergenţă a metodei Jacobi cere ca:
lim A k  0 . (3.56)
k

Dacă această condiţie este îndeplinită, notând


x  lim x(k) (3.57)
k

şi trecând la limită în (3.54), ţinând cont de relaţia (3.55) se poate scrie:


x  0  (I  A) 1 u
(3.58)
adică, după înmulţirea la stânga cu (I-A),
x  Ax  u . (3.59)
Rezultă că vectorul x dat de relaţia (3.57) reprezintă chiar soluţia
sistemului.
Dar, condiţia ca toate valorile proprii ale matricei A să fie mai
mici decât unitatea în modul, cere ca:
n
a ij
 a ii  i  1, n . (3.60)
j1
ji 1,
Relaţia (3.60) reprezintă pentru metoda
condiţie necesară de convergenţă. iterativă Jacobi o
În matricea sistemului iniţial, trebuie ca fiecare element de pe
diagonala principală, în modul, să fie mai mare decât suma modulelor
celorlalte elemente din linia respectivă. Este posibil ca sistemul, în forma
sa iniţială să nu respecte această condiţie necesară de convergenţă.
Înainte de a începe aplicarea algoritmului metodei, este necesară o
reordonare şi renumerotare a ecuaţiilor în sistem astfel încât condiţia de
convergenţă să fie îndeplinită.
Sistemele pentru care se pretează metoda Jacobi au matricea
diagonal dominantă.

3.4.2. Metoda Gauss-Seidel şi metoda relaxării


Această metodă de rezolvare este asemănătoare cu metoda
iterativă Jacobi, ea putând fi aplicată doar sistemelor care îndeplinesc
condiţia de convergenţă dată de relaţia (3.60).
Etapele de calcul presupun evidenţierea în partea stângă a
semnului egal a necunoscutei x i din ecuaţia i:
 
1  n 
xi  b i   a ij x j  ; aii  0, i  1, (3.61)
a n
ii  j1 
 ji 
În contrast cu metoda Jacobi, care nu foloseşte în calculul lui
x(k1) decât componente ale vectorului x , relaţia (3.53), metoda
(k)

Gauss-Seidel foloseşte pentru determinarea diferitelor componente ale


vectorului x(k1) atât componente ale vectorului de la pasul anterior x (k)
cât şi componente ale vectorului din pasul prezent x(k1) , pe măsură ce
acestea au fost determinate, accelerând astfel convergenţa procesului.
Astfel, pentru calculul lui x (k 1) , se folosesc componentele noi
i
x (k 1) , x (k 1) ,..., x (k 1) , deja calculate în cadrul acestui pas, cât şi
1 2 (k)i1 (k)
componentele x ,x ,
..., x (k) de la pasul anterior, necalculate încă
i1 i2 n
în pasul prezent.
În aceste condiţii, relaţia de recurenţă pentru metoda Gauss-
Seidel este de forma:
(k 1) 1  i1
(k 1)
n
(k)

b  a x   a ij x j  .
xj i 
a ii 
i  ij 
(3.62)
 j1 ji1 
Se apreciază că, la acelaşi nivel de precizie impus în calculul
soluţiei sistemului, metoda Gauss-Seidel este de două ori mai rapidă
decât metoda Jacobi.
Această metodă poate fi modificată în continuare pentru sporirea
vitezei de convergenţă a şirului iteraţiilor. Pentru aceasta, se scrie relaţia
de recurenţă sub forma:
x(k1)  x (k)  r (k) i  1, (3.63)
, n
i i i

unde
r (k) , numit reziduu, reprezintă diferenţa dintre două iteraţii
i
succesive calculate pentru x i :
r (k)  x(k1)  x (k) i  1, n . (3.64)
,i i i

Metoda iterativă definită prin algoritmul


x(k1)  x (k)  r (k) , i  1, (3.65)
n
i i i

este cunoscută sub numele de metoda relaxării. Parametrul de relaxare 


se alege astfel încât să crească viteza de convergenţă.
În general,   (0,2). Pentru  = 1 se regăseşte metoda Gauss-Seidel. De
obicei, atunci când   (1,2) metoda este utilizată pentru accelerarea
convergenţei iar pentru   (0,1) se poate încerca obţinerea convergenţei
procesului iterativ pentru un sistem la care condiţia de convergenţă este,
la limită, neîndeplinită.
Factorul de relaxare  poate fi acelaşi pentru întregul sistem sau
poate să difere de la o componentă la alta, în funcţie de "orientarea"
utilizatorului.
Pentru metodele de rezolvare prin tehnici iterative este necesar
să se impună un nivel de precizie  > 0 în obţinerea soluţiei.
Oprirea calculelor se poate face atunci când valorile pe
componente în cadrul a două iteraţii succesive sunt “suficient de
apropiate”.
Se pot utiliza două criterii:

max x(k1)  x (k)  (3.66)



i i
i
sau
(k1) (k)
max xi  xi   . (3.67)
i x i(k1)

Pentru sistemele de mari dimensiuni este incomod a se efectua


aceste teste. Este mai comod a se evalua cantităţi de forma:
n 
n

x (k1)  1/2
2 
 
sau 
 i i
i1 ix
(k 1
i x
(k) 
i1 

5.1.1. Polinomul de interpolare Lagrange


Considerăm că funcţia f este cunoscută pe baza unui ansamblu
de valori într-o reţea de noduri x 0 , x1,..., nu neapărat echidistante:
xn

yi  f (x i ),
i  0, n . (5.15)
Se pune problema determinării unui polinom de grad n, de
forma:
Ln (x)  y00 (x)  y11 (x)  ...  y n  n (x)
(5.16)
care să coincidă cu funcţia f în nodurile de interpolare:

L n (x i )  f (x i )  yi
, i  0, n . (5.17)
Funcţiile 0 , 1,...,
sunt polinoame de grad n ce urmează a fi
n
determinate, y0 , y1,..., fiind valorile funcţiei în punctele x 0 , x1,..., x n .
yn
Relaţiile (5.17) pot fi puse sub forma:
n

 y k k (xi )  yi i  0, n . (5.18)
,
k0

Ansamblul de relaţii (5.18) poate fi satisfăcut dacă:


k (x i ik
0, . (5.19)
)  1, ik

Polinomul k se anulează în toate punctele
x i , i  k , deci este
de forma:
n
k (x)  a k  (x  x i ), k  0, n . (5.20)
i0
ik

Determinarea coeficientului a
k se poate face din condiţia

k (x k )  1
(5.21)
provenită din (5.19), rezultând pentru k
o expresie de forma:
n
x  xi
, k  0, n .
 k (x)  
i0 x k  x i
(5.22)
ik

În aceste condiţii, polinomul Lagrange capătă forma:

n n
x  xi
Ln (x)  yk  . (5.23)
x x
k 0 i0 k i
ik

5.1.1.1. Polinomul de interpolare Newton de speţa I


Acest tip de polinom foloseşte diferenţele finite la dreapta.
Se pune problema determinării unui polinom care să coincidă cu funcţia f
în nodurile reţelei echidistante.
Acest polinom se consideră de forma:
N d (x)  c0  c1 (x  x 0 )  c2 (x  x 0 )(x  x1 )
n (5.61)
 ...  c n (x  x 0 )(x  x1 )...(x  xn1 )
Determinarea coeficienţilor c0 ,
se face impunând condiţia:
c1,...,cn

N d (x i
n )  f (xi )  yi , i  0, n . (5.62)
În relaţia (5.61) se dau pe rând lui x valorile x 0 , x1,..., x n .
Rezultă:
c0  y0
y1  y0 y0
c1 
h  1!h

y 2  2y1  y0 2
. (5.63)
h 
y0
2!h 2
n y0

c2 

.........
cn 
n!hn
În aceste condiţii, expresia polinomului devine:
y0  y0
2

N dn (x)  y 0  (x  x 0 )(x  x1)


1!h (x  x 0 )  (5.64)
2 2!h 
 y0
n

 ...  (x  x 0 )(x  x1 )...(x  xn1 ).


n
n!h
Coeficienţii
y0 , y0 ...n y0 se iau din tabelul (5.55) de pe latura de sus.
Expresia acestui polinom poate fi pusă sub formă mai comodă
pentru aplicaţii care să nu depindă în mod explicit de nodurile reţelei de
interpolare, dacă se notează:
xx0
t . (5.65)
h
Atunci:
(x  x 0 )(x  x1)...(x  x k 1)
1)), h k  t(t  1)...(t  (k 
k  1, n . (5.66)
Rezultă pentru polinom expresia:

N d (x 0
n  th)  y0  ty0  t(t  1) 2  ...
y0  (5.67)
2!
t(t  1)...(t  (n  1)) n
 n!  y0 .
Dacă se doreşte interpolarea într-un punct oarecare x diferit de
noduri, se calculează t şi apoi se evaluează N d (x  th) cu (5.67). Acest
0 n
tip de polinom de interpolare se utilizează de obicei pentru aproximarea
funcţiei f într-un punct x situat în vecinătatea punctului x 0 .

5.1.1.2. Polinomul de interpolare Newton de speţa a II-a


Acest tip de polinom utilizează diferenţele finite la stânga. Modul de
construcţie al polinomului este oarecum asemănător.
Se porneşte de la:
Ns (x)  c0
n  c (x  xn )  (x  xn )(x  n1 ) (5.68)
1 c2 x 
 ...  c n (x  x n )(x  xn1 )...(x  x1 ).
Se impune condiţia de coincidenţă a polinomului cu funcţia în nodurile
de interpolare:
N s (x i
n )  f (xi )  yi , i  0, n . (5.69)
Se dau pe rând lui x valorile
x n , xn1,..., x 0 pentru determinarea
coeficienţilor c0 , c1,...,cn :

c0  y n
y  yn1 yn
1 c  n 
h 1!h . (5.70)
.........

cn n yn
 n!hn

Polinomul are deci forma:


yn  2 yn
Nsn (x)  y n  (x  x n ) (x  x n )(x  xn1 )
1!h 2!h 2 (5.71)
 
 ...   n yn
(x  x n )(x  xn1 )...(x  x1 ).
n!hn
Coeficienţii
y n , yn ,...,  n se iau din tabelul (5.59) de pe
latura de jos.
yn
Şi această expresie a polinomului poate fi pusă într-o formă care
să nu depindă în mod explicit de nodurile reţelei de interpolare, dacă se
notează:

x  xn . (5.72)
t h
Se obţine:
Ns (x  th)  y  y 
n t t(t  1)  ...
n n nn
  y n 1! 2
 yn (5.73)
2!
t(t  1)...(t  (n  1)).
n!
Acest polinom se utilizează de obicei pentru aproximarea
funcţiei f într-un punct x situat în vecinătatea punctului x n .
6.1. Derivarea numerică folosind interpolarea cu
diferenţe finite
Se consideră că funcţia f este aproximată printr-un polinom
Newton, de speţa I, de forma:
y0 2y0
f (x)  Pn (x 0  th)  y0  t  t(t  
1! 1) 2!
3y0 (6.25)
ny0

t(t
2)  1)(t   ...  t(t  1)L(t  (n  1))
3! n!
unde:
x  x0
t h  xi1  x i , i  0, n  1 . (6.26)
h ,
Se poate scrie că:
df
f ' (x)  1 df
df dt   . (6.27)
 
dx dt dx h dt

Efectuând produsele în (6.25) şi ţinând cont de (6.27) rezultă:


 2t  1 2 3t2  6t  2 3 
f ' (x)   y   y0   y0   (6.28)
1h  0 2!4t3  18t2  22t3! 
6 4
   y 0 ....
 

4!
Derivând din nou relaţia (6.27) se obţine:
df ' 1 df ' (x)
f"(x)   . (6.29)
dx h dt
Calculând obţinem:
1 2 6t2  18t  11 
3 4
f"(x)   y0 ..... (6.30)
2  y0  (t  1) y0 
h  12 
Se poate proceda în continuare pentru creşterea ordinului de derivare.
Interesant este faptul că determinarea derivatelor în nodurile
reţelei de interpolare simplifică relaţiile date de (6.28) şi (6.30) astfel:
Pentru x  x0 , t  0 , obţinem:

f ' (x 0 ) 
1  2y0 3y 4
y

y  0 0  .....
h 0 2  3  4 
.
1  11  (6.31)
f"(x )   2y  3y  4y  ...
0 2  0 0 0 
h 12  
Pentru x  x1 , t  1, rezultă:
1 2y0 1 3 1 4 
f ' (x1)   y    y0   y0 .....
h 0 2 3 
  . (6.32)
1 1 
f"(x )   2y  4y  ...

2 
1 0 0
h 12 
Pentru determinarea erorilor de aproximare a derivatelor, se
consideră eroarea de aproximare a funcţiei f prin polinom algebric de
grad n de forma:
R n (x)  f (x)  Pn (x) . (6.33)
Derivând, rezultă:
R'n (x)  f '(x)  P'n (x) . (6.34)
Se consideră R n (x) de forma:

R n (x)  (x  x0 )(x  x1)L(x  x n ) f (n1) ()


(6.35)
(n  1)!
sau încă, ţinând cont de expresia lui t:
n 1 (n 1)
R n (x 0  th)  t(t 1)L(t  n) h f (6.36)
()
unde: (x 0 , xn ) . (n 1)!
Derivarea se face tot prin intermediul lui t:
' 1 dR n (x) d
h n f (n 1)
()
(6.37)
R n (x)   [t(t 1)L(t  n)] (n 1)!
h dt dt
Şi expresia (6.37) se simplifică dacă se face calculul în nodurile reţelei:
Pentru x  x0 , t  0 ,

R n' (x 0 )  (1) h n f (n1) () (6.38)


n n1
deoarece
d
t(t  1)L(t   (1)n n! . (6.39)
n)
t0
dt
În acelaşi mod se poate determina ' "
(x 1 ) sau R (x ) ,..., în cazul
Rn 0 n
calculului derivatelor de ordinul II în nodurile reţelei. Se poate raţiona în
mod asemănător în cazul aproximării funcţiei f printr-un polinom de
interpolare Newton de speţa a II-a.
Pentru celelalte tipuri de aproximări ale lui f există metode de
lucru care permit determinarea diverselor derivate ale lui f prin calcul
numeric, numai că frecvenţa lor de utilizare este mai redusă.

7.1. Formulele de cuadratură numerică Newton-Cotes


Rezultatele obţinute pentru coeficienţii Ak
pot fi particularizate
pentru polinoame Lagrange construite pe noduri echidistante.
Se întâlnesc două situaţii distincte:
a) Dacă
a  x 0
 (7.15)
b  x 0  (n 
1)h

deci dacă a şi b nu fac parte din reţeaua de noduri x1, x2 ,..., xn ,


formulele sunt de tip deschis.
b) Dacă
a  x1
 (7.16)
b  x 0  nh 
xn
deci dacă a şi b fac parte din reţeaua de noduri, formulele sunt de tip
închis.
Aceste două situaţii pot fi reunite într-o scriere generală de
forma:
a  x0  (1  𝑙)h

b  x 0  (n  𝑙)h (7.17)

unde pentru
de tip închis. 𝑙  1 se obţin formulele de tip deschis iar pentru 𝑙  0 cele
Eliminând x 0 între cele două relaţii din (7.17) rezultă:

ba
h  n  2𝑙  1
. (7.18)
Se consideră polinomul Lagrange de grad (n-1) construit pe ansamblul de
noduri echidistante x1, x2 ,..., pe baza polinoamelor:
xn
n
x  xi

k (x)   . (7.19)
i1 k  xi
ik x

Dacă se face schimbarea de variabilă x  x0  th , rezultă:

nk (t  1)(t  2)L(t  n)


 k (t)  (1) (t  k)(k  1)!(n  k)! (7.20)
Considerând funcţia pondere p(x) 1, folosind (7.13) obţinem:
(1)nk n 𝑙
ba  (t 1)(t  2)L(t  n)
Ak    (t 
dt . (7.21)
(k 1)!(n  k)! n  2𝑙 1𝑙
k)
1
Se notează:
n𝑙
(n) (1)nk (t 1)(t  2)L(t  n)
I k𝑙   dt . (7.22)
(k 1)!(n  k)!(n  2𝑙 1𝑙 (t 
1) k)
Rezultă atunci:

(n)
A k  (b  a)I k𝑙 . (7.23)

Coeficienţii (n)
I k𝑙 poartă numele de coeficienţii Newton-Cotes şi au
următoarele proprietăţi:
 nu depind de intervalul pe care se face integrarea şi nici de
funcţia de integrat. De aceea, ei pot fi tabelaţi şi utilizaţi pentru orice
funcţie şi orice interval;
 sunt simetrici faţă de mijlocul intervalului;
 suma acestor coeficienţi este egală cu 1, această proprietate fiind
utilă şi pentru verificarea calculelor, deci
n

 I k𝑙(n)
1. (7.24)
k1

Pentru evaluarea restului formulelor de cuadratură Newton-Cotes se


foloseşte expresia:
b

R n (f )   R n1 (x, f p(x)  1. (7.25)


)dx,
a

Dacă n este impar, atunci:


b
f (n1) ()
R n (f )  (7.26)
(n   x(x  x1 )(x  x2 )L(x  xn
1)! )dx
a

iar pentru n număr par:


f (n) () b

R n (f )  (7.27)
n!
)dx
 (x  x1 )(x  x2 )L(x  xn
a
unde (a,b).

7.2. Formulele trapezelor


Aceste formule de cuadratură numerică se obţin prin particularizarea lui
n în formulele lui Newton-Cotes şi folosind formule de tip închis şi
deschis.
 n = 1, 𝑙  1, formulă de tip deschis:
ba ab
h2 ; x1  . (7.28)
2
Singurul nod de calcul este punctul
x1 . Acest nod este un punct interior
intervalului [a,b].
Se calculează coeficientul Newton-Cotes:
I(1)  1; A1  (b  a)  I(1)  (b  a). (7.29)
11 11

Rezultă:
~ ab
I  A1f (x1)  (b  a)  f . (7.30)
 2 

Relaţia dată de (7.30) poartă numele de "a doua formulă a trapezelor".
Restul acestei formule, după (7.26), are expresia:
f ''() b (b  a)3 ''
f () (7.31)
R1(f ) 
2!  x(x  x1)dx 24

a

 n=2, 𝑙  0 , formulă de tip închis:


h  (b  a);
x1  a; x2  b . (7.32)
În acest caz avem două noduri, punctele
x1 x 2 , extremităţile
intervalului [a,b].
şi
Coeficienţii Newton-Cotes vor fi:
2
(2) 1 ba
I10   (t  2)dt 
 2
; A1 
2 (7.33)
1
(2) 2 1 ba
I20  A2 
 (t  1)dt 
2 2
;
1

Formula de cuadratură este:


2
~
I  A k f (xk ) b
 (f (a)  f (b)) . (7.34)
 a2
k1

Această formulă, dată de (7.34), se numeşte "prima formulă a


trapezelor".
Restul formulei este, în acest caz, după (7.27):
f '' () b (b  a)3 ''
f () . (7.35)
R 2 (f ) 
2!  (x  a)(x  b)  12

a

Aceste formule de cuadratură, aplicate o singură dată pentru întregul


interval, conduc la erori mari de aproximare.
Pentru creşterea preciziei se îmbunătăţeşte prima formula a
trapezelor prin împărţirea intervalului [a,b] în n subintervale egale, prin
punctele echidistante a  x0 , x1, x2 ,..., xn  b.
Se poate scrie:
b n xi n
I   f (x)dx    f (x)dx i1 I i . (7.36)
a i1 xi1

Pe fiecare interval, integrala de tipul Ii


dată de (7.36) se aproximează
prin:
~ x i  xi1
  f (x
2 ) i  1, n .
I i1 )  f (7.37)
(xi ,
Dacă pasul reţelei de noduri este:
ba
h n , xi  a  ih (7.38)
atunci:
~ n ~ b  a n1 
I   Ii   f (a)  2  f (a  ih)  f (b)  .
 (7.39)
i1  
2n  i1 
Pentru evaluarea restului se poate scrie:
n
h3 n ''
R 2 (f )   R 2i (f )   (i ) . (7.40)
12
f
i1 i1

unde i (x i  1 , xi i  1, n .
),
Se consideră un punct (a,b) astfel încât:
n
'' 1 ''

f ()  n 
i1
f (i ) . (7.41)

În aceste condiţii, relaţia (7.40) devine:


(b  a)3 ''
R 2 (f )   f () . (7.42)
12n2

Presupunând că există M>0 astfel încât


f '' (x)  ()x  (a, b) atunci
se poate scrie că: M,
R 2 (f )  M(b  a)3
. (7.43)
12n2
7.3. Formula lui Simpson
Acest tip de formulă se obţine particularizând formulele Newton-Cotes
pentru n = 3 şi 𝑙  0 , de tip închis. Coeficienţii Newton-Cotes vor fi:
3
(3) 1
1 ba
I10 
4
(t  2)(t  3)dt  ; A1 
6 6 (7.44)
1 3
(3) 1 2 2(b  a)
I20
2 1
 (t  1)(t  3)dt  ; A2 
3 3
3
(3) 1
1 ba
I30 
4
(t  1)(t  2)dt  ; A3 
6 6
1
Cele trei noduri sunt:

x1  a; x  a  b ; x3  b (7.45)
2 2
deoarece
ba
h . (7.46)
2
Rezultă o valoare aproximativă a integralei de forma:
~ 3
ba  ab 
I   A k f (x k )   f (a)  4  f    f (b) . (7.47)
6 2
k1    
Şi această formulă de cuadratură introduce erori mari. Ea poate fi
îmbunătăţită prin împărţirea intervalului [a,b] în 2n subintervale egale
prin punctele a  x0 , x1,..., xn  b , de pas h  (b  a) / 2n şi prin
aplicarea formulei lui Simpson pe câte două subintervale consecutive,
scriind integrala:
b n x 2i n
I   f (x)dx   I i .
 f (x)dx  i1 (7.48)
a x 2i2 i1

Folosind valoarea integralei dată de (7.47), se poate determina valoarea


aproximativă pentru Ii :

~I x 2i  x 2i2
 
 f (x 2i2
)  4f 2i1 )f 2i) . (7.49)
6 (x (x
Rezultă:
n
~ n ~ h 
n1
I   Ii    f (a)  4  f (x2i1 )  2  f (x2i )  f (b)  . (7.50)

i1
3  i1 i1 

unde x i  a 
ih, i  1,2n .
Pentru evaluarea restului se recurge în mod asemănător la
formula trapezelor, determinând mai întâi restul pentru un interval de
forma x 2i 2 , x 2i  cu (7.26):
x 2i
f (4) (2i)
R3i (f ) 
4!  x(x  x2i2 )(x  x2i1)(x  x2i )dx .
x 2i2
(7.51)

Rezultă:
5
(x2i  x 2i2 ) (4)
R 3i (f )   f (2i ) . (7.52)
2880
unde 2i (x 2i2 , x2i ) .
Restul corespunzător întregii formule este:
n
(2h)5 n

(4)
R 3 (f )   R (2i ) . (7.53)
3i (f )
f 2880
i1 i1

Considerând (a,b) astfel încât: n


(4) 1 (4)

f ()  n  f (2i ), (7.54)


i1

atunci:
(b  a)5 (4)
R 3 (f )   () . (7.55)
2880n4
f

Dacă există M>0 astfel încât f (4) (x)  M , ()x (a, b) atunci se poate
scrie:
(b  a)5
R 3 (f )  M. (7.56)
2880n4
7.4. Formulele lui Gauss
Se consideră integrala:
b

I a p(x)f (x)dx (7.57)


Metode Numerice 149

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