1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
|
public class Gesamtschrittverfahren {
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,100);
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;
}
}
|