tak sa mi to nakoniec podarilo..
ak sa to niekomu hodi tak sem dam zdrojovy,je na vypocet inverznej matice ale IBA pre matice rozmeru 3x3 pomocou determinantu.
toto uz je konkretne vypocet:
Kód:
float determinant;
determinant=Matica[0][0]*Matica[1][1]*Matica[2][2]+Matica[1][0]*Matica[2][1]*Matica[0][2]+Matica[2][0]*Matica[0][1]*Matica[1][2]-Matica[2][0]*Matica[1][1]*Matica[0][2]-Matica[1][0]*Matica[0][1]*Matica[2][2]-Matica[0][0]*Matica[2][1]*Matica[1][2];
float a,b,c,d,e,f,g,h,i;
a=pow(-1,2)*(Matica[1][1]*Matica[2][2]-Matica[2][1]*Matica[1][2]);
b=pow(-1,3)*(Matica[1][0]*Matica[2][2]-Matica[2][0]*Matica[1][2]);
c=pow(-1,4)*(Matica[1][0]*Matica[2][1]-Matica[2][0]*Matica[1][1]);
d=pow(-1,3)*(Matica[0][1]*Matica[2][2]-Matica[2][1]*Matica[0][2]);
e=pow(-1,4)*(Matica[0][0]*Matica[2][2]-Matica[2][0]*Matica[0][2]);
f=pow(-1,5)*(Matica[0][0]*Matica[2][1]-Matica[2][0]*Matica[0][1]);
g=pow(-1,4)*(Matica[0][1]*Matica[1][2]-Matica[1][1]*Matica[0][2]);
h=pow(-1,5)*(Matica[0][0]*Matica[1][2]-Matica[1][0]*Matica[0][2]);
i=pow(-1,6)*(Matica[0][0]*Matica[1][1]-Matica[1][0]*Matica[0][1]);
Matica3[0][0]=(1/determinant)*a;
Matica3[1][0]=(1/determinant)*b;
Matica3[2][0]=(1/determinant)*c;
Matica3[0][1]=(1/determinant)*d;
Matica3[1][1]=(1/determinant)*e;
Matica3[2][1]=(1/determinant)*f;
Matica3[0][2]=(1/determinant)*g;
Matica3[1][2]=(1/determinant)*h;
Matica3[2][2]=(1/determinant)*i;
AnsiString riadok1,riadok2,riadok3;
riadok1=FloatToStr(Matica3[0][0])+'\t'+FloatToStr(Matica3[0][1])+'\t'+FloatToStr(Matica3[0][2]);
riadok2=FloatToStr(Matica3[1][0])+'\t'+FloatToStr(Matica3[1][1])+'\t'+FloatToStr(Matica3[1][2]);
riadok3=FloatToStr(Matica3[2][0])+'\t'+FloatToStr(Matica3[2][1])+'\t'+FloatToStr(Matica3[2][2]);
Memo3->Clear();
Memo3->Lines->Add(AnsiString(R)+" "+AnsiString(S));
Memo3->Lines->Add(riadok1);
Memo3->Lines->Add(riadok2);
Memo3->Lines->Add(riadok3);