METODE NUMERICE
PAGE 18METODE NUMERICE
3. Rezolvarea sistemelor de ecuaii algebrice liniare
Metodele de rezolvare a sistemelor de ecuaii liniare, se pot
mpri n dou categorii:
1. Metode exacte(directe) care sunt algoritmi finii pentru
calculul soluiilor sistemelor de ecuatii liniare:
Metoda lui Cramer, bazat pe calculul determinantilor Metoda
eliminarilor succesive (metoda lui Gauss)2. Metode iterative care
permit gsirea soluiei sistemelor liniare cu o anumit precizie,
ntr-un numr finit de pai: Metoda lui Jacobi
Metoda Gauss-Seidel
3.1. Metoda lui Cramer
Considerm urmtorul sistem de n ecuaii liniare cu n
necunoscute:
Conform noiunilor de algebr din liceu, dac un sistem liniar cu n
ecuaii i n necunoscute are determinantul principal nenul, atunci el
are soluie unic, determinat prin regula lui Cramer, i anume :
unde, se obin prin nlocuirea n a a coloanei corespunztoare
necunoscutei xi, prin coloana termenilor liberi.
Rezolvarea efectiv a sistemului de n ecuaii cu n necunoscute se
face prin calculul a n + 1 determinanti.
Deci, trebuie s construim un algoritm de calcul numeric al
determinantilor :
S presupunem, de exemplu, c avem un determinant de ordin 3, n
forma general:
Dac elementul a11 este diferit de zero, atunci cutm s ajungem la
un determinant care s conin pe prima coloan numai pe zero, cu
excepia elementului a11. Acesta se poate obine succesiv nmulind
prima linie cu i adunnd rezultatul la linia a doua. De asemenea
nmulind prima linie cu i adunnd la linia a treia se ajunge la un
determinant, cu aceeai valoare ca cel iniial, dar care are pe prima
coloan un singur element nenul. Deci determinatul devine:
n continuare, dac este diferit de zero, putem, fr a afecta
valoarea determinatului, s nmulim linia a doua cu i s adunm la a
treia; vom obtine :
Evident valoarea acestui determinant este egal cu .nainte de a
generaliza acest procedeu, trebuie s vedem ce se ntmpl dac, de
exemplu, la primul pas, a11 = 0. n aceast situaie, dac pe prima
coloan toate elementele sunt nule, atunci determinantul este
zero.
Dac exist, totui un element nenul pe prima coloan, atunci putem
permuta linia care conine acel element nenul, cu prima linie.
Obinem un nou determinant, avnd semnul schimbat fa de cel
anterior.Procedeul poate fi aplicat n continuare ca mai sus, cu
singura observaie c determinantul i schimb semnul de fiecare dat
cnd se efectueaz o permutare de dou linii.
n general, pentru calculul unui determinant de ordin n putem
folosi metoda de mai sus. Astfel, avem :
Pentru rezolvarea sistemului de n ecuaii cu n necunoscute vom
construi o funcie de calcul a determinantului conform metodei de
mai sus, pe care o vom apela, prima dat pentru calculul
determinantului principal al sistemului () i apoi de n ori pentru
calculul celor n determinani corespunztori celor n necunoscute:
.Soluia n limbajul C++ :
#include
#include
#include
float a[10][10],b[10],x[10],save[10],dp;
int i,j,n;
float determinant(float a[10][10], int n)
{
int i,j,k,l,t,iv; float temp,d=1; for(j=1;j