Sunteți pe pagina 1din 4

IV.

REZOLVAREA NUMERICĂ A SISTEMELOR DE ECUAȚII LINIARE

a) Metodele analitice de rezolvare a ecuațiilor liniare sunt:



1) Kramer : 𝐴 ∙ 𝑥 = 𝐵 ⟹ 𝑥 =

2) Matrice atașată : 𝐴 ∙ 𝑥 = 𝐵
𝐴 ∙𝐴∙𝑥 = 𝐴 ∙𝐵
𝑥 =𝐴 ∙𝐵
În cazul în care sistemele au ecuații cu coeficienți apropiați, poate apărea un fenomen
de instabilitate:
𝑥 +2∙𝑥 =8
⟹∆= 0.0001
𝑥 + 2.0001 ∙ 𝑥 = 8.0002
𝑥 = 4;
𝑥 = 0;
𝑠𝑜𝑙𝑢ț𝑖𝑎 𝑒𝑠𝑡𝑒 ∶ 4, 0.

𝑥 +2∙𝑥 =8
⟹∆= −0.0001 ⟹ 𝑠𝑜𝑙𝑢ț𝑖𝑎 𝑒𝑠𝑡𝑒 12, −2.
𝑥 + 1.9999 ∙ 𝑥 = 8.0002

 Observația 1 : Trebuie avut în vedere că într-o ecuație, coeficienții pot reprezenta


valori măsurate sau calculate cu o anumită eroare. În exemplu dat, variația cu numai
2 miimi a unui coeficient , poate influența foarte mult rezultatul, sistemul fiind
instabil.

 Observația 2 : În cele ce urmează, sistemele de ecuații vor fi tratate la nivel de trei


ecuații și trei necunoscute , însă se va avea permanent în minte posibilitatea de
generalizare la 𝑛 ecuații și 𝑛 necunoscute.

b) Metoda Gauss
𝑎 ∙𝑥 +𝑎 ⋅𝑥 +𝑎 ∙𝑥 =𝑏
𝐹𝑖𝑒 𝑠𝑖𝑠𝑡𝑒𝑚𝑢𝑙 𝑑𝑒 𝑒𝑐𝑢aț𝑖𝑖: 𝑎 ∙ 𝑥 + 𝑎 ∙ 𝑥 + 𝑎 ∙ 𝑥 = 𝑏 →metoda Gauss constă
𝑎 ∙𝑥 +𝑎 ∙𝑥 +𝑎 ∙𝑥 =𝑏
în transformarea matricei atașate sistemului într-o matrice triunghiulară,sistemul ajungând
𝑥 + 𝑎 ∗ ∙ 𝑥 + 𝑎∗ ∙ 𝑥 = 𝑏 ∗
sub forma : 0 ∙ 𝑥 + 𝑥 + 𝑎∗ ∙ 𝑥 = 𝑏 ∗ ⟹

0∙𝑥 +0∙𝑥 + 𝑥 =𝑏

𝑥 = 𝑏∗
𝑥 = 𝑏 ∗ − 𝑎∗ ∙ 𝑥
𝑥 = 𝑏 ∗ − 𝑎 ∗ ∙ 𝑥 − 𝑎∗ ∙ 𝑥

Transformarea matricei atașate sistemului se bazează pe principii de la calculul


𝑎 𝑎 𝑎
determinanților de ordin superior , algoritm aplicat etapă cu etapă, astfel: 𝑎 𝑎 𝑎
𝑎 𝑎 𝑎
1
( )
Etapa 1: Se împarte linia 1 cu 𝑎 ⟹ ⟹ 𝑎 𝑎 𝑎
𝑎 𝑎 𝑎

1
Etapa 2: Din linia (2) se scade linia (1) înmulțită cu 𝑎 ⟹ (2) − (1) ∙ 𝑎 și din linia (3) se
1 𝑎 𝑎
scade linia (1)înmulțită cu 𝑎 ⟹ (3) − (1) ∙ 𝑎 ⟹ 0 𝑎 𝑎
0 𝑎 𝑎
Din aceste două etape ⟹ pe coloana 1 obțin 1 în poziția 𝑎 ș𝑖 0 în rest sub diagonala
principală .
După care etapele se repetă pentru linia (2), (3), … . , (𝑛), 𝑎𝑠𝑡𝑓𝑒𝑙:
- pentru linia (𝑘) se împarte cu 𝑎 și se prelucrează liniile de la (𝑘 + 1) până la 𝑛,
obținându-se 1 în poziția 𝑎 și 0 în rest pe coloana k, sub diagonala principală.
După parcurgerea tuturor liniilor, în urma transformărilor succesive, matricea se transformă în
matrice triunghiulară, iar necunoscutele se află conform descrierii de mai sus.

APLICAȚIE
Metoda Gauss pentru sisteme liniare

Să se determine prin metoda Gauss soluţiile sistemului:


 3  x1  4  x 2  2  x3  2

 x1  2  x 2  3  x3  36
7  x  7  x  2  x  33
 1 2 3

function A=gaussli1;
n=input('cate ecuatii si necunoscute? ');
A=input('matricea atasata sistemului = ');
B=input('matricea rezultatelor = ');
suma=0;
for p=1:(n-1)
B(p)=B(p)/A(p,p);
A(p,:)=A(p,:)/A(p,p);
for j=(p+1):n
B(j)=B(j)-B(p)*A(j,p);
A(j,:)=A(j,:)-A(p,:)*A(j,p);
end;
end;
x(n)=B(n)/A(n,n);
for k=(n-1):-1:1
c=A(k,(k+1):n);
wert=x((k+1):n);
wertt=(wert)';
suma=c*wertt;
x(k)=(B(k)-suma)/A(k,k);
end;
x

c) Metoda Gauss Jordan

Metoda Gauss Jordan este similară celei anterioare, numai că procesul de


prelucrare constă în obținerea de zerouri și deasupra diagonalei principale, astfel :
𝑎 𝑎 𝑎 1 0 0 𝑥 = 𝑏∗
𝑎 𝑎 𝑎 ⟹ 0 1 0 ⟹ 𝑥 = 𝑏∗
𝑎 𝑎 𝑎 0 0 1 𝑥 = 𝑏∗
2
 Observație : Având în vedere că există necesitatea împărțirii cu elementele de pe
diagonala principală , se dorește ca pe aceasta să se găsească termenii cei mai mari,
astfel încât înaintea procesului de prelucrare rezolvitorul va așeza ecuațiile într-o
formă în acest sens.
𝑥 +8∙𝑥 −𝑥 =7
Exemplu: 𝑥 + 2 ∙ 𝑥 − 10 ∙ 𝑥 = 8
3 ∙ 𝑥 − 𝑥 − 𝑥 = 10
Se va schimba ordinea ecuațiilor în sistem, astfel ca pe diagonala principală să se afle
termenii cei mai mari:
3 ∙ 𝑥 − 𝑥 − 𝑥 = 10
𝑥 +8∙𝑥 −𝑥 = 7
𝑥 + 2 ∙ 𝑥 − 10 ∙ 𝑥 = 8

APLICAȚIE
Metoda Gauss-Jordan pentru sisteme liniare

Să se determine prin metoda Gauss-Jordan soluţiile sistemului:


 3  x1  4  x 2  2  x3  2

 x1  2  x 2  3  x3  36
7  x  7  x  2  x  33
 1 2 3

function A=gausjrd;
n=input('cate ecuatii si necunoscute? ');
A=input('matricea atasata sistemului = ');
B=input('matricea rezultatelor = ');
suma=0;
for p=1:(n-1)
B(p)=B(p)/A(p,p);
A(p,:)=A(p,:)/A(p,p);
for j=(p+1):n
B(j)=B(j)-B(p)*A(j,p);
A(j,:)=A(j,:)-A(p,:)*A(j,p);
end;
end;
for k=n:-1:1
B(k)=B(k)/A(k,k);
A(k,k)=1;
for j=(k-1):-1:1
B(j)=B(j)-A(j,k)*B(k);
A(j,k)=0;
end;
end;
x=B;
A
x

METODA INVERSĂRII MATRICEI

Metoda inversării matricei este o metodă ce derivă din metoda Gauss Jordan, fiind
utilă la determinarea inversei unei matrice. Astfel, dacă se scrie ([𝐴] ∙ [𝐵] ∙ [𝐼 ] ) ca
fiind matricea extinsă formată din matricea atașată sistemului, coloana termenilor
3
liberi și matricea unitate de aceeași dimensiune cu 𝐴 și se prelucrează această matrice
extinsă după metoda Gauss Jordan , se va obține matricea ([𝐼 ] ∙ [𝑋] ∙ [𝐴 ]) unde 𝑋
este soluția sistemului [𝐴] ∙ [𝑋] = [𝐵], iar 𝐴 este inversa lui.

Metoda inversării matricelor

Să se determine matricea inversă a matricei ataşate sistemului şi soluţiile sistemului:


 x1  x 2  2  x3  x 4  5
 x  3  x  2  x  x  17
 1 2 3 4

 3  x1  x 2  3  x 3  x 4  18
 x1  3  x 2  4  x3  2  x 4  27

function f=metinv
A=input('matricea atasata sistemului = ');
B=input('matricea rezultatelor = ');
C=eye(size(A));
[m1 n1]=size(A);
if m1==n1,
D=[A B C];
[m n]=size(D);
wert=1:m;
for p=1:(m)
D(p,:)=D(p,:)/D(p,p);
wert1=[wert(1:(p-1)) wert((p+1):m)]
for j=wert1
D(j,:)=D(j,:)-D(p,:)*D(j,p);
end;
end;
D
x=D(:,m+1);
x
else
disp('atentie! matricea atasata sistemului trebuie sa fie patrata!');
end;

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