判断矩阵是否为恒等矩阵

1 说明

在此程序中,我们需要判断给定的矩阵是否为恒等矩阵。

什么是恒等矩阵

如果矩阵是方形矩阵,则其中对角线的主元素为1,其余元素为零,则称该矩阵为恒等矩阵。

2 算法思路

  • 步骤1:开始
  • 第2步:定义行,列
  • 步骤3: SET标志= true
  • 步骤4:初始化矩阵a [] [] = {{1,0,0},{0,1,0},{0,0,1}}
  • 步骤5:行= a.length
  • 步骤6: cols = a [0] .length
  • 步骤7: if(rows!= cols)
                则
              打印“矩阵应为方矩阵”,
             否则
           转到步骤8
  • 步骤8:将步骤9重复到步骤11,直到i <rows
                // for(i = 0; i <rows; i ++)
  • 步骤9:重复步骤10至步骤11直到j <cols
                // for(j = 0; j <cols; j ++)
  • 步骤10: if(i == j && a [i] [j] == 1)然后
                SET标志= false
                中断
  • 步骤11: if(i!= j && a [i] [j]!= 0)
                SET标志=错误的
                中断
  • 步骤12: if(flag)
                then PRINT(“给定矩阵不是一个恒等矩阵”),
                否则为
                PRINT(“给定矩阵不是一个恒等矩阵”)
  • 步骤13:结束

3 程序实现

/**
 * 一点教程网: http://www.yiidian.com
 */
public class IdentityMatrix     
{    
    public static void main(String[] args) {    
        int rows, cols;    
        boolean flag = true;    
            
        //Initialize matrix a    
        int a[][] = {       
                        {1, 0, 0},    
                        {0, 1, 0},    
                        {0, 0, 1}    
                    };    
            
        //Calculates the number of rows and columns present in the given matrix    
    
          rows = a.length;    
        cols = a[0].length;    
            
        //Checks whether given matrix is a square matrix or not    
        if(rows != cols){    
            System.out.println("Matrix should be a square matrix");    
        }    
        else {    
            //Checks if diagonal elements are equal to 1 and rest of elements are 0    
            for(int i = 0; i < rows; i++){    
                for(int j = 0; j < cols; j++){    
                  if(i == j && a[i][j] != 1){    
                      flag = false;    
                      break;    
                  }    
                  if(i != j && a[i][j] != 0){    
                      flag = false;    
                      break;    
                  }    
                }    
            }    
                
            if(flag)    
                System.out.println("Given matrix is an identity matrix");    
            else    
                System.out.println("Given matrix is not an identity matrix");    
        }    
    }    
} 

以上代码输出结果为:

Given matrix is an identity matrix

 

热门文章

优秀文章