Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public static void gaussSeidel(double[][] A, double[] b){
- boolean stop = false;
- double[] xNew = new double[b.length];
- double[] xOld = new double[b.length];
- double sum = 0.0;
- double sum1 = 0.0;
- do{
- for(int i = 0; i < A.length; i++){
- for(int j = 0; j < A.length; j++){
- if( j != i)
- sum += (A[i][j]*xOld[j]);
- sum1 += (A[i][j]*xNew[j]);
- }
- xNew[i] = (b[i] - sum - sum1)*(1/A[i][i]);
- System.out.println("X" + (i+1) + ": " + xNew[i]);
- System.out.println("");
- if(Math.abs(xNew[i] - xOld[i]) > 0.001){
- xNew[i] = xOld[i];
- //System.out.println("NEW :" + Arrays.toString(xNew));
- //System.out.println("OLD : " + Arrays.toString(xOld));
- } else{
- stop = true;}
- }
- }while( !stop);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement