Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Scanner;
- public class MatrixInverse {
- static double[][] A = new double[3][3];
- static double a = 0;
- public static void main(String[] args) {
- Scanner input = new Scanner(System.in);
- System.out.println("Enter a11, a12, a13, a21, a22, a23, a31, a32, a33:");
- for (int i = 0; i < 3; i++) {
- for (int j = 0; j < 3; j++) {
- A[i][j] = input.nextDouble();
- }
- }
- 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]
- - 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];
- input.close();
- double ainv[][] = inverse(A);
- if (a == 0)
- System.out.println("No inverse matrix");
- else {
- for (int i = 0; i < 3; i++) {
- for (int j = 0; j < 3; j++) {
- System.out.print(ainv[i][j] + " ");
- }
- System.out.print("\n");
- }
- }
- }
- public static double[][] inverse(double[][] A) {
- 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},
- {(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},
- {(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}};
- return inverse;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement