我正在学习如何使用Matlab。我对矩阵A有疑问: A = [1,2,3; 4,5,6; 7,8,9] 显然行列式应该等于0.但实际上我得到的值:6.661338147750939e-016 有什么问题?
我知道它几乎为零。我想要的是结果为零。有没有办法得到0(精确的结果)或6.661338147750939e-016是我能得到的?
答案 0 :(得分:3)
Matlab使用LU分解计算行列式,因此即使对于整数矩阵,行列式也会计算为浮点数。您所看到的是浮点计算中的典型数值误差。
如果你试图检查矩阵是否是单数,this answer给出了一堆比使用行列式更好的选择。