Sunteți pe pagina 1din 2

Model de lucrarea de laborator Nr.

7
Tema: Rezolvarea sistemelor de ecuaţii algebrice liniare prin metoda
Gauss-Seidel

I. Formularea problemei.
Fie sistemul de ecuaţii algebrice liniare
AX=B (1)
Unde A=(aij), i,j=1,2,...,n este o matrice regulată de ordinul n (det A ≠ 0),
B=(b1,b2,...bn)- un vector cunoscut, iar X –vector necunoscut. Se cere de
rezolvat sistemul dat prin metode directe. În lucrarea dată soluţia sistemului se
poate determina şi după formula X=A-1B, calculîndu - se în prealabil A-1.
Metodele directe se caracterizează prin aceea că descrie algoritmi, care
permit să determinăm soluţia exactă în rezultatul efectuării unui număr finit de
operaţii.
Soluţia se căutată cu exactitatea dată ε (ε=10-3- 10-5), folosind în acest scop 2
metode.

II. Indicaţii metodice


Lucrarea de laborator constă în 2 etape:
1. Rezolvarea matematică a problemei formulate.
Se determină soluţia sistemului dat prin metoda lui factorizării:
Exemplu 2. Să se determine soluţiile sistemului de ecuaţii liniare prin metoda lui Gauss
–Seidel:
 3x1 + 10 x 2 − x3 + 2 x 4 = 1,
20 x + 4 x + 5 x + 3 x = 15,
 1 2 3 4

 19 x1 + 5 x 2 − 5 x3 − x 4 = 21,
 − x1 + x 2 − 2 x3 + 5 x 4 = 17.
Dacă eroare de calcul este ε = 10 −3 .
Rezolvare. Vom prelua calculele de la exemplu precedent şi vom continua doar cu
rezolvările, corespunzătoare metodei lui Gauss- Seidel. Pornim de la sistemul A′x = b ′ , formăm
şirul lui Gauss- Seidel:
 x1(k +1) = −0,2 x 2(k ) − 0,25 x3(k ) − 0,15 x 4(k ) + 0,75,
 (k +1)
 x2 = −0,3x1(k +1) + 0,1x3(k ) − 0,2 x 4(k ) + 0,1,
 (k +1)
 x3 = −0,1x1(k +1) + 0,1x 2(k +1) − 0,4 x 4(k ) − 0,6,
 x (k +1) = 0,2 x1(k +1) − 0,2 x 2(k +1) + 0,4 x3(k +1) + 3,4.
 4
Considerăm drept condiţie de oprire: x (k ) − x (k −1) = = max xi(k ) − xi(k −1) < ε = 10 −2 şi în calitate
∞ 1≤i ≤ n

de vector iniţial: x (0 ) = (0,0,0,0 ) .


La primul pas avem
 x1(1) = −0,2 x 2(0 ) − 0,25 x3(0 ) − 0,15 x 4(0 ) + 0,75,
 (1)
 x2 = −0,3 x1(1) + 0,1x3(0 ) − 0,2 x 4(0 ) + 0,1,
 (1)
 x3 = −0,1x1(1) + 0,1x 2(1) − 0,4 x 4(0 ) − 0,6,
 x (1) = 0,2 x1(1) − 0,2 x 2(1) + 0,4 x3(1) + 3,4.
 4
Se obţine soluţia aproximativă x (0 ) = (0,75;0,125;−0,6875;3,3) .
Verificăm condiţia de oprire:
x (k ) − x (k −1) = max xi(k ) − x i(k −1) = max( x1(1) − x1(0 ) ; x 2(1) − x 2(0 ) ;
∞ 1≤ i ≤ n 1≤ i ≤ n

x 3(1) − x 3(0 ) ; x 4(1) − x 4(0 ) )=


= max ( 0,75 − 0 ; 0,125 − 0 ; − 0,6875 − 0 ; 3,3 − 0 ) =
1≤ i ≤ n

= max(0,75;0,125;0,6875;3,3) = 3,3 > ε = 10 − 2 .


1≤ i ≤ n

La fel procedăm şi pentru ceilalţi paşi, obţinem:

k x1 x2 x3 x4 x (k ) − x (k −1)

0 0 0 0 0 -
1 0,75 -0,125 -0,6875 3,3 3,3
2 0,451875 -0,764312 -2,041618 2,826590 1,354118
3 0,980278 -0,966263 -1,92619 3,020632 0,537403
4 0,971705 -0,988256 -2,004248 2,990293 0,078058
5 1,000169 -0,998534 -1,995987 3,001345 0,028464
6 0,998501 -0,999418 -2,000329 2,9994552 0,004342
Deoarece x ( 6 ) − x (5 ) ∞ = 0,004342 < 0,01 = 10 −2 , aproximăm soluţia prin x (6 ) . Deci:
x1 = 0,998501; x 2 = −0,999418; x3 = −2,000329; x 4 = 2,9994512. Soluţia exactă este: x1 = 1;
x 2 = −1; x3 = −2; x 4 = 3.
Răspuns: {(1;−1,−2;3)} .

2. Alcătuirea unui program de calcul pentru metoda indicată şi pentru


exemplul dat.
Să se implementeze un program în limbajul de programare dorit (Pascal,
MatLab, C, C++, Java, etc.). Să se afişeze şi rezultate obţinute în urma
implementării programului.

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