Computer >> Máy Tính >  >> Lập trình >> Java

Chương trình Java để tìm dấu vết và bình thường của một ma trận nhất định

Trong bài này, chúng ta sẽ hiểu cách tìm vết và pháp tuyến của một ma trận cho trước. Bình thường của ma trận là căn bậc hai của tổng bình phương của tất cả các phần tử của ma trận. Dấu vết của ma trận là tổng của tất cả các phần tử có trong đường chéo chính (phía trên bên trái sang phía dưới bên phải).

Dưới đây là một minh chứng về điều tương tự -

Giả sử đầu vào của chúng tôi là -

The matrix is defined as:
2 3 4
5 2 3
4 6 9

Đầu ra mong muốn sẽ là -

Trace value: 13.0
Normal value: 14.142135623730951

Thuật toán

Step 1 - START
Step 2 - Declare an integer matrix namely input_matrix
Step 3 - Define the values.
Step 4 - To compute trace value, iterate over each element of the matrix using two for-loops, add the diagonal elements and store the value.
Step 5 - To compute the normal value, iterate over each element of the matrix using two for-loops, compute the sum of square of each element, them compute the square root of the value and store the value.
Step 5 - Display the result
Step 6 - Stop

Ví dụ 1

Ở đây, chúng tôi liên kết tất cả các hoạt động với nhau trong hàm "main".

public class NormalAndTrace {
   public static void main(String args[]) {
      int[][] input_matrix = {
         {2, 3, 4},
         {5, 2, 3},
         {4, 6, 9}
      };
      int i, j, matrix_size = 3;
      double trace = 0, square = 0, normal = 0;
      System.out.println("The matrix is defined as: ");
      for(i = 0; i < matrix_size; i++) {
         for(j = 0; j < matrix_size; j++)
         System.out.print(input_matrix[i][j]+" ");
         System.out.println(" ");
      }
      System.out.println("\nThe Trace value of the matrix is ");
      for(i = 0; i < matrix_size; i++) {
         for(j = 0; j < matrix_size; j++) {
            if(i == j) {
               trace = trace + (input_matrix[i][j]);
            }
         }
      }
      System.out.println(trace);
      System.out.println("\nThe Normal value of the matrix is ");
      for(i = 0; i < matrix_size; i++) {
         for(j = 0; j < matrix_size; j++) {
            square = square + (input_matrix[i][j])*(input_matrix[i][j]);
         }
      }
      normal = Math.sqrt(square);
      System.out.println(normal);
   }
}

Đầu ra

The matrix is defined as:
2 3 4
5 2 3
4 6 9

The Trace value of the matrix is
13.0

The Normal value of the matrix is
14.142135623730951

Ví dụ 2

Ở đây, chúng tôi đóng gói các hoạt động thành các hàm thể hiện lập trình hướng đối tượng.

public class NormalAndTrace {
   static int matrix_size = 3;
   static void normal_trace(int input_matrix[][]){
      int i, j;
      double trace = 0, square = 0, normal = 0;
      System.out.println("\nThe Trace value of the matrix is ");
      for(i = 0; i < matrix_size; i++) {
         for(j = 0; j < matrix_size; j++) {
            if(i == j) {
               trace = trace + (input_matrix[i][j]);
            }
         }
      }
      System.out.println(trace);
      System.out.println("\nThe Normal value of the matrix is ");
      for(i = 0; i < matrix_size; i++) {
         for(j = 0; j < matrix_size; j++) {
            square = square + (input_matrix[i][j])*(input_matrix[i][j]);
         }
      }
      normal = Math.sqrt(square);
      System.out.println(normal);
   }
   public static void main(String args[]) {
      int i, j;
      int[][] input_matrix = { {2, 3, 4},
         {5, 2, 3},
         {4, 6, 9}
      };
      System.out.println("The matrix is defined as: ");
      for(i = 0; i < matrix_size; i++) {
         for(j = 0; j < matrix_size; j++)
         System.out.print(input_matrix[i][j]+" ");
         System.out.println(" ");
      }
      normal_trace(input_matrix);
   }
}

Đầu ra

The matrix is defined as:
2 3 4
5 2 3
4 6 9

The Trace value of the matrix is
13.0

The Normal value of the matrix is
14.142135623730951