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