1

如果我们生成b=randn(10,1),则矩阵A=b*b'必须是半正定矩阵,因此其所有特征值必须 >=0。

当我使用eig(A)函数时,它会返回像-3.6934e-16and ...(负双打)这样的双打。

有什么办法可以提高精度吗?将它们四舍五入到绝对零是否安全?

谢谢。

编辑:我删除了一个不相关的部分。

4

1 回答 1

5

这只是一个舍入问题,当您有一个向量,其中一些元素比其他元素小 16 个数量级时,在 matlab 中将它们舍入为零是非常安全的。

于 2012-11-20T17:17:12.297 回答