Referat Rezolvarea Sistemelor De Ecuatii Liniare Folosind Regula Lui Cramer

Mai jos puteti citi fragmente din Referat Rezolvarea Sistemelor De Ecuatii Liniare Folosind Regula Lui Cramer si de asemenea puteti face Download Referat Rezolvarea sistemelor de ecuatii liniare folosind regula lui Cramer

Citeste fragmente din Referat Rezolvarea Sistemelor De Ecuatii Liniare Folosind Regula Lui Cramer

Rezolvarea sistemelor de ecuatii liniare folosind regula lui Cramer Consideram urmatorul sistem de n ecuatii liniare cu n necunoscute: a11x1 + a12x2 + a13x3 + . . . + a1nxn = b1 a21x1 + a22x2 + a23x3 + . . . + a2nxn = b2 a31x1 + a32x2 + a33x3 + . . . + a3nxn = b3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . an1x1 + an2x2 + an3x3 + . . . + annxn = bn Acest sistem de n ecuatii liniare cu n necunoscute este compatibil determinat, iar solutia sa este data de formulele lui Cramer, daca determinantul sau (d) este nenul. Conform Regulii lui Cramer, solutiile sunt de forma: . . . . . . . . . . . , unde d = det A este determinantul sistemului, fiind matricea sistemului, . . . . . . . . . . . . . . . . . şi dj, 1≤j≤n, determinantul care se obtine din d prin inlocuirea coloanei j prin coloana : De exemplu: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . s.a.m.d. Un sistem de ecuatii care nu are solutii se numeste incompatibil. Un sistem de ecuatii liniare este incompatibil daca determinantul sau este nul şi unul din determinantii dj, 1≤j≤n, este nenul (atunci toti determinantii dj, 1≤j≤n, sunt nenuli). Un sistem de ecuatii care are mai mult de o solutie se numeste compatibil nedeterminat. Un sistem de ecuatii liniare este compatibil determinat daca determinantul sau este nul şi unul din determinantii dj, 1≤j≤n, este nul (deoarece atunci toti determinantii dj, 1≤j≤n, sunt nuli). Calculul determinantilor Sa consideram o matrice patratica de ordinul n. Vom forma toate produsele posibile de n elemente apartinand la linii şi coloane distincte. Un astfel de produs este de forma: a1i1 a2i2 . . . . . . . . anin unde i1, i2, . . . in sunt elementele distincte ale multimii {1, 2, . . . n}. Înseamna ca putem considera permutarea de gradul n şi putem scrie: a1i1 a2i2 . . . . . . . . anin = a1σ(1) a2σ(2) . . . . . . . . anσ(n) Numarul total al produselor de aceasta forma este egal cu numarul tuturor permutarilor de grad n, deci n!. Semnul acestor produse depinde de signatura permutarii, astfel încât daca permutarea este para, semnul produsului este +, iar daca este impara, semnul produsului este –. Signatura unei permutari Fie A = {1, 2, . . . n}. Definim submultimea M a produsului cartezian AxA ca fiind M = {(i, j) | 1≤i #include #include #include #include #include int n; int sign(int s[50]) {int m=0,v[50];//m este nr de inversiuni ale permutarii s for(int i=1;i<=n;i++) v[i]=0; for(int k=n;k>0;k--) for(int i=1;i<=n;i++) if(s[i]==k) {m+=n-i-v[i]; for(int j=1;j0) {as=0; //while(x[k]1) for(int i=1;i a ( * Z ú ü 䡭Љ䡳Љ㰀c d , 8 : < > @ B Z ^ ` b ö ø ú þ hÓ6 hÓ6 hÓ6 hÓ6 hÓ6 hÓ6 hÓ6 hÓ6 hÓ6 hÓ6 hÓ6 hÓ6 hÓ6 hÓ6 hÓ6 hÓ6 hÓ6 hÓ6 hÓ6 hÓ6 hÓ6 hÓ6 hÓ6 hÓ6 hÓ6 hÓ6 hÓ6 hÓ6 hÓ6 hÓ6 hÓ6 hÓ6 hÓ6 hÓ6 a[k][x[k]]; else {k++; x[k]=0; } else k--; } } void main() {float a[50][50],d,dn,b[50],col[50],x[50][2],nr; int i,j,coef; char *semn,*cifra,*s; clrscr(); i=0; j=1; semn=""; cifra=""; cout<<"Exemplu:"< 9 )); strcpy(s,cifra); nr=atoi(s); do {semn=""; cifra[0]=getch(); cifra[1]=0; if((cifra[0]>= 0 )&&(cifra[0]<= 9 )) {//cout<1)) cout<< + ; } if((nr!=1)&&(nr!=0)) cout<>b[j]; for(j=2;j<=n;j++) {i=0; char *s,*cifra; semn=""; //cifra=""; do semn[0]=getch(); while((semn[0]!= - )&&(semn[0]!= + )); if(semn[0]== - ) {coef=-1; //cout<< - ; } else coef=1; while(semn[0]!= = ) { s=" "; //semn=""; do {cifra[0]=getch(); cifra[1]=0; }while((cifra[0]< 0 )||(cifra[0]> 9 )); strcpy(s,cifra); nr=atoi(s); do {semn=""; cifra[0]=getch(); cifra[1]=0; if((cifra[0]>= 0 )&&(cifra[0]<= 9 )) {//cout<1)) cout<< + ; } if((nr!=1)&&(nr!=0)) cout<>b[j]; } /*cout<<"n="; cin>>n; for(j=1;j<=n;j++) for(i=1;i<=n;i++) {cout<<"a["<>a[i][j]; } for(j=1;j<=n;j++) {cout<<"b["<>b[j]; }*/ d=det(a); if (d) {for(i=1;i<=n;i++) {for(j=1;j<=n;j++) {col[j]=a[i][j]; a[i][j]=b[j]; } dn=det(a); x[i][0]=dn/d; x[i][1]=dn; for(j=1;j<=n;j++) a[i][j]=col[j]; } for(i=1;i<=n;i++) if(int(x[i][0])==x[i][0]) cout<< x <