Sunteți pe pagina 1din 15

Metode Numerice - CURSUL nr.

1
Analiza numeric¼a are ca obiect studiul algoritmilor prin care se aproximeaz¼ a soluţia exact¼
a a unei probleme, oferind
şi marje de eroare pentru rezultat.
Estimarea preciziei rezultatelor obţinute reprezint¼a un aspect foarte important al Analizei Numerice. Se disting mai
multe tipuri de erori, care pot limita aceast¼ a precizie: erori în datele de intrare, erori de rotunjire, erori de aproximare.

Erorile în datele de intrare sunt în afara controlului calculelor şi nu constituie obiectul Analizei Numerice. Ele se
pot datora inexactit¼aţii inerente a m¼
asur¼
atorilor …zice, introducerii eronate a datelor în calculator etc.
Erorile de rotunjire apar atunci când se opereaz¼a cu numere a c¼aror reprezentare conţine un num¼
ar …nit de cifre,
aşa cum se întâmpl¼a, de exemplu, la reprezentarea numerelor în calculator.
Erorile de aproximare sunt datorate metodei numerice utilizate în aproximarea soluţiei problemei. În general, este
necesar un num¼ ar mare de operaţii pentru a ajunge la soluţia exact¼
a, chiar in…nit uneori, iar calculele sunt oprite
în funcţie de un anumit criteriu, dup¼a un num¼ar …nit de paşi, atunci când se ajunge la o precizie acceptabil¼a.

1 Aritmetica în virgul¼
a mobil¼
a
1.1 Numere în virgul¼
a mobil¼
a
Calculatorul poate lucra cu dou¼ a categorii de numere: întregi şi fracţionare. Reprezentarea intern¼ a a acestor numere este
în virgul¼a …x¼a şi în virgul¼a mobil¼a (‡otant¼a). Pentru cazul reprezent¼ arii în virgul¼
a …x¼a nu se pune problema aproxim¼ arii,
deoarece rezultatul adun¼ arii, sc¼
aderii sau înmulţirii numerelor întregi este tot un num¼ ar întreg, care se reprezint¼
a în
calculator dac¼ a valoarea sa nu dep¼ aşeşte posibilit¼
aţile de reprezentare a numerelor întregi în calculatorul respectiv. Astfel,
dac¼a not¼am cu a baza de reprezentare, iar cu t precizia maşinii (num¼ arul de cifre în baza a care se pot reprezenta pe un
cuvânt sau multiplu de cuvânt de memorie), numerele întregi reprezentabile formeaz¼ a mulţimea:

I := fx 2 Z j at 1
x at 1
1g:

Pentru a = 2 şi t = 16 cifre binare, I = f 215 ; :::; 215 1g: Dac¼ a t = 32; domeniul de reprezentare este I =
f 231 ; :::; 231 1g:
Problema erorilor de rotunjire se pune atunci când calculatorul opereaz¼a cu numere fracţionare, reprezentate în virgul¼
a
mobil¼a. Mulţimea F a numerelor cu virgul¼ a ‡otant¼a este caracterizat¼
a de patru parametri: baza b, precizia maşinii t şi
intervalul exponenţilor [L; U ]: Fiecare num¼
ar x cu virgul¼
a ‡otant¼
a, care aparţine lui F , are reprezentarea:
c1 c2 ct
x= + 2 + ::: + t be ;
b b b
unde numerele naturale c1 ; :::; ct , numite cifre, satisfac 0 ci b 1; i = 1; 2; :::; t, iar num¼ arul întreg e, numit exponent,
satisface L e U: Num¼ arul
c1 c2 ct
f= + 2 + ::: + t
b b b
se numeşte partea fracţionar¼a sau mantis¼a. Dac¼ a pentru x 2 F; x 6= 0; este adev¼ arat¼
a relaţia c1 6= 0, sistemul de
reprezentare în virgul¼a mobil¼a se numeşte normalizat. Se remarc¼ a faptul c¼
a mulţimea F nu este un continuu, ea …ind
chiar …nit¼a, având în cazul reprezent¼ arii normalizate 2(b 1)bt 1 (U L + 1) + 1 elemente, care nu sunt reprezentate
uniform.
Exemplu. Dac¼ a F este normalizat¼ a, pentru b = 2; t = 3; L = 1; U = 2; F are 33 de elemente:
0; :100 2e ; :101 2e ; :110 2e ; :111 2e ; cu e 2 f 1; 0; 1; 2g:

Elementele pozitive ale mulţimii F

Mai remarc¼
am faptul c¼
a numerele nenule reprezentabile satisfac relaţia:

m jxj M;

1
1
unde m = bL 1
ar pozitiv reprezentabil, iar M = bU
se numeşte cel mai mic num¼ 1 - cel mai mare num¼
ar pozitiv
bt
1 7
reprezentabil. În exemplul nostru m = ;M = :
4 2
De asemenea, se observ¼ a faptul c¼
a numerele mulţimii F sunt mai "dese" în apropierea originii (puterile lui b scad) şi
mai "rare" spre extremitatea lui F (puterile lui b cresc).
Exemplu. Pentru b = 2 şi 32 de poziţii binare pentru un num¼ ar real, reprezentarea se realizeaz¼a în simpl¼a precizie,
iar pentru 64 de poziţii binare pentru un num¼ ar real, reprezentarea se realizeaz¼a în dubl¼a precizie.
Dup¼a standardul IEEE (the "Institute of Electrical and Electronics Engineers" Inc. USA), pentru b = 2 rezult¼ a
t = 24; L = 126 şi U = 127 pentru reprezentarea în simpl¼ a precizie şi t = 53; L = 1022 şi U = 1023 pentru
reprezentarea în dubl¼a precizie. Rezult¼a, de asemenea, pentru reprezentarea în simpl¼ a precizie, m u 10 38 şi M u 1038 ,
iar pentru reprezentarea în dubl¼ a precizie, m u 10 308 şi M u 10308 :

1.2 Reprezentarea aproximativ¼


a a numerelor. Scheme de rotunjire
Fie x un num¼ar care nu dep¼aşeşte marginile mulţimii F ; în calculator acest num¼
ar este reprezentat de num¼
arul cu virgul¼
a
mobil¼a notat (x); în aceste condiţii, spunem c¼a x este reprezentat aproximativ (rotunjit).

Orice num¼
ar x ce satisface relaţia m jxj M se poate scrie sub forma:

x = f be + g b e t :

În cazul fracţiilor normalizate, sunt îndeplinite relaţiile:


1
jf j < 1; 0 jgj < 1:
b
Exist¼a mai multe tipuri de rotunjire, şi anume:
(a) rotunjirea prin t¼aiere (trunchiere):
(x) este cel mai apropiat element din F faţ¼ a de x, cu proprietatea j (x)j jxj : În notaţia de mai sus, (x) = f be :
Exemplu. Dac¼ a b = 10; t = 4 şi x = 12945:734; putem scrie:

x = 0:12945734 105 = 0:1294 105 + 0:5734 10:

În acest caz, (x) = 0:1294 105 = 12940 6= x:

(b) rotunjirea uniform¼a (metoda cifrei pare):

La rotunjirea uniform¼ a, (x) are urm¼ atoarea expresie:


8
e b
>
> f b ; dac¼
a jgj < 0:
>
<
2
f be be t ; dac¼ a jgj > 0: 2b
(x) = :
>
> f be be t ; dac¼ a jgj = 0: 2b ; ultima cifr¼
a f - impar¼a
>
:
f be ; dac¼ a jgj = 0: 2b ; ultima cifr¼ a f - par¼
a
În aceast¼ a expresie, semnul "+" se consider¼ a pentru f > 0 şi semnul "-" se consider¼
a pentru f < 0: Aceast¼
a modalitate
de reprezentare e adoptat¼ a şi de standardul IEEE.
Exemplu. Se consider¼ a b = 10; t = 4 şi o rotunjire uniform¼ a.
(i) x = 12944:9942 = 0:1294 105 + 0:4994 105 4 :
Se observ¼ a jgj < 0:5; deci (x) = 0:1294 105 = 12940 6= x:
a c¼
(ii) x = 129551 = 0:1295 106 + 0:51 106 4 :
Se observ¼ a jgj > 0:5; deci (x) = 0:1295 106 + 106 4 = 129600 6= x:
a c¼
6 ( iii) x = 1297:5 = 0:12975 104 = 0:1297 104 + 0:5 104 4 :
Se observ¼ a c¼
a jgj = 0:5 şi ultima cifr¼ a a lui f este impar¼ a, deci (x) = 0:1297 104 + 104 4 = 1298 6= x:
(iv) x = 1296:5 = 0:12965 104 = 0:1296 104 + 0:5 104 4 :
Se observ¼ a c¼
a jgj = 0:5 şi ultima cifr¼ a a lui f este par¼ a, deci (x) = 0:1296 104 = 1296 6= x:

Având în vedere reprezentarea aproximativ¼


a a numerelor, se pot de…ni urm¼
atoarele dou¼
a tipuri de erori:

(a) eroarea absolut¼a, notat¼


a ex :
ex = jx (x)j ;
(b) eroarea relativ¼a, notat¼
a "x :
ex ex jx (x)j
"x = u = :
jxj j (x)j j (x)j

2
În expresia anterioar¼a, jxj s-a aproximat prin j (x)j deoarece, în general, valoarea x nu se cunoaşte în sensul c¼
a nu se
reprezint¼
a exact în calculator. Se demonstreaz¼ a faptul c¼
a eroarea relativ¼
a are valoarea cea mai mare atunci când f are în
1
modul valoarea cea mai mic¼ a, iar g valoarea cea mai mare în modul, adic¼ a jf j = ; jgj = 1. Avem:
b
jx (x)j jf be + g be t (x)j 1 be t
"x u = k 1 = k b1 t ;
j (x)j j (x)j b be

unde b1 t este o m¼arime speci…c¼ a maşinii de calcul, ea caracterizând precizia relativ¼


a de reprezentare. Se observ¼
a imediat

a la rotunjirea prin t¼
aiere, k = 1:

1.3 Operaţii elementare în virgul¼


a mobil¼
a
1. Adunarea
Oricare ar … dou¼ a numere x şi y, pentru care exist¼ a (x) şi (y), num¼
arului x + y i se asociaz¼
a num¼ arul (x + y);
obţinut în felul urm¼ ator:
(i) se reprezint¼a intern numerele x şi y prin (x) şi, respectiv, (y);
(ii) dac¼a numerele au exponent diferit, atunci num¼ arul cu exponent mai mic se aduce la o form¼a în care exponentul

a …e egal cu cel al celuilalt termen, operaţie numit¼ a denormalizare. Acest lucru se realizeaz¼
a prin deplasarea mantisei
spre dreapta, inserând zerouri dup¼ a virgul¼
a;
(iii) se adun¼a mantisele şi din rezultat se p¼
astreaz¼a t cifre;
(iv) dac¼ a este necesar, se normalizeaz¼a rezultatul.

Observaţii:
1. Consecinţa principal¼ a a acestui mod de de…nire este aceea c¼ a, spre deosebire de aritmetica real¼ a, adunarea nu este
asociativ¼a.
2. Sc¼
aderea se realizeaz¼ a la fel ca adunarea, cu deosebirea c¼ a mantisele se scad. De fapt, sc¼
aderea reprezint¼ a o adunare
în care sc¼az¼
atorul are semn schimbat.
Exemplu. Se consider¼ a o aritmetic¼ a a virgulei mobile cu b = 10; t = 3; reprezentare normalizat¼ a şi rotunjire prin t¼aiere.
Fie calculul: 0:001 + 1 1: Asociind primii doi termeni, se ajunge la rezultatul ( (10 3 + 1) 1) = 0; care este eronat.
În cazul asocierii ultimilor doi termeni se obţine (10 3 + (1 1)) = 10 3 ; care este rezultatul corect.
Exemplu. Se consider¼ a aritmetic¼ a a virgulei mobile cu b = 10; t = 3; reprezentare normalizat¼ a şi rotunjire prin t¼aiere.
Fie calculul: 1:001 1: Se obţine: (1:001 1) = 0, rezultat eronat.
Exemplele 1.3 şi 1.3 pun în evidenţ¼ a dou¼ a fenomene nedorite şi generatoare de erori, care pot ap¼ area la efectuarea
unei adun¼ ari în virgul¼
a mobil¼ a:
1. omiterea catastrofal¼a : apare atunci când se adun¼ a doi termeni şi valoarea absolut¼a a unui termen este mai mic¼ a
decât precizia de reprezentare a celuilalt termen; în acest caz, rezultatul este dat de termenul cu valoare absolut¼ a mai
mare (situaţie ilustrat¼
a în Exemplul 1.3).
2. neutralizarea termenilor : apare când se adun¼ a numere de semne diferite şi cu valori absolute apropiate; în acest
caz, în mod eronat, rezultatul este nul (situaţie ilustrat¼ a în Exemplul 1.3).
Precizia calculelor numerice este caracterizat¼ a de dou¼ a m¼arimi constante a c¼ aror valoare este dependent¼ a de tipul
maşinii de calcul folosite. Cele dou¼ a valori menţionate sunt:
- epsilonul maşin¼a pentru adunare (notat "+ m ) - reprezint¼a cel mai mic num¼ ar real reprezentabil care schimb¼ a, prin
adunare, unitatea maşinii de calcul: (1 + "+ m ) > 1; el are valoarea b 1 t
;
- epsilonul maşin¼a pentru sc¼adere (notat "m ) - reprezint¼ a cel mai mic num¼ ar real reprezentabil care schimb¼ a, prin
adere, unitatea maşinii de calcul: (1 "m ) < 1; el are valoarea b t :
sc¼
Exemplu. Valorile celor dou¼ a constante de maşin¼ a, în standardul IEEE, sunt urm¼ atoarele:
- pentru reprezentarea în simpl¼ a precizie:
8
"m = 5:96 10 ; "+
m = 1:19 10
7
;

- pentru reprezentarea în dubl¼


a precizie:
16
"m = 1:11 10 ; "+
m = 2:22 10
16
:

2. Înmulţirea
Oricare ar … dou¼ a numere x şi y, pentru care exist¼a (x) şi (y), num¼
arului x y i se asociaz¼
a num¼
arul (x y); obţinut
în felul urm¼ ator:
(i) se reprezint¼ a intern numerele x şi y prin (x) şi, respectiv, (y);
(ii) se înmulţesc fracţiile şi se adun¼
a exponenţii;
(iii) din fracţia rezultat¼a se opresc t cifre;

3
(iv) dac¼ a este necesar, se normalizeaz¼ a rezultatul.
Observaţii:
1. Înmulţirea nu este asociativ¼ a.
2. Împ¼ arţirea se realizeaz¼
a în aceeaşi manier¼a ca şi înmulţirea, cu deosebirea c¼
a la pasul (ii) mantisele se împart, iar
exponenţii se scad.
Exemplu.
Se consider¼ a o aritmetic¼a a virgulei mobile cu b = 10; t = 3; reprezentare normalizat¼ a şi rotunjire prin t¼
aiere. Fie
x = 22:547 şi y = 0:43936:Urm¼ arind etapele descrise anterior, avem:
(i) (x) = 0:225 102 ; (y) = 0:439 100 ;
(ii) 0:225 0:439 = 0:098775; 102 100 = 102 ;
(iii) 0:098775 102 ! 0:098 102 ;
(iv) (x y) = 0:098 102 = 9:8:

1.4 Propagarea erorilor în calculele numerice


Având în vedere cele prezentate mai sus, putem scrie relaţiile:
ex ey
x = (x) ex ; y = (y) ey ; "x = ; "y = :
j (x)j j (y)j

Se numeşte calcul aproximativ un calcul efectuat într-o aritmetic¼ a a virgulei mobile. Vom accepta ca postulat
urm¼atoarea a…rmaţie: eroarea relativ¼a într-un calcul cu numere aproximative este egal¼a cu suma dintre eroarea relativ¼a
produs¼a de calculul exact respectiv cu numere aproximative ( T1 ) şi eroarea relativ¼a produs¼a de calculul aproximativ cu
numerele exacte corespunz¼atoare ( T2 ).
Fie una din operaţiile descrise anterior. Postulatul de mai sus, descris de relaţia:

"x y = T1 + T2 ;

permite determinarea modalit¼aţii de propagare a erorilor relative pentru operaţiile în virgul¼


a mobil¼
a, dup¼
a cum urmeaz¼
a.
Pentru calculul exact cu numere aproximative ( T1 ) avem:

ex =
6 0; ey 6= 0; (x y) = (x) (y);
T1 = k1 "x + k2 "y :

Constantele k1 şi k2 pot avea valori diferite, dup¼ a cum urmeaz¼a:


- pentru adunare:
j (x)j j (y)j
k1 = ; k2 = ;
(x) + (y) (x) + (y)
- pentru sc¼
adere:
j (x)j j (y)j
k1 = ; k2 = ;
(x) (y) (x) (y)
- pentru înmulţire:
k1 = k2 = 1;
- pentru împ¼
arţire:
k1 = 1; k2 = 1:
Pentru calculul aproximativ cu numere exacte ( T2 ) avem:

ex = 0; ey = 0; (x y) 6= (x) (y)

şi atunci:
T2 k b1 t ;
ca pentru orice num¼
ar real care nu se reprezint¼
a exact.
Exemplu. Se consider¼ a urm¼ atorul polinom:

y(x) = x7 7x6 + 21x5 35x4 + 35x3 21x2 + 7x 1;

pentru x 2 [0:998; 1:012]; cu pasul de evaluare 0.0001. Figura de mai jos ilustreaz¼
a cu linie punctat¼
a rezultatul calculelor
în dubl¼
a precizie (standardul IEEE) utilizând formula de mai sus, iar cu linie continu¼ a sunt reprezentate cele corecte.

4
Acestea din urm¼
a sunt obţinute evaluând polinomul y(x) = (x 1)7 :

Analizând …gura de mai sus, se remarc¼ a faptul c¼ a valorile calculate sunt de ordinul 10 14 , ceea ce evidenţieaz¼ a erori
relativ mici între rezultatele celor dou¼ a maniere de calcul. Aceste diferenţe se explic¼ a prin fenomenele de neutralizarea
termenilor şi omitere catastrofal¼ a.
Cele expuse pân¼ a acum demonstreaz¼ a faptul c¼ a într-un calcul numeric erorile se propag¼ a de la o operaţie la alta. Pe
m¼asur¼ a ce num¼ arul operaţiilor dintr-un calcul creşte, pot ap¼ area situaţii în care erorile se acumuleaz¼ a excesiv de mult,
fapt care determin¼ a obţinerea unei valori total incorecte a rezultatului …nal. Ca urmare, la întocmirea unui algoritm de
calcul şi apoi la implementarea acestuia, utilizatorul trebuie s¼ a se asigure c¼ a soluţiile nu vor … afectate de erori care s¼ a
dep¼aşeasc¼a anumite limite admisibile.
Ca urmare, se pot formula urm¼ atoarele reguli generale pentru m¼ arirea preciziei calculelor:
1. când se adun¼ a sau se scad numere, este recomandabil s¼ a se înceap¼ a cu cele mai mici în valoare absolut¼ a, separat
pentru cele pozitive şi separat pentru cele negative;
2. dac¼ a este posibil, este recomandabil s¼ a se evite sc¼
aderea a dou¼ a numere aproximativ egale; o expresie care conţine
o astfel de sc¼ adere poate … rescris¼ a;
a b
3. o expresie de forma (a b) c poate … rescris¼ a sub forma a c a c; iar o expresie de forma poate … rescris¼
a
c
a b
sub forma ; dac¼a numerele a şi b sunt aproximativ egale, este recomandabil s¼ a se efectueze mai întâi sc¼ aderea şi
c c
apoi înmulţirea şi împ¼ arţirea.
4. dac¼ a regulile generale enunţate mai sus nu se pot aplica, se va urm¼ ari minimizarea num¼ arului de operaţii aritmetice
implicate.
Exemplu. Se consider¼ a urm¼ atoarele relaţii de calcul:
1 2 3
h= ;x = h; y = h; e = x + x + x h;
2 3 5
f
f =y+y+y+y+y h; q = :
e
Efectuând calculele manual, se obţin rezultatele:
1 1 1
h= ;x = ;y = ; e = 0; f = 0; q =?
2 6 10
Implementând aceste relaţii de calcul într-un program scris în MATLAB obţinem rezultatele:

e 6= 0; f 6= 0; q = valoare …nit¼
a.

Explicaţia acestor rezultate const¼


a în urm¼atoarele:
2
- num¼arul = 0:(6) are un num¼ ar in…nit de cifre în baza de numeraţie zece şi deci nu va … reprezentat exact;
3
3
- = 0:6 are un num¼ ar in…nit de cifre în baza de numeraţie doi şi deci nici acesta nu va … reprezentat exact:
5
0:6[10] = 0:(1001)[2] :
Aceste erori se vor propaga în calculul valorilor e şi f rezultând valori de ordinul epsilonului maşin¼
a.

5
2 Sisteme de ecuaţii liniare
În matematic¼ a, teoria sistemelor de ecuaţii liniare este o parte fundamental¼ a a algebrei liniare folosit¼
a în majoritatea
ramurilor matematicii moderne. Metodele numerice pentru determinarea sotuţiei sistemelor de ecuaţii liniare au un rol
important în inginerie, chimie, economie dar şi în alte domenii. Aşa cum vom vedea mai târziu, chiar şi sistemele de ecuaţii
neliniare pot … aproximate cu unele liniare, acest aspect …ind foarte important în realizarea unor modele matematice sau
studiul unor modele mai complexe.
Reamintim c¼ a un sistem de n ecuaţii algebrice liniare cu n necunoscute este de forma:
8
>
> a11 x1 + a12 x2 + ::: + a1n xn = b1
<
a21 x1 + a22 x2 + ::: + a2n xn = b2
: (1)
>
> :::::::::::::::::::::::::::
:
an1 x1 + an2 x2 + ::: + ann xn = bn

Dac¼
a not¼am cu A matricea coe…cienţilor, cu x vectorul coloan¼
a al necunoscutelor şi cu b coloana al termenilor liberi,
sistemul (1) se scrie sub form¼
a matriceal¼
a:
Ax = b;
unde: 2 3 2 3 2 3
a11 a12 ::: a1n x1 b1
6 a21 a22 ::: a2n 7 6 x2 7 6 b2 7
6 7 6 7 6 7
A=6 .. .. .. 7;x = 6 .. 7;b = 6 .. 7: (2)
4 . . . 5 4 . 5 4 . 5
an1 an2 ::: ann xn bn
Metodele numerice de rezolvare a sistemelor algebrice de ecuaţii liniare sunt de dou¼ a tipuri: metode directe şi metode
indirecte (sau iterative).
Metodele directe constau în transformarea sistemului 1 într-un sistem triun-ghiular echivalent, care se rezolv¼ a uşor.
Cele mai cunoscute metode directe sunt: metoda Gauss, metoda Cholesky (utilizat¼ a pentru sistemele în care matricea A
este simetric¼a şi pozitiv de…nit¼
a) şi metoda Householder.
Metodele directe permit determinarea soluţiilor sistemului în cazul ideal, când nu avem erori de rotunjire. Num¼ arul
operaţiilor efectuate este de ordinul n3 : Pentru sisteme cu un num¼ ar de ecuaţii mai mare de 100, metodele directe devin
inutilizabile datorit¼ a acumul¼
arii erorilor de rotunjire care altereaz¼a soluţia.
Metodele indirecte (sau iterative) constau în construcţia unui şir (x(k) ) de vectori n-dimensionali, care converge la
soluţia exact¼a a sistemului. Se alege ca soluţie aproximativ¼ a a sistemului un termen x(s) al şirului, al c¼
arui ordin depinde
de precizia impus¼ a.
O iteraţie presupune efectuarea unui num¼ ar de operaţii aritmetice de ordinul n2 : Metodele iterative sunt utilizate
la reolvarea sistemelor mari de ecuaţii. Cele mai cunoscute metode iterative sunt: Jacobi, Gauss-Siedel, metodele de
relaxare.

2.1 Problem¼
a cu caracter practic care conduce la rezolvarea unui sistem de ecuaţii liniare.

a consider¼
am urm¼
atoarul sistem electric.

Not¼am, pentru început, uL ; iL ; uR ; iR ; uC ; iC ; tensiunea şi, respectiv, intensitatea curentului pe …ecare ramur¼
a a
circuitului şi cu E tensiunea electromotoare. Acestea sunt variabile în timp aşa încât le vom considera ca funcţii de
variabil¼
at 0:
uL ; iL ; uR ; iR ; uC ; iC : [0; +1) ! R.
Sunt cunoscute înc¼
a din liceu urm¼
atoarele:

tensiunea în rezistor este proporţional¼


a cu intensitatea curentului pe rezistor:

uR (t) = R iR (t)

6
tensiunea în capacitor este proporţional¼
a cu sarcina electric¼
a înmagazinat¼
a:
1
uC (t) = q(t):
C
De aici rezult¼ a c¼
a variaţia tensiunii în raport cu timpul este proporţional¼
a cu variaţia sarcinii în raport cu timpul
(iar variaţia sarcinii este, prin de…niţie, intensitatea curentului):
1
u0C (t) = iC (t):
C

variaţia intensit¼
aţii curentului în bobin¼
a este proporţional¼
a cu tensiunea:

uL (t) = L i0L (t):

Pe de alt¼
a parte, în porţiunea de circuit paralel tensiunea e aceeaşi pe …ecare ramur¼
a, deci

uR = uC

şi, în circuitul serie, avem:

suma tensiunilor de pe …ecare porţiune este egal¼


a cu tensiunea electromotoare:

uL + uR = uL + uC = E

curentul care „intr¼


a” într-un nod este egal¼
a cu cel care „iese”şi atunci

iR = iL + iC :

Am obţinut astfel, dou¼


a seturi de 3 relaţii:
8 8
< uR = uC < uR = R iR
uL + uR = uL + uC = E şi uC = C1 q , u0C = 1
C iC :
: :
iL = iR + iC uL = L i0L

Observ¼
am c¼a primul set de relaţii depinde de circuitul în discuţie în vreme ce al doilea este mereu acelaşi.
În continuare not¼am funcţiile a c¼aror variaţie (derivat¼
a) intervine în formule cu x şi, respectiv, y: Mai exact, not¼
am

x(t) = iL (t)
y(t) = uC (t); t 0:

unde variabila t 0 reprezint¼


a timpul (tensiunile şi intensit¼
aţile pe …ecare component¼
a variaz¼
a în raport cu timpul).
Avem, succesiv:
1 1 1
x0 (t) = i0L (t) = uL = (E uC ) = (E y(t))
L L L
1 1 1 1 1 1
y 0 (t) = u0C (t) = iC = (iL iR ) = x(t) uR = x(t) uC (t)
C C C R C R
1 1
= x(t) y(t):
C CR
Pe scurt, avem 8
>
< x0 = 1 1
y+ E
L L
> 1 1
: y0 = x y:
C CR
Acest sistem se numeşte sistem de ecuaţii diferenţiale. Este clar c¼ a rezolvarea acestuia va conduce la a‡area curentului
şi tensiunii în …ecare moment t 0 în …ecare ramur¼ a a circuitului. Desigur, cu cât sistemul electric este mai complex
cu atât sistemul de ecuaţii diferenţiale care se obţine este mai complex. În domeniul ecuaţiilor diferenţiale se arat¼ a c¼
a
dac¼ a starea iniţial¼
a a sistemului este cunoscut¼ a, adic¼
a ştim x(0) şi y(0); atunci sistemul de mai sus are soluţie şi aceasta
este unic¼ a. Dac¼ a starea iniţial¼
a nu este cunoscut¼a atunci problema admite o in…nitate de soluţii. G¼ asirea acestor soluţii
presupune parcurgerea a dou¼ a etape:

7
1. Determinarea soluţiilor problemei omogene
0 1
x 0 L x
= 1 1
y C CR y
| {z }
N otam
= A

care, la rândul ei, presupune determinarea valorilor proprii ale matricei p¼


atratice şi a soluţiilor corespunz¼
atoare
…ec¼
arei valori proprii
2. Determinarea unei soluţii particulare a problemei neomogene
0 1 1
x 0 L x LE
= 1 1 + :
y C CR y 0
| {z }
N otam
= b

Determinarea soluţiei particulare se poate face întotdeauna prin metoda variaţiei constantelor sau, dac¼
a termenul
liber conţine doar funcţii de forma
t t
E(t) = P (t) e sin t + Q(t) e cos t

unde P; Q sunt polinoame cu coe…cienţi reali, prin metoda coe…cienţilor nedeterminaţi.

Pentru metoda coe…cienţilor nedeterminaţi se caut¼


a o soluţie particular¼
a de forma
t t
xp (t) P1 (t) e cos t + Q1 (t) e sin t
'(t) = = t t
yp (t) P2 (t) e cos t + Q2 (t) e sin t

unde Pi ; Qi ; i = 1; 2 sunt polinoame de grad cel mult egal cu maximul gradelor polinoamelor care intervin în expresia lui
E la care ad¼ aug¼am `; unde ` este ordinul de multiplicitate al r¼ad¼acinii i ( şi tot din expresia lui E)pentru ecuaţia
caracteristic¼a (posibil chiar 0).
Exempli…c¼ am obţinerea unei soluţii particulare în situaţia în care tensiunea electromotoare este egal¼
a cu E(t) =
(t + 2)e 3t sin t; L = 0:5He; C = 0:5F şi R = 1 : Cu aceste valori problema se rescrie în forma

x0 = 2y + (2t + 4)e 3t
sin t
y 0 = 2x 2y

sau, echivalent,
0 3t
x 0 2 x (2t + 4)e
= +
y 2 2 y 0
| {z } | {z }
=A =b

Observ¼
am c¼a = 3; = 0; P1 (t) = 2t + 4 şi P2 (t) = Q1 (t) = Q2 (t) = 0; 8t:
Ecuaţia caracteristic¼
a este
p
2 2 1 = 1 + ip3
det(A I2 ) = 0 , =0, +2 +4=0,
2 2 2 = 1 i 3

R¼ad¼acina indicat¼a de termenul liber este i = 3 şi, cum aceasta nu se reg¼


aseşte printre r¼
ad¼
acinile ecuaţiei caracter-
istice, rezult¼
a c¼
a ` = 0 şi atunci vom c¼
auta o soluţie particular¼
a de forma
3t
P1 e
'(t) = 3t ;
P2 e

unde Pi şi Qi sunt polinoame de grad cel mult 1 (polinoamele care intervin în expresia etrmenului liber au gradul maxim
1 iar ` = 0): Altfel spus,
(a1 t + a2 )e 3t
'(t) =
(a3 t + a4 )e 3t
Forma simpli…cat¼
a a soluţiei particulare apare pentru c¼
a = 0: Impunem condiţia ca ' s¼
a …e soluţie, adic¼
a
3t 0 3t 3t
(a1 t + a2 )e 0 2 (a1 t + a2 )e (2t + 4)e
3t = 3t +
(a3 t + a4 )e 2 2 (a3 t + a4 )e 0

şi obţinem
3t
( 3a1 t + a1 3a2 )e (( 2a3 + 2)t 2a4 + 4)e 3t
3t =
( 3a3 t + a3 3a4 )e ((2a1 2a3 )t + 2a2 2a4 )e 3t

8
Identi…când coe…cienţii obţinem sistemul de ecuaţii liniare de 4 ecuaţii cu 4 necunoscute
8
>
> 3a1 + 2a3 =2
<
a1 3a2 + 2a4 = 4
>
> 2a1 + a3 =0
:
2a2 a3 + a4 = 0

În acest caz sistemul este uşor de rezolvat şi, cu puţin efort, se obţine
2 22 4 72
a1 = ; a2 = ; a3 = ; a4 = ;
7 49 7 49
adic¼
a funcţia 0 1
2 22 3t
xp (t) B ( 7t 49
)e C
'(t) = =@ 4 72 A
yp (t) ( t+ )e 3t
7 49
este o soluţie a problemei iniţiale.
Se observ¼ a imediat c¼a sistemele de ecuaţii care se obţin pentru aceast¼ a problem¼a simpl¼
a devin cu atât mai mari cu
cât gradele polinoamelor care intervin sau/şi ordinul de multiplicitate ` sunt mai mari. De exemplu, dac¼ a anterior P ar …
avut gradul 3 iar ` = 1; atunci am … avut de a‡at 8 coe…cienţi (2 polinoame de grad 4). Dac¼ a în expresia termenului liber
am … avut, în plus, şi sin = cos atunci am … avut de a‡at 16 coe…cienţi (4 polinoame de grad 4). Evident, sistemele devin
din ce în ce mai greu de rezolvat "de mân¼ a". Este, deci, un motiv foarte bun pentru a dezvolta algoritmi şi programe
pentru diferite aplicaţii pe computer pentru rezolvarea acestor sisteme. De îndat¼ a ce am trecut pe calculator, exactitatea
dispare şi se pune problema estim¼ arii erorii sau minimiz¼arii ei schimbând, eventual, metoda de determinare a soluţiei.
¼ OPŢIONALA
!!!TEMA ¼ pentru întregul semestru!!!
Identi…caţi la disciplinele de specialitate situaţii în care puteţi aplica algoritmii dezvoltaţi la Metode numerice.

2.2 Matrice triunghiulare şi inversele acestora


Metodele directe de rezolvare a sistemelor de ecuaţii liniare presupun transformarea sistemului A x = b într-unul echivalent
B x = c; unde B este o matrice pentru care inversa se poate determina f¼ ar¼
a un efort prea mare. Formula clasic¼a

1 1
A = A
det A
presupune un efort de calcul uriaş. Conform de…niţiei, un determinant de ordin n presupune calculul a n! produse de n
factori şi apoi adunarea/sc¼aderea rezultatelor, adic¼
a aproximativ (n + 1)! operaţii elementare, ceea ce înseamn¼ a foarte
mult (de exemplu, pentru n = 12; (n + 1)! = 13! = 6:227:020:800).
De…niţie. Spune c¼ a o matrice p¼atratic¼
a A 2 Mn (R) este inferior (superior) triunghiular¼
a dac¼
a toate elementele matricei
situate deasupra (sub) diagonala principal¼ a sunt egale cu zero.
Altfel spus, o matrice inferior triunghiular¼
a are forma
0 1
a11 0 ::: 0
B a21 a22 0 C
B C
L=B . . .. C
@ .. .. . A
an1 an2 : : : ann

iar o matrice superior triunghiular¼


a are forma
0 1
a11 a12 ::: a1n
B 0 a22 a2n C
B C
U =B . .. .. C : (3)
@ .. . . A
0 0 ::: ann

În mod evident, determinantul unei astfel de matrice este egal cu produsul elementelor de pe diagonala principal¼ a, astfel

a matricea este inversabil¼
a dac¼
a şi numai dac¼a toate elementele diagonale sunt nenule.
Inversa unei matrice superior triunghiulare inversabile
Fie U o matrice superior triunghiular¼a inversabil¼
a. Pentru a g¼
asi inversa acesteia vom folosi sistemele de ecuaţii liniare:
1
U x=y,x=U y:

9
Altfel spus, dac¼
a de la sistemul 8
>
> a11 x1 + a12 x2 + + a1n xn = y1
>
< a22 x2 + + a2n xn = y2
..
>
> .
>
:
+ann xn = yn
ajungem la sistemul 8
>
> b11 y1 + b12 y2 + + b1n yn = x1
>
< b22 y2 + + b2n yn = x2
..
>
> .
>
:
+bnn yn = xn
atunci inversa matricei U este 0 1
b11 b12 ::: b1n
B0 b22 b2n C
1 B C
U =B . .. .. C :
@ .. . . A
0 0 ::: bnn
În mod evident, avem
1 1
xn = yn ) bnn = :
ann ann
Apoi, înlocuind în penultima ecuaţie, avem
yn 1 an 1;n xn 1 an 1;n
xn 1 = ) xn 1 = yn 1 bnn yn
an 1;n 1 an 1;n 1 an 1;n 1
8
1
< bn 1;n 1 = an 1;n 1
) an 1;n
: bn 1;n = bnn
an 1;n 1

Continuând procesul, la pasul cu nr i = n 1; ::; 1 avem


1
xi = (yi (ai;i+1 xi+1 + ::: + ain xn ))
aii
Dar, de la i + 1 pân¼
a la n avem deja exprimaţi xj în fncţie de yj :

xi+1 = bi+1;i+1 yi+1 + bi+1;i+2 yi+2 + ::: + bi+1;n yn


xi+2 = bi+2;i+2 yi+2 + ::: + bi+2;n yn
..
.
xn = bnn yn

Înlocuind şi identi…când coe…cienţii, avem:


1
bii = ;
aii
1
bij = [ai;i+1 bi+1;j + ai;i+2 bi+2;j + :::aij bjj ] ; 8j = i + 1; ::; n
aii
Astfel, algoritmul pentru determinarea inversei unei matrice superior triunghiulare este urm¼
atorul:
I. Introducerea datelor:
n dimensiunea matricei
A matricea superior triunghiular¼ a
II. Determinarea inversei (not¼ am cu B inversa)
B = On ;
1
bnn = ;
6 a nn
6 Pentru i = n 1; 1
6
6 1
6 bii = ;
6 6 a
6 6
ii
6 6 Pentru j = i + 1; n
6 6 j
6 1 X
4 4 bij = aik bkj ;
aii
k=i+1

10
Algoritmul MATLAB
%Introducerea datelor
A=input(’Introduceţi matricea A; superior triunghiular¼a: A=’);
[n,n]=size(A);
%Determinarea inversei
B=zeroes(n);
B(n,n)=1/A(n,n);
for i=n-1:-1:1
B(i,i)=1/A(i,i);
for j=i+1:n
for k=i+1:j
B(i,j)=B(i,j)-A(i,k)*B(k,j)/A(i,i);
end
end
end
disp(’Inversa matricei este:’);
B

2.3 Metoda Gauss. Factorizarea LU


De…niţie. Fie 2 3 2 3
0 0
6 .. 7 6 .. 7
6 . 7 6 . 7
6 7 6 7
6 0 7 6 7
m=6 7 şi er = 6 1 7
6 mr+1;r 7 6 0 7
6 7 6 7
6 .. 7 6 . 7
4 . 5 4 .. 5
mn;r 0
dou¼ a elemente din Rn (elementul 1 din er se a‡a¼ pe linia r). O matrice de forma M = In mr eTr ; unde eTr =
[0; :::; 0; 1; 0; :::; 0]; se numeşte matrice Frobenius.
O astfel de matrice are urm¼ atoarea structur¼
a:
2 3
1 0 0 ::: 0
6 .. 7
6 . 7
6 7
6 0 1 0 ::: 0 7
Mr = 66 7:
0 m 1 ::: 0 7
6 r+1;r 7
6 .. . 7
4 . . . 5
0 mn;r 0 ::: 1
De exemplu, dac¼
a n = 4 şi r = 2; avem:
2 3 2 3
1 0 0 0 0
6 0 1 0 0 7 6 0 7
M2 = 6 4 0
7 6 7 0 1 0 0 =
0 1 0 5 4 m32 5
0 0 0 1 m42
2 3 2 3
1 0 0 0 0 0 0 0
6 0 1 0 0 7 6 0 0 0 0 7
=6 4 0
7 6 7=
0 1 0 5 4 0 m32 1 0 5
0 0 0 1 0 m42 0 1
2 3
1 0 0 0
6 0 1 0 0 7
=6 4 0
7:
m32 1 0 5
0 m42 0 1

