我想知道您推荐的计算矩阵逆的方法是什么?

我发现的方法似乎并不令人满意。例如,

> c=rbind(c(1, -1/4), c(-1/4, 1))
> c
      [,1]  [,2]
[1,]  1.00 -0.25
[2,] -0.25  1.00
> inv(c)
Error: could not find function "inv"
> solve(c)
          [,1]      [,2]
[1,] 1.0666667 0.2666667
[2,] 0.2666667 1.0666667
> solve(c)*c
            [,1]        [,2]
[1,]  1.06666667 -0.06666667
[2,] -0.06666667  1.06666667
> qr.solve(c)*c
            [,1]        [,2]
[1,]  1.06666667 -0.06666667
[2,] -0.06666667  1.06666667

谢谢!

最佳答案

solve(c)确实给出了正确的逆。代码的问题在于,您使用错误的运算符进行矩阵乘法。您应该使用solve(c) %*% c在R中调用矩阵乘法。

当您调用solve(c) * c时,R执行逐个元素的乘法。

关于r - R中矩阵的逆,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11995832/

10-12 17:05