我需要检查矩阵是否是单位矩阵。我知道有一个函数可以检查矩阵是否是对角矩阵,即isdiag
.我知道我可以执行以下操作来检查矩阵a
是否为单位矩阵:
isequal(a, eye(size(a, 1)))
有没有像isdiag
这样的功能直接为我做?
正如其他人所说,您不一定想检查单位矩阵的完全相等性。此外,使用 eye
可能会占用足够大的矩阵的不必要的内存量。我建议使用diag
来解决这个问题。
isdiag(a) && all(abs(diag(a) - 1) < tolerance)
sum(sum(A - eye(size(A,1)) < epsilon)) == 0
按恒等式减去并检查是否有任何元素大于 epsilon。