[ brankec @ 27.03.2007. 20:19 ] @
Kada izvršim ovaj kod dobijem iste vrednosti za x1 i x2 kao i na papiru samo što je jedna od vrednosti sa pogrešnim predznakom? Nije mi jasno kako.

Tema seminarskog je : rešavanje sistema linearnih jednačina s dve nepoznate preko (metodom) matrica.

# include <stdio.h>
# include <stdio.h>
main ()
{
float detA,a11,a12,a21,a22,adja11,adja12,adja21,adja22,b1,b2;
float inva11,inva12,inva21,inva22,x1,x2;
printf ("\nUnesite koeficijente prve jednacine :\n");
scanf ("%f %f %f",&a11,&a12,&b1);
printf ("\nUnesite koeficijente druge jednacine :\n");
scanf ("%f %f %f",&a21,&a22,&b2);
detA=a11*a22-a21*a12;
if (detA != 0)
{
adja11=a22; /* adjungovani koeficijenti
adja12=-a12;
adja21=-a21;
adja22=a11;

inva11=(1/detA)*adja11; /* inverzni koeficijenti
inva12=(1/detA)*adja12;
inva21=(1/detA)*adja21;
inva22=(1/detA)*adja22;

x1=inva11*b1-inva12*b2;
x2=inva21*b1-inva22*b2;

printf ("\nResenja su x1=%f i x2=%f",x1,x2);
}
else
printf ("\nSistem nema resenja");
}


[Ovu poruku je menjao brankec dana 09.04.2007. u 21:05 GMT+1]

[Ovu poruku je menjao brankec dana 09.04.2007. u 21:14 GMT+1]
[ karas @ 28.03.2007. 08:25 ] @
Ako je dat sistem
Code:

a[1, 1] * x + a[1, 2] * y = b[1],
a[2, 1] * x + a[2, 2] * y = b[2],

onda matricu A koja sadrži koeficijente a[i, j] predstavi kao dvodimenzioni niz a[i][j] a matricu B kao jednodimenzioni b[i]. Ako je X matrica nepoznatih, onda je rešenje X = A-1 * B. Kako je A-1 = 1 / detA * adjA, rešenje dobijaš tako što determinantu detA i adjunkt adjA matrice A izračunaš preko elemenata dvodimenzionog niza a[i, j]. Množenje matrica radiš kao množenje odgovarajućih redova i kolona nizova a i b.