Sisteme de ecua ţii liniare Metoda  Kramer
Ex e mpl u Fie dat  s i stem ul de  e c ua ţ i i   liniare: Sistemul poate fi transcris în formă matriceală: A  x  =  b
În cazul în care   (A)    0  pentru matricea  A  există  matricea inversă  A -1 .  Atunci putem realiza următoarele tran...
Conform regulilor de formare a matricei inverse: Sistemul  x  =A -1 b   se descompune după componente: A  i,j  este minoru...
Vectorul soluţiei  x  este produsul matricelor din partea dreaptă a ultimei egalităţi. Prin urmare, componenta cu indicele...
Algoritm ul general : <ul><li>Determinăm   det(A) .  Dacă   = 0,  metoda nu poate fi aplicată - STOP. În caz contrar: ...
Structuri de date : <ul><li>Un tablou bidimensional   A[n,n]  –  pentru coeficienţii sistemului .  Linia   i   a tabloului...
Exemplu de  program: program  kramer; const  nmax=10; type   mat=array[1..nmax,1..nmax] of real; vec=array[1..nmax] of rea...
procedure   citeste   ( var  x:mat;  var  t:integer;  var  z:vec); var   i, j: integer;   f: text; begin   assign  (f, 'si...
function   calcul ( x:mat;t:integer):real; var   i,j,k,l:integer;   s: real;   minor:mat; begin   if  t=1  then   calcul :...
function  trans ( x:mat;t,l:integer):real; var   i   :   integer; begin for  i:=1  to  t  do  x[i,l]:=b[i];   trans := cal...
Upcoming SlideShare
Loading in …5
×

Metoda Cramer

9,289
-1

Published on

Metoda Cramer pentru rezolvarea sistemelor de ecuatii

Published in: Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
9,289
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
135
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Metoda Cramer

  1. 1. Sisteme de ecua ţii liniare Metoda Kramer
  2. 2. Ex e mpl u Fie dat s i stem ul de e c ua ţ i i liniare: Sistemul poate fi transcris în formă matriceală: A x = b
  3. 3. În cazul în care  (A)  0 pentru matricea A există matricea inversă A -1 . Atunci putem realiza următoarele transformări:
  4. 4. Conform regulilor de formare a matricei inverse: Sistemul x =A -1 b se descompune după componente: A i,j este minorul cu semn al elementului a i,j
  5. 5. Vectorul soluţiei x este produsul matricelor din partea dreaptă a ultimei egalităţi. Prin urmare, componenta cu indicele i a vectorului soluţie x este suma produselor elementelor liniei i a matricei A -1 cu elementele vectorului b. Numărătorul fracţiei din partea dreaptă a egalităţii este descompunerea unei matrice A + după coloana cu indicele i . (  (A + ) ) Matricea A + se obţine din matricea A prin înlocuirea coloanei i a coeficienţilor sistemului prin vectorul termenilor liberi b .
  6. 6. Algoritm ul general : <ul><li>Determinăm  det(A) . Dacă  = 0, metoda nu poate fi aplicată - STOP. În caz contrar: </li></ul><ul><li>Calculăm elementele soluţiei după formula </li></ul>
  7. 7. Structuri de date : <ul><li>Un tablou bidimensional A[n,n] – pentru coeficienţii sistemului . Linia i a tabloului va conţine coeficienţii ecuaţiei cu indicele i </li></ul><ul><li>Tabloul unidimensional B [n] – pentru stocarea termenilor liberi ai sistemului . Element ul B [i] al tabloului va stoca termenul liber al ecuaţiei cu indicele i . </li></ul><ul><li>Tabloul unidimensional X[n] – pentru stocarea soluţiilor sistemului . Element ul X[i] al tabloului va stoca component a x i a soluţiei . </li></ul>
  8. 8. Exemplu de program: program kramer; const nmax=10; type mat=array[1..nmax,1..nmax] of real; vec=array[1..nmax] of real; var a : mat; sol,b : vec; p,n : integer; de : real;
  9. 9. procedure citeste ( var x:mat; var t:integer; var z:vec); var i, j: integer; f: text; begin assign (f, 'sistem5.in'); reset (f); readln (f, t); for i:=1 to t do begin for j:=1 to t do read (f,x[i,j]); readln (f , z[j]); end; close (f); end ;
  10. 10. function calcul ( x:mat;t:integer):real; var i,j,k,l:integer; s: real; minor:mat; begin if t=1 then calcul :=x[1,1] else begin s:=0; for k:=1 to t do begin for i:=1 to t-1 do for j:=1 to k-1 do minor[i,j]:=x[i+1,j]; for i:=1 to t-1 do for j:=k to t-1 do minor[i,j]:=x[i+1,j+1]; if odd(k) then s:=s+x[1,k]* calcul (minor, t-1) else s:=s-x[1,k]* calcul (minor, t-1); end ; calcul :=s; end; end;
  11. 11. function trans ( x:mat;t,l:integer):real; var i : integer; begin for i:=1 to t do x[i,l]:=b[i]; trans := calcul (x,t); end; begin citeste (a,n,b); de:= calcul (a,n); if de<>0 then begin for p:=1 to n do sol[p]:= trans (a,n,p)/de; for p:=1 to n do writeln ('x[',p,']=',sol[p]); end else writeln ('Calcul imposibil'); end.
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×