Documente Academic
Documente Profesional
Documente Cultură
MN 02
MN 02
Erorile produse ca urmare a calculului în virgulă mobilă sunt erori de trunchiere. Acestea
apar ca urmare a faptului că numerele sunt reprezentate cu un număr finit de zecimale.
Notaţii
x - valoarea exactă a unei mărimi;
x - valoarea aproximativă a aceleiaşi mărimi;
ex - eroarea de trunchiere.
x y x ex y e y x y x e y y ex ex e y
Observaţie
La operaţia de înmulţire eroarea produsă depinde nu numai de erorile termenilor care
intervin în operaţia respectivă dar şi de valoarea acestora.
ex x
ex 2
ey
y
y y
Observaţie
La operaţia de împărţire eroarea produsă depinde nu numai de erorile termenilor care
intervin în operaţia respectivă dar şi de valoarea acestora, cu cât împărţitorul este mai
mic cu atât valoarea erorii este mai mare.
Ca urmare rezultă că în procesul de inversare a unei matrici este de preferat ca la fiecare
etapă să se rearanjeze matricea, prin permutări de linii şi coloane, astfel încât termenul
de pe diagonală să fie cel cu valoarea absolută maximă la etapa respectivă. Acest proces
poartă denumirea de pivotare şi poate fi efectuat în două moduri:
Pivotare parţială, dacă la fiecare etapă se determină valoarea maximă de pe
coloana corespunzătore etapei respective
Pivotare totală, dacă la fiecare etapă se determină valoarea maximă din întreaga
matrice.
Există o categorie de matrici numite slab condiţionate care se caracterizează prin aceea
că o mică modificare asupra valorii unui termen al matricii determină o modificare
importantă asupra termenilor matricii inverse. Aceste matrici se caracterizează prin aceea
că valoarea determinantului matricii este mult mai mic decât termenii matricii.
Exemplu:
100 10 1 0,2 2
A ; A 5 ; A
9,5 1 1,9 20
100 10 1 1 10
A ; A 1 ; A
9,9 1 9,9 100
Erorile de trunchiere pot determina obţinerea unor rezultate complet diferite faţă de
valoarea reală a matricii inverse. Ca urmare pentru calculul matricii inverse se va utiliza un
algoritm iterativ care permite efectuarea corectării matricii inverse până când se obţine
rezultatul cu precizia dorită.
ALGORITMUL LUI HOTTELING PENTRU CALCULUL INVERSEI UNEI
MATRICI
e1 1 a d1 1
Algoritmul constă în determinarea unui şir de aproximări d2, d3, d4, … a inversului
numărului a astfel încât erorile să tindă spre zero.
Pentru a realiza condiţia cerută este necesar să se determine o relaţie de recurenţă astfel încât
eroarea la un moment dat să poată fi exprimată sub forma unei puteri a lui e1. Aceasta
deoarece:
lim e1k 0
k
Se pune condiţia: e2 1 a d 2 e12
din care rezultă succesiv:
e12 e1 e1 1 a d1 1 a d1 1 2 a d1 a 2 d12
adică:
e12 1 a d1 1 1 a d1 1 a d1 1 e1
şi
d 2 d1 1 e1
d 3 d 2 1 e2 e3 1 - a d 3
……………………..
d k d k 1 1 ek 1 ek 1 - a d k
care continuă până când ek devine mai mic decât o valoare impusă.
Pentru aplicarea algoritmului în cazul matricilor se va utiliza noţiunea de normă a unei
matrici, definită astfel:
n
N A max
ai, j
Dacă N A 1 atunci lim N A n 0
i j 1
n
Pentru a calcula inversa unei matrici utilizând algoritmul lui Hotteling se va proceda după
cum urmează:
Presupunem:
A - Matricea pentru care dorim să calculăm inversa
D1 - Prima aproximare a inversei matricii, determinată cu algoritmul descris anterior
E1 U A D1
D2 D1 U E1 E 2 U - A D2
D3 D2 U E 2 E3 U - A D3
……………………….
Dk Dk 1 U E k 1 E k U - A Dk
Concluzie
Calculul inversei unei matrici se va face parcurgând următoarele etape:
determinarea unei prime aproximări a inversei prin algoritmul de inversare
direct, de preferat utilizând pivotarea parţială sau totală;
corectarea valorii inversei prin parcurgerea algoritmului lui Hotteling.
REZOLVAREA SISTEMELOR DE ECUAŢII LINIARE
Metode directe
Constau în obţinerea soluţiei printr-un algoritm cu un număr finit de paşi (de regulă
egal cu numărul de ecuaţii ale sistemului) prin aducerea matricii de coeficienţi ai
sistemului la o formă particulară ( triunghiulară sau matrice unitate).
În cazul sistemelor slab condiţionate metoda se aplică repetat până la obţinerea soluţiei
cu o precizie impusă iniţial.
(n)
x
Ca urmare soluţia sistemului va fi: i bi , i 1, n
Etapa 1
Se corectează soluţia obţinută la etapa precedentă, astfel:
Se înlocuieşte soluţia în sistem: A X 1 B E1
în care: E1 este matricea de eroare.
Se rescrie sistemul sub forma: A X 1 E1 B
A X 1 A X 1 B A X 1 X 1 B
După Etapa 1, soluţiile vor fi formate din soluţiile obţinute la Etapa 0 la care se adaugă
corecţiile obţinute la Etapa 1, prin rezolvarea ecuaţiei de corecţie, adică:
X X 1 X 1
Dacă erorile sunt mai mici decât o valoare impusă iniţial , atunci procedeul de
corectare se încheie, în caz contrar se efectuează o noua etapă de corecţie.
Procedeul se reia până când erorile obţinute devin mai mici decât valoarea impusă
iniţial. În final soluţia sistemului se va obţine sub forma:
X X 1 X 1 X k
j n
ai , i ai , j , i 1, n
j 1
j i
xi( 0) 0 , i 1, n
Scopul metodelor este acela de a corecta succesiv soluţia iniţială până la obţinerea
soluţiei reale a sistemului.
Metoda Jacobi
Aplicarea metodei presupune scrierea sistemului sub o formă în care din fiecare ecuaţie se
explicitează succesiv câte o necunoscută. Ca urmare, dacă sistemul iniţial este:
n
ai, j x j bi , i 1, n
j 1 1 j n
acesta se rescrie sub forma: xi b a x , i 1, n
ai , i i j 1 i , j j
j i
O iteraţie, k, a metodei Jacobi constă în determinarea soluţiei sistemului, corespunzătoare
acelei iteraţii, prin înlocuirea în sistem a soluţiilor determinate la iteraţia precedentă.
La prima iteraţie se utilizează soluţia de start. Ca urmare pentru o iteraţie oarecare k, se
poate scrie:
1 j n
(k )
xi bi ai , j x j
( k 1)
, i 1, n
ai , i
j 1
j i
Algoritmul se încheie atunci când diferenţa dintre două soluţii determinate succesiv este
mai mică decât o valoare impusă iniţial, adică este îndeplinită condiţia:
xi( k ) xi( k 1) , i 1, n
Metoda Gauss-Seidel
1 j i 1 j n
xi( k ) bi
ai, i
ai, j x (jk ) ai, j ( k 1)
xj ,
i 1, n
j 1 j i 1
Metoda Southwell
n
ri(1) xi( 0) bi , j x (j0) ci
j 1
j i
(k )
xm (0)
xm rm( 1 ) rm 2 rm k
(k )
După ce a fost obţinută valoarea x m se recalculează resturile utilizând această valoare a
necunoscutei, se obţin astfel valori noi pentru celelalte n-1 resturi şi se alege valoarea
maximă corectându-se necunoscuta corespunzătoare. Procedeul se repetă, în acelaşi mod,
până la corectarea tuturor necunoscutelor. Algoritmul se încheie atunci când diferenţa dintre
două soluţii determinate succesiv este mai mică decât o valoare impusă iniţial, adică este
îndeplinită condiţia:
xi( k ) xi( k 1) , i 1, n
Exemplu
10 x1 2 x2 8
Se consideră sistemul:
x1 10 x 2 9
x1 0,2 x 2 0,8
0,1 x1 x2 0,9
Respectiv: