striker159
Lt. Junior Grade
- Registriert
- Dez. 2008
- Beiträge
- 327
hi
ich habe ein kleines problem damit, den algorithmus in java zu implementieren.
die matrix auf stufenform zu bringen funktioniert schonmal, nur mit der berechnung der lösungen tue ich mir schwer. habe versucht, es rekursiv zu lösen, aber ich glaube, ich hab da irgendwo nen denkfehler drin.
die methode liefert nur die lösung für die letzte variable
hier mal mein code
erkennt jemand den fehler bzw hat jemand eine idee, wie man das iterativ lösen kann?
ich habe ein kleines problem damit, den algorithmus in java zu implementieren.
die matrix auf stufenform zu bringen funktioniert schonmal, nur mit der berechnung der lösungen tue ich mir schwer. habe versucht, es rekursiv zu lösen, aber ich glaube, ich hab da irgendwo nen denkfehler drin.
die methode liefert nur die lösung für die letzte variable
hier mal mein code
Code:
/* m ist matrix in stufenform, r sind die ergebnisse für die zeilen in m, dimension ist die größe der eigngegeben matrix.
das gesamte gleichungssystem sieht also so aus
m00 m01 m02 m03 r0
0 m11 m12 m13 r1
0 0 m22 m23 r2
0 0 0 m33 r3
die methode soll ein array mit den Lösungen des gleichungssystems zurückgeben
*/
public double[] solve(double[][] m,double[] r, int dimension){
if (dimension == 1){
double[] f= new double[1];
f[0] = r[dimension-1]/m[dimension-1][dimension-1];
return f ;
}
else{
double[][] a = new double[dimension-1][dimension-1];
double[] b = new double[dimension-1];
for(int i =1;i<dimension;i++){
for(int j =1;j<dimension;j++){
a[i-1][j-1] = m[i][j];
}
b[i-1]=r[i];
}
return solve(a,b,dimension-1);
}
}
erkennt jemand den fehler bzw hat jemand eine idee, wie man das iterativ lösen kann?