Exercise5.java
上传用户:weili_168
上传日期:2022-08-07
资源大小:1k
文件大小:1k
源码类别:

Java编程

开发平台:

Java

  1. class Exercise5{
  2.   public static void main(String[]args){
  3.     double temp;
  4.     double x1,x2,x3,x4;
  5.     int i,j,max,row,line;
  6.     double[][] a={{1,1,0,3,4},{2,1,-1,1,1},{3,-1,-1,3,-3},{-1,2,3,-1,4}}; 
  7.     for(i=0;i<4;i++){
  8.       max=i; 
  9.       for(j=i+1;j<4;j++){     
  10.         if(a[i][i]<Math.abs(a[j][i])){
  11.           max=j;
  12.         }
  13.       }
  14.       if(a[max][i]==0){
  15.        System.out.println("矩阵A奇异"); 
  16.        break;
  17.       }
  18.       for(line=i;line<5;line++){       
  19.         temp=a[max][line];
  20.         a[max][line]=a[i][line];
  21.         a[i][line]=temp;
  22.       }
  23.       for(row=i+1;row<4;row++){     
  24.        double key=a[row][i]/a[i][i];
  25.         for(line=i;line<5;line++){
  26.           a[row][line]=a[row][line]-key*a[i][line];
  27.         }
  28.       }
  29.     }
  30.     if(a[3][3]==0){
  31.       System.out.println("矩阵A奇异"); 
  32.     }else{
  33.        x4=a[3][4]/a[3][3];      
  34.        x3=(a[2][4]-x4*a[2][3])/a[2][2];
  35.        x2=(a[1][4]-x4*a[1][3]-x3*a[1][2])/a[1][1];
  36.        x1=(a[0][4]-x4*a[0][3]-x3*a[0][2]-x2*a[0][1])/a[0][0];
  37.        System.out.println("x1="+x1); 
  38.        System.out.println("x2= "+x2);
  39.        System.out.println("x3="+x3);
  40.        System.out.println("x4= "+x4);
  41.      }
  42.   }
  43. }