Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Determinanti numerici cl.XII

2,449 views

Published on

Metodele numerice de calcul al determinantilor si algoritmii pentru implementarea acestor metode.

Published in: Business
  • Be the first to comment

Determinanti numerici cl.XII

  1. 1. Determinanţi. Definiţie.Algoritmul de calcul aldeterminantilornumerici. Andrei Nosatii
  2. 2. Determinanţi ai matricelor de ordin 1, 2, 3 I. Matricea de ordinul 1: II. Matricea de ordinul 2: A=(a1,1); a11 a12 A det(A)=a11a22-a12a21 det(A)= a1,1 a21 a22II. Matricea de ordinul 3: a11 a12 a13 A a21 a22 a23 a31 a32 a33 det( A) a1,1a2,2 a3,3 a1,3a2,1a3,2 a1,2 a2,3a3,1 a1,3a2,2 a3,1 a2,1a1,2a3,3 a1,1a2,3a3,2 .
  3. 3. minor de ordin n-1 (Ai,j) al elementului ai,j al matricei A deordin n( n>1 ) - determinantul matricei de rang n-1,obţinută din matricea A prin excluderea liniei i şi a coloanei j.a1,1 a1,2 ... a1, j ... a1,n 1 3 7 0 2a2,1 a2,2 ... a2, j ... a2, n A 0 0 2 ; A1,2 det 2. 1 1 ... 1 2 1ai ,1 ai ,2 ... ai , j ... ai ,n 1 3 7 1 7 ... A 0 0 2 ; A2,2 det 8. 1 1an ,1 an ,2 ... an , j ... an ,n 1 2 1
  4. 4. determinant al matricei A de rang n - valoarea expresiei: n 1 j ( 1) a1 j A1, j j 1 a1,1 a1,2 a1,3 a1,4 a2,1 a2,2 a2,3 a2,4A , det( A) a1,1 A1,1 a1,2 A1,2 a1,3 A1,3 a1,4 A1,4 . a3,1 a3,2 a3,3 a3,4 a4,1 a4,2 a4,3 a4,4
  5. 5. Definiţia determinantului satisface condiţia de consistenţă, deoarece:• Există un caz elementar (determinantul matricei de ordinul 1)• Determinantul matricei de ordinul n se calculează cu ajutorul determinantului pentru matricea de ordin n-1 n>1.
  6. 6. Algoritm(Matricea A de ordinul n)Caz elementar:Dacă ordinul matricei A este 1, det(A)=a1,1, altfel:Cazul de reducere:Determinantul matricei A se dezvoltă după linia 1. 0. Pentru j de la 1 la n : Se formează matricea M1,j prin excluderea din matricea A a liniei 1 şi coloanei j. (Ordinul M1,j este n-1. Ea corespunde minorului A1,j) Se calculează determinantul det (M1,j) prin apel recursiv la algoritmul curent. Se actualizează valoarea determinantului + (-1)1+jdet(M1,j)
  7. 7. const nmax=10;type mat=array[1..nmax,1..nmax] of real;function det(var x:mat; t:integer) : real; var i, j, k, l : integer; s : real; minor : mat;begin if t=1 then det:=x[1,1] {caz elementar} 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]*det(minor, t-1) else s:=s-x[1,k]*det(minor, t-1); end; det:=s; end; end;
  8. 8. Pentru calculul determinanţilor pot fi folosite următoarele proprietăţi ale matricelor numerice:1: Dacă de o parte a diagonalei principale a matricei A pentru care se calculează determinantul sunt numai zerouri, atunci2: La schimbarea cu locul a două linii (coloane) ale matricei, semnul determinantului trece în opus.3: La adăugarea la o linie a matricei a altei linii înmulţite cu un număr, valoarea determinantului nu se schimbă.
  9. 9. Function calcul(x:mat;t:integer):real;var i,j,k,l : integer; r : real;begin for i:=1 to t-1 do begin for j:=i+1 to t do if x[i,i]=0 then begin begin r:=-x[j,i]/x[i,i]; k:=i; for k:=i to t do for j:=i+1 to n do x[j,k]:=x[j,k]+x[i,k]*r; if x[j,i]<>0 then k:=j; if k=i then begin end; calcul:=0; exit; end; end r:=1; else for j:=1 to n do for i:=1 to t do begin r:=x[i,j]; r:=r*x[i,i]; calcul:=r;x[i,j]:=x[k,j]; end; x[k,j]:=-r; end; end;

×