Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 从solve()和ginv()中获取错误的逆矩阵_R_Matrix_Inverse - Fatal编程技术网

R 从solve()和ginv()中获取错误的逆矩阵

R 从solve()和ginv()中获取错误的逆矩阵,r,matrix,inverse,R,Matrix,Inverse,`我想得到一个矩阵的逆 [,1] [,2] [,3] [1,] 1 rou 0 [2,] rou 1+rou^2 rou [3,] 0 rou 1 手动计算的逆矩阵应为 1 rou rou^2 1/(1-rou) rou 1 rou rou^2 rou 1 以rou=0.3为例 a=矩阵(c(1,0.3,0,0.3,1.09,0.3,0

`我想得到一个矩阵的逆

      [,1]  [,2]  [,3]
[1,]    1    rou   0
[2,]  rou  1+rou^2 rou
[3,]    0    rou   1
手动计算的逆矩阵应为

                 1     rou  rou^2
 1/(1-rou)       rou    1   rou
                 rou^2 rou   1
以rou=0.3为例

a=矩阵(c(1,0.3,0,0.3,1.09,0.3,0,0.3,1),nrow=3)

a
[,1] [,2] [,3]
[1,]  1.0 0.30  0.0
[2,]  0.3 1.09  0.3
[3,]0.0 0.30 1.0

其手工计算的逆矩阵如下:

      [,1]       [,2]       [,3]
[1,]  1.0989011  0.3296703  0.0989011
[2,]  0.3296703  1.0989011 0.3296703
[3,]  0.0989011  0.3296703  1.0989011
通过在R中使用
solve(a)
ginv(a)
,我得到了

   [,1]       [,2]       [,3]
[1,]  1.0989011 -0.3296703  0.0989011
[2,] -0.3296703  1.0989011 -0.3296703
[3,]  0.0989011 -0.3296703  1.0989011
我想知道为什么会有负面的迹象。以前有人遇到过这个问题吗?如何修复它

提前谢谢

跟进:我检查了%*%解决方案(a),结果是

          [,1]      [,2] [,3]
[1,]  1.000000e+00    0    0
[2,] -6.938894e-18    1    0
[3,]  0.000000e+00    0    1
后续行动2:
我发现我的错误是,在计算辅因子矩阵时,我忘了为某些元素添加负号。我认为您在手工计算中犯了一个错误。这是正确的结果:


单击此处可获得进行此类计算的简单方法。

您是否考虑过您的数学可能不正确?您是否检查了
a%*%您的\u反向
是否接近身份
a%*%solve(a)
is.R不是Mathematica。如果你想要符号代数,请使用不同的工具。不,你不想反转矩阵。但这与R输出也不一致:(@Yukun,但它是!这是一个数值结果,所以你可以预期会有一些错误。7e-18非常小。也请查看
?zapsmall