Matricele Frobenius sunt în mod evident inferior triunghiulare. În plus, are loc urm¼atoarea propoziţie.
Propoziţie. Fie mr şi er ca în de…niţia de mai sus. Atunci matricea Frobenius Mr = In mr eTr este inversabil¼ a iar
inversa sa este de asemenea matrice Frobenius.
Demonstraţie. Faptul c¼ a este inversabil¼
a este evident, de vreme ce det Mr = 1. Considerm acum matricea Frobenius
Nr generat¼ a Nr = In + mr eTr : Avem:
a de mr şi er , adic¼
Mr Nr = (In mr eTr ) (In + mr eTr ) = In + mr eTr mr eTr mr (eTr mr ) eTr = In ;

11
a eTr mr = 0. Rezult¼
deoarece este clar c¼ a c¼
a Mr Nr = In :Analog se arat¼
a c¼
a Nr Mr = In ; deci Mr este inversabil¼
a şi
inversa sa, Mr = In + mr eTr este de asemenea matrice Frobenius.
1

Pentru o matrice p¼
atratic¼
a A de ordinul n not¼
am
2 3
a11 ::: a1r
6 . .. 7 pentru orice r = 1; :::; n:
r = det 4 .. . 5
ar1 arr

Teorem¼ a. Fie A 2 Mn (R) o matrice p¼ atratic¼


a astfel încât r 6= 0; pentru orice r = 1; :::; n. Atunci urm¼
atoarele a…rmaţii
sunt adev¼arate:
(i) Exist¼
a o matrice inferior triunghiular¼ a M 2 Mn (R) astfel încât matricea U = M A este superior triunghiular¼ a.
(ii) Exist¼
a o matrice inferior triunghiular¼ a L astfel încât A = L U .
Demonstraţie. Deoarece 1 = a11 6= 0; putem considera matricea Frobenius
2 3 2 3
1 0 ::: ::: 0 0
6 a21 1 0 ::: 0 7 6 a21 7
6 a 7 6a 7
6 11 7 T 6 11 7
M1 = 6 .. .. 7 = In m1 e1 ; unde m1 = 6 .. 7 :
6 . . 7 6 . 7
4 a 5 4a 5
n1 n1
0 ::: ::: 1
a11 a11
Dac¼
a not¼
am A1 = A şi A2 = M1 A1 ; atunci obţinem prin calul direct
2 (2) (2) (2)
3
a11 a12 ::: a11
6 (2) (2) 7
6 0 a22 ::: a2n 7
6
A2 = 6 . .. .. 7;
7
4 .. . . 5
(2) (2)
0 an2 ::: ann
(1)
unde, notând cu aij = aij ; pentru i; j = 1; :::; n; avem:
8 (2) (1)
>
< a1j = a1j ; pentru j = 1; :::; n;
(1) (1)
(2) (1) ai1 a1j
>
: aij = aij ; pentru i; j = 2; :::; n
(1)
a11

Observ¼
am c¼
a
(2) a21 a12 1 a11 a12 2
a22 = a11 = = 6= 0:
a11 a11 a21 a11 1

De fapt, toţi determinanţii r ai matricei A2 coincid cu cei ai matricei iniţiale deoarece …ecare linie i a matricei A2 se
obţine prin înmulţirea primei linii din A1 cu aa11 i1
şi adunând apoi la linia i din A1 pentru i = 2; ::; n şi este cunoscut c¼
a
determinanţii sunt invarianţi la aceste tipuri de transform¼ ari : În particular, 2 al matricei A2 este nenul, obţinând din
(2) (2)
nou a11 6= 0 şi a22 6= 0:
Consider¼ am acum matricea Frobenius
2 3 2 3
1 0 0 ::: 0 0
6 0 1 0 ::: 0 7 6 0 7
6 7 6 7
6 a32
(2) 7 6 a(2) 7
6 7 6 32 7
6 0 1 ::: 0 7 6 (2) 7
6 a22
(2) 7 6 7
M2 = 6 7 = In m2 eT2 ; unde m2 = 6 a22 7 :
6 .. .. .. .. 7 6 .. 7
6 . . . . 7 6 . 7
6 7 6 7
6 an2
(2) 7 6 a(2) 7
4 5 4 n2 5
0 (2)
0 ::: 1 (2)
a22 a22

Notând A3 = M2 A2 ; obţinem 2 3
(3) (3) (3) (3)
a11 a12 a13 ::: a1n
6 (3) (3) (3) 7
6 0 a22 a23 ::: a2n 7
6 (3) (3) 7
A3 = 6
6 0 0 a33 ::: a3n 7;
7
6 .. .. .. .. 7
4 . . . . 5
(3) (3)
0 0 an3 ::: ann

12
unde 8 (3) (2)
>
< aij = aij ; pentru i = 1; 2; şi j = 1; :::; n;
(2) (2)
(3) (2) ai2 a2j :
>
: aij = aij ; pentru i; j = 3; :::; n
(2)
a22
Un calcul simpu ne arat¼
a c¼
a

(2) (2) a11 a12 a13


(3) (2) a32 a23 1 3
a33 = a33 (2)
= (1) (2)
a21 a22 a23 = 6= 0:
a22 a11 a22 a31 a32 a33 2

(r)
În general, determinanţii r ai matricilor Ak r¼
amân neschimbaţi, obţinem arr 6= 0 şi se poate considera matricea
Frobenius: 2 3
1 0 0 ::: 0 2 3
6 .. 7 0
6 . 7 6 7 ..
6 7 6 7 .
6 0 1 0 ::: 0 7 6 7
6 7 6 0 7
6 (r)
ar+1;r 7 6 (r) 7
6 7 6 7
Mr = 6 0 ::: 0 7 = In mr eTr ; unde mr = 6 ar+1;r 7:
6 (r)
arr 7 6 a(r)
r;r 7
6 .. 7 6 . 7
6 7 6 . 7
6 . 7 6 . 7
6 (r) 7 4 a(r) 5
4 anr 5 n;r
0 ::: (r)
0 ::: 1 (r)
ar;r
arr
Dac¼
a not¼
am cu Ar+1 = Mr Ar ; atunci
2 (r+1) (r+1) (r+1) (r+1)
3
a11 a12 ::: a1r ::: a1n
6 (r+1) (r+1) (r+1) 7
6 0 a22 ::: a2r ::: a2n 7
6 .. .. .. .. 7
6 7
6 . . . . 7
6 7
Ar+1 = 6 6 0 0 ::: arr
(r+1)
::: arn
(r+1) 7;
7
6 (r+1) (r+1) 7
6 0 0 ::: 0 ar+1;r+1 ::: ar+1;n 7
6 .. .. .. .. .. 7
6 7
4 . . . . . 5
(r+1) (r+1)
0 0 ::: 0 an;r+1 ::: ann

unde 8 (r+1) (r)


>
< aij = aij ; pentru i = 1; :::; r; şi j = 1; :::; n;
(r) (r)
(r+1) (r) air arj :
>
: aij = aij ; pentru i; j = r + 1; :::; n
(r)
arr
În …nal (r = n 1) se obţine matricea superior triunghiular¼
a
2 (n) (n) (n)
3
a11 a12 ::: a1r
6 (n) (n) 7
6 0 a22 ::: a2n 7
U = An = Mn 1 ::: M2 M1 A=6
6 .. .. .. 7
7 (4)
4 . . . 5
(n)
0 0 ::: ann

Not¼am cu M = Mn 1 Mn 2 ::: M2 M1 şi cum toate matricele M1 ; :::; Mn 1 sunt inferior triunghiulare, la fel este
şi M: Obţinem astfel concluzia punctului (i) al teoremei deoarece U = M A este superior triunghiular¼
a:
Punctul (ii) rezult¼
a acum din egalitatea (4), observând c¼a
1 1
A = M1 M2 ::: Mn 11 U

iar matricea L := M1 1 M2 1 ::: Mn 11 ; cf. Propoziţiei 2.3, este un produs de matrici Frobenius şi, în particular, inferior
triunghiular¼a.
Observaţie. Scrierea lui A ca un produs dintre o matrice L inferior triunghiular¼ a cu 1 pe diagonala principal¼ a şi o
matrice U superior triunghiular¼ a A = L U din teorema de mai sus poart¼ a numele de descompunere sau factorizare LU.
Matricile L şi U cu propriet¼aţile de mai sus sunt unice. Algoritmul pentru factorizarea LU este programat în MATLAB
şi poate … apelat cu secvenţa [L; U ] = lu(A)
2 (se a…şeaz¼
3a cele dou¼
a matrici).
5 2 1
Exemplu. Consider¼ am matricea A = 4 5 6 2 5 : Obţinem:
4 2 1

13
2 3 2 3
5 2 1 1 0 0
6 1 1 0 7;
A1 = 4 5 6 2 5; M1 = 4 5
4
4 2 1 0 1
2 3 2 5 3
5 2 1 1 0 0
6 8 1 7; 6 0 1 0 7;
A2 = 4 0 5 M2 = 4 5
18 9 9
0 0 1
2 5 5 3 2 20 3
5 2 1 1 0 0
6 8 1 7; 6 1 1 0 7:
U = A3 = 4 0 5 M = M2 M1 = 4 5
9 7 9
0 0 1
4 20 20
Descompunerea LU a matricii A este dat¼
a de

A = L U = M1 1 M 2 1 U =
2 3 2 3 2 3
1 0 0 5 2 1 5 2 1
6 1 1 0 7 6 0 8 1 7=4 5
=4 5 4 5 6 2 5
4 9 9
1 0 0 4 2 1
5 20 4
Consider¼
am sistemul: 8
< 5x1 + 2x2 + x3 = 12
5x1 6x2 + 2x3 = 1 ;
:
4x1 + 2x2 + x3 = 3
a c¼
arui soluţie este x1 = 1; x2 = 2; x3 = 3: Sub form¼
a matriceal¼
a sistemul se scrie: Ax = b: Acest sistem este echivalent
cu urm¼atorul sistem: (M2 M1 A)x = (M2 M1 )b: Efectuând calculele se obţine:
8
< 5x1 + 2x2 + x3 = 12
>
8x2 + x3 = 13 :
>
: 9 27
x3 =
4 4
Acest ultim sistem este unul superior triunghiular, foarte simplu de rezolvat.

2.3.1 arul operaţiilor pentru determinarea lui U şi a vectorului M b


Num¼
(r)
air (r) (r)
Pentru o linie …xat¼
a i se calculeaz¼
a (r)
;apoi înmulţirile cu arj ; r + 1 j n; şi se adun¼a aij ; r + 1 j n:
arr
(r+1)
La fel şi pentru bi : Sunt 2(n r) + 3 operaţii pentru …ecare linie i; r + 1 i n; iar pentru …ecare etap¼ a vor …
Xn
2 1 7
(n r)[2(n r) + 3] operaţii. În total vor … 2(n r)2 + 3(n r) = n3 + n2 n operaţii elementare. Dac¼a
r=1
3 2 6
ad¼ am şi cele n2 operaţii pentru rezolvarea sistemului triunghiular, rezult¼
aug¼ a c¼a num¼ arul de operaţii pentru rezolvarea
2 3 3 2 7
sistemului Ax = b este n + n n:
3 2 6
(r)
Observaţie. Dac¼ a pivotul este "foarte mic", adic¼ a arr << 1, atunci împ¼ arţi-rile la acest pivot produc erori de rotunjire
foarte mari, care altereaz¼
a soluţia. În acest caz se recomand¼
a schimbarea pivotului. Se poate alege un nou pivot
n o
(r)
r = air = max a(r)
rr j r j n

sau n o
(r) (r)
r = ajr = max akl j r k n; 1 l n :

Aceasta presupune schimbarea între ele a dou¼


a linii şi eventual a dou¼
a coloane.
D¼am în continuare algoritmul MATLAB pentru rezolvarea prin metoda lui Gauss a sistemelor de ecuaţii liniare, f¼
ar¼
a
schimbarea pivotului.

2.3.2 Algoritmul Gauss


% Introducere matrice A a coeficienţilor
% Introducere vector b al termenilor liberi
% Introducere n, dimensiunea matricii A
A_v=A;
b_v=b

14
for r=1:n-1 %La fiecare pas r=1..n-1
fprintf(’Etapa %g’,r);
for i=r+1:n
for j=r:n
A(i,j)=A_v(i,j)-(A_v(i,r)*A_v(r,j))/A_v(r,r);
end
b(i)=b_v(i)-A_v(i,r)*b_v(r)/A_v(r,r);
end
A_v=A;
b_v=b;
end
%rezolvarea sistemului triunghiular
x=zeros(n,1);
x(n)=b(n)/A(n,n);
for i=n-1:-1:1
s=0;
for j=i+1:n
s=s+A(i,j)*x(j);
end
x(i)=(b(i)-s)/A(i,i);
end
disp(’Solutia sistemului prin metoda lui Gauss’);
x
Exemplu. Pentru valori mari ale lui n metoda lui Gauss prezentat¼a în algoritmul anterior produce erori mari, chiar
pentru sisteme simple. De exemplu:
8 1 1
>
> n3 x1 n3 x2 +n3 x3 + : : : +n3 xn = n3 + n3 (n 1)
>
< n3 x1 + 13 x2 +n3 x3 + : : : +n3 xn 1
n = n3 + n3 (n 1)
.. .. .. .. .. : (5)
>
> . . . . .
>
: 3
n x1 +n3 x2 +n3 x3 + : : : + n13 xn = 1
n3 + n3 (n 1)

Deşi este un sistem foarte simplu, erorile obţinute rezolvând acest sistem cu metoda lui Gauss nu pot … neglijate. Rezolvând
sistemul (matematic) se obţine imediat ca soluţie vectorul x

xi = 1; 8i = 1; ::; n:

Pe de alt¼
a parte, notând cu x soluţia obţinut¼
a în MATLAB şi cu e eroarea de calcul,

e = kx x k1 = max jxi xi j ;
i=1;::;n

obţinem urm¼
atorul tabel:
n 6 10 100 200
11 9
e 1:4552 10 1:6153 10 0:1953 54:3131

15

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