Advertisement
Guest User

MatrixInverse

a guest
Oct 1st, 2014
239
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.30 KB | None | 0 0
  1. import java.util.Scanner;
  2.  
  3. public class MatrixInverse {
  4.     static double[][] A = new double[3][3];
  5.     static double a = 0;
  6.     public static void main(String[] args) {
  7.         Scanner input = new Scanner(System.in);
  8.         System.out.println("Enter a11, a12, a13, a21, a22, a23, a31, a32, a33:");
  9.         for (int i = 0; i < 3; i++) {
  10.             for (int j = 0; j < 3; j++) {
  11.                 A[i][j] = input.nextDouble();
  12.             }
  13.         }
  14.         MatrixInverse.a = A[0][0]*A[1][1]*A[2][2] + A[2][0]*A[0][1]*A[1][2] + A[0][2]*A[1][0]*A[2][1]
  15.                 - A[0][2]*A[1][1]*A[2][0] - A[0][0]*A[1][2]*A[2][1] - A[2][2]*A[1][0]*A[0][1];
  16.         input.close();
  17.         double ainv[][] = inverse(A);
  18.         if (a == 0)
  19.             System.out.println("No inverse matrix");       
  20.         else {
  21.             for (int i = 0; i < 3; i++) {
  22.                 for (int j = 0; j < 3; j++) {
  23.                     System.out.print(ainv[i][j] + " ");
  24.                 }
  25.                 System.out.print("\n");
  26.             }
  27.         }
  28.     }
  29.     public static double[][] inverse(double[][] A) {
  30.         double[][] inverse = {{(A[1][1]*A[2][2] - A[1][2]*A[2][1])/a, (A[0][2]*A[2][1] - A[0][1]*A[2][2])/a, (A[0][1]*A[1][2] - A[0][2]*A[1][1])/a},
  31.                 {(A[1][2]*A[2][0] - A[1][0]*A[2][2])/a, (A[0][0]*A[2][2] - A[0][2]*A[2][0])/a, (A[0][2]*A[1][0] - A[0][0]*A[1][2])/a},
  32.                 {(A[1][0]*A[2][1] - A[1][1]*A[2][0])/a, (A[0][1]*A[2][0] - A[0][0]*A[2][1])/a, (A[0][0]*A[1][1] - A[0][1]*A[1][0])/a}};
  33.         return inverse;
  34.     }
  35. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement