Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Scanner;
- public class MatrixInverse {
- /*
- *
- * Luis Quinones
- * Assignment 5
- * Professor Silvestri
- *
- * Returns the inverse matrix of a given matrix
- *
- */
- public static double [][] inverse (double [][] A){
- double determinant = determinant(A);
- if(determinant==0)
- return null;
- else {
- double [][] inverse = {
- {A[1][1]*A[2][2] - A[1][2] * A[2][1], A[0][2]* A[2][1] - A[0][1]*A[2][2], A[0][1]*A[1][2] - A[0][2]*A[1][1]},
- {A[1][2]*A[2][0] - A[1][0] * A[2][2], A[0][0]* A[2][2] - A[0][2]*A[2][0], A[0][2]*A[1][0] - A[0][0]*A[1][2]},
- {A[1][0]*A[2][1] - A[1][1] * A[2][0], A[0][1]* A[2][0] - A[0][0]*A[2][1], A[0][0]*A[1][1] - A[0][1]*A[1][0]}
- };
- for (int i=0;i<inverse.length;i++){
- for(int j =0; j<inverse[i].length;j++)
- {
- inverse[i][j]/=determinant;
- }
- }
- return inverse;
- }
- }
- public static double determinant(double [][] A){
- return 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];
- }
- public static double [][] getInput()
- {
- Scanner sc = new Scanner(System.in);
- System.out.print("Enter a11, a12, a13, a21, a22, a23, a31, a32, a33: ");
- double [][] A = new double[3][3];
- for(int i=0; i<3;i++){
- for(int j=0; j<3; j++)
- {
- A[i][j] = sc.nextDouble();
- }
- }
- return A;
- }
- public static void printArray(double [][] A){
- for(int i=0;i<A.length;i++){
- for(int j=0;j<A[i].length;j++)
- System.out.print(A[i][j]+" ");
- System.out.println("");
- }
- }
- public static void main(String args[]){
- double [][]A = getInput();
- double [][]inverse = inverse(A);
- if(inverse==null)
- System.out.println("No inverse matrix");
- else
- printArray(inverse);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement