Advertisement
nate23nate23

HW 6 attempt 2

Oct 2nd, 2015
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.75 KB | None | 0 0
  1. /**
  2.  * Nate Wheeler
  3.  * compsci 220
  4.  * Hw 6
  5.  *
  6.  */
  7.  
  8. import java.util.Arrays;
  9. import java.util.Scanner;
  10.  
  11. public class Hw6 {
  12.  
  13.     public static void main(String[] args) {
  14.         // TODO Auto-generated method stub
  15.         System.out.println("Enter a11, a12, a13, a21, a22, a23, a31, a32, a33: ");
  16.         Scanner input = new Scanner(System.in);
  17.         double[][] matrix = new double[3][3];
  18.         for (int i = 0; i < matrix.length; i++) {
  19.             for (int j = 0; j < matrix[i].length; j++) {
  20.                 matrix[i][j] = input.nextDouble();
  21.             }
  22.         }
  23.         System.out.println("");
  24.         System.out.println(Arrays.deepToString(matrix));
  25.         if (inverse(matrix) == null)
  26.             System.out.println("No inverse matrix");
  27.         else
  28.             System.out.println(Arrays.deepToString(inverse(matrix)));
  29.  
  30.     }
  31.  
  32.     public static double[][] inverse(double[][] a) {
  33.         double determinate;
  34.         determinate = a[0][0] * a[1][1] * a[2][2] + a[2][1] * a[0][1] * a[1][2] + a[0][2] * a[1][0] * a[2][0]
  35.                 - 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];
  36.         if (determinate == 0) {
  37.             return null;
  38.         }
  39.         // first row
  40.         a[0][0] = a[1][1] * a[2][2] - a[1][2] * a[2][1];
  41.         a[0][1] = a[0][2] * a[2][1] - a[0][1] * a[2][2];
  42.         a[0][2] = a[0][1] * a[1][2] - a[0][2] * a[1][1];
  43.         // second row
  44.         a[1][0] = a[1][2] * a[2][0] - a[1][0] * a[2][2];
  45.         a[1][1] = a[0][0] * a[2][2] - a[0][2] * a[2][0];
  46.         a[1][2] = a[0][2] * a[1][0] - a[0][0] * a[1][0];
  47.         // third row
  48.         a[2][0] = a[1][0] * a[2][1] - a[1][1] * a[2][0];
  49.         a[2][1] = a[0][1] * a[2][0] - a[0][0] * a[2][1];
  50.         a[2][1] = a[0][0] * a[1][1] - a[0][1] * a[1][0];
  51.  
  52.         for (int i = 0; i < a.length; i++) {
  53.             for (int j = 0; j < a[i].length; j++) {
  54.                 a[i][j] = 1 / determinate * a[i][j];
  55.             }
  56.         }
  57.         return a;
  58.     }
  59.  
  60. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement