Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AstronomieBiofizicaBiologieBotanicaCartiChimieCopii
Educatie civicaFabule ghicitoriFizicaGramaticaJocLiteratura romanaLogica
MatematicaPoeziiPsihologie psihiatrieSociologie


Metoda relaxarii

Matematica



+ Font mai mare | - Font mai mic



Metoda relaxarii

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



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 966
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved