【发布时间】:2015-02-13 22:46:58
【问题描述】:
我有一个协方差矩阵的估计
我想取这个矩阵的逆,R给我以下错误
A=[ 3529861.470 8785861.47 6920.344 17120.34;
8785861.470 26209861.47 17120.344 51920.34;
6920.344 17120.34 14.000 34.00;
17120.344 51920.34 34.000 104.00]
"solve.default(l) 中的错误:系统在计算上是奇异的: 倒数条件数 = 2.14511e-22"。
然而,Matlab 进行逆计算而没有给出任何错误信息。有谁知道 R 给我错误的原因?是否有其他方法来计算逆
【问题讨论】:
-
Matlab 给出的条件数 (
cond(A)) 为 9.5e12,因此矩阵实际上接近奇异矩阵。也许 R 只是比 Matlab 有更严格的阈值来声明矩阵接近奇异 -
您的示例不可重现。
solve()反转这个矩阵没有问题。 -
那是因为求解使用高斯消去避免行列式计算
-
@Spandy MATLAB 的
rcond返回7.5E-14。你确定 MATLAB 和 R 有相同的矩阵吗? -
solve在 R 中反转这个矩阵,对我来说也没有错误或警告。
标签: r matlab matrix-inverse