Swift程序 检查给定的方阵是否是单位矩阵

Swift程序 检查给定的方阵是否是单位矩阵

在这篇文章中,我们将学习如何编写一个Swift程序来检查一个给定的正方形矩阵是否是单位矩阵。单位矩阵是一个MxM的正方形矩阵,其中主对角线由1组成,其他元素都是0。比如说

Swift程序 检查给定的方阵是否是单位矩阵

而正方形矩阵是一个行数等于列数的矩阵,它可能包含也可能不包含0和1,也就是说除了0和1之外,还包含其他数字。比如说

Swift程序 检查给定的方阵是否是单位矩阵

算法

第1步 – 创建一个函数来检查给定的矩阵是否为单位矩阵。

第2步 – 在这个函数中,首先我们通过检查行和列的总数来检查给定的矩阵是否为方阵。

第3步 – 使用for循环,我们检查所有存在于主对角线的元素应该是一个。

第4步 – 使用嵌套的for循环,我们检查除对角线元素以外的所有元素是否为零。

第5步 – 如果第2、3、4步中提到的所有条件都是真的,那么这个函数将返回true。否则,返回false。

第6步 – 创建三个整数类型的测试矩阵。

第7步 – 调用该函数并将创建的矩阵作为参数传给它。

第8步 – 打印输出。

示例

以下是Swift程序,用于检查给定的正方形矩阵是否为同一矩阵。

import Foundation
import Glibc
func CheckIdentityMatrix(mxt:[[Int]])->Bool
{
   // Verifying the given matrix is the square matrix
   if mxt.count != mxt[0].count
   {
      return false
   }
   for x in 0..<mxt.count
   {
      if mxt[x][x] != 1
      {
         return false
      }
   }
   for m in 0..<mxt.count
   {
      for n in 0..<mxt[0].count
      {
         if m != n && mxt[m][n] != 0
         {
            return false
         }
      }
   }
   return true
}
var matrix1 = [[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]
print("Is matrix 1 is an identity matrix?: ", CheckIdentityMatrix(mxt: matrix1))
var matrix2 = [[0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1], [0, 0, 0, 1]]
print("Is matrix 2 is an identity matrix?: ", CheckIdentityMatrix(mxt: matrix2))
var matrix3 = [[2, 1, 4], [2, 1, 1], [4, 5, 0], [3, 4, 1]]
print("Is matrix 3 is an identity matrix?: ", CheckIdentityMatrix(mxt: matrix3))

输出

Is matrix 1 is an identity matrix?: true
Is matrix 2 is an identity matrix?: false
Is matrix 3 is an identity matrix?: false

在上述代码中,我们创建了一个函数来检查给定的矩阵是否为同一矩阵。因此,为此,我们检查给定矩阵的三个不同条件 –

  • 给定的矩阵是否是方阵?

  • 给定矩阵的主对角线由1(主对角线的所有元素)或不由1组成。

  • 主对角线以外的元素应该是零或者不是。

如果上述任何一个条件返回错误,那么给定的矩阵就不是单位矩阵。或者,如果上述三个条件都返回true,那么给定的矩阵就是一个单位矩阵。

结论

因此,这就是我们如何判断一个给定的正方形矩阵是否是一个单位矩阵。如果你把两个相同的矩阵相互相乘,那么结果矩阵也是相同的矩阵。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

Swift 教程