CATEGORII DOCUMENTE |
Astronomie | Biofizica | Biologie | Botanica | Carti | Chimie | Copii |
Educatie civica | Fabule ghicitori | Fizica | Gramatica | Joc | Literatura romana | Logica |
Matematica | Poezii | Psihologie psihiatrie | Sociologie |
Fie sistemul de n ecuatii liniare cu n necunoscute
(2.47)
cu aii ≠ 0 pentru .
Impartind fiecare ecuatie I prin - aii, sistemul (2.47) devine:
(2.48)
unde
Fie
aproximatia initiala a solutiei sistemului (2.48). Introducand aceste valori in (2.48) avem :
(2.49)
Notam
unde s reprezinta indicele restului cel mai mare si este cuprins intre 1 si n.
Dam aproximatiei cresterea . Restul de la pasul urmator , iar celelalte resturi i cu si i ≠ s, vor deveni:
Acest procedeu continua pana cand toate resturile sistemului transformat (2.48) se anuleaza in cadrul unei precizii date.
Observatie 2.6.1 Rezultatele se obtin, in cadrul preciziei date, prin adunarea tuturor si a lui corespunzatoare fiecarei necunoscute j si solutia trebuie controlata prin substitutie in ecuatiile initiale.
Exemplu 2.6.1 Sa se rezolve, prin metoda relaxarii, sistemul :
cu doua zecimale exacte.
Sistemul de mai sus se scrie :
Consideram drept aproximatie initiala a solutiei sistemului pe
Avem deci:
Deci
|
|
|
|
|
|
|
|
Deci
Observatie 2.6.2 Metoda relaxarii se poate aplica si in bloc in sensul ca toate variabilele sunt modificate cu aceeasi cantitate δ de cate ori este convenabil modificand restul (k = 1, 2, ) cu definit de
Observatie 2.6.3 Se pot utiliza subrelaxarea sau suprarelaxarea in sensul ca variatiile variabilelor sunt luate fie mici (pentru subrelaxare) fie mari (pentru suprarelaxare) pentru a obtine noi resturi cu semn egal sau respectiv opus aceluia al resturilor precedente.
Programul pentru metoda relaxarii cu limbajul C++
Programul rezolva un sistem de n ecuatii liniare cu n necunoscute compatibil determinat. Ca aproximare initiala este aleasa valoarea β. Criteriul de oprire este maximul valorilor absolute ale resturilor. Precizia este data in cadrul programului (eps).
Datele de intrare sunt: dimensiunea sistemului, coeficientii si termenii liberi.
# include<iostream.h>
# include<math.h>
# include<conio.h>
int n, i, j, t, p;
double a[10][10], b[10], x[10], r[10], emax, s, eps=0.00001;
void main (void)
cout<<"Introduceti termenii liberi;"<<endl;
for (i = 1; i <= n; i++)
i = 1;
t = 0;
do
while ((i <= n)&&(t = = 0));
if (t = = 1)
cout<<"Metoda nu converge!"<<endl;
else
do
x[p] + = r[p];
for (i = 1; i <= n; i++)
r[i] + = a[i][p]*rmax;
}
while (fabs(rmax)>eps);
cout<<"Solutia sistemului:"<<end;
for (i = 1; i <= n; i++)
cout<<"x("<<i<<")="<<x[i]<<endl;
}
getch ( );
}
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 966
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved