Hallo!
Ich verzweifle schon seit Stunden an der Implementierung des Jacobi-Verfahrens zur iterativen Lösung eines LGS. Kann vielleicht mal kurz jemand drüber schauen?
Ich verzweifle schon seit Stunden an der Implementierung des Jacobi-Verfahrens zur iterativen Lösung eines LGS. Kann vielleicht mal kurz jemand drüber schauen?
Code:
public class Einzelschrittverfahren {
public static void main(String[] args) {
double[][] A = {{10,14,11},{13,-66,14},{11,-13,12}};
double[] b = {1,1,1};
double[] xstart = {0,0,0};
double[] xfertig = jacobi(A,b,xstart,50);
System.out.println(Arrays.toString(xfertig));
}
private static double[] jacobi(double[][] A, double[] b, double[] xalt, int schritte){
double[] xneu;
xneu = new double[b.length];
for (int k = 0; k < schritte; k++) {
System.arraycopy(b, 0, xneu, 0, b.length);
for (int i = 0; i < b.length; i++) {
for (int j = 0; j < b.length; j++) {
if (i!=j){
xneu[i] = xneu[i] - A[i][j]*xalt[j];
}
}
xneu[i] = xneu[i]/A[i][i];
}
System.arraycopy(xneu, 0, xalt, 0, b.length);
}
return xalt;
}
}