【发布时间】:2014-02-17 07:11:54
【问题描述】:
我是 R 语言的新手,并试图找出如何计算非正方形矩阵的逆矩阵。 (非方形?不规则?我不确定术语是否正确)。
根据我的书和快速的谷歌搜索(参见source),我发现您可以使用solve(a) 来查找矩阵的逆如果 a 是正方形。
据我了解,我创建的矩阵不是正方形:
> matX<-matrix(c(rep(1, 8),2,3,4,0,6,4,3,7,-2,-4,3,5,7,8,9,11), nrow=8, ncol=3);
> matX
[,1] [,2] [,3]
[1,] 1 2 -2
[2,] 1 3 -4
[3,] 1 4 3
[4,] 1 0 5
[5,] 1 6 7
[6,] 1 4 8
[7,] 1 3 9
[8,] 1 7 11
>
是否有解决这种大小的矩阵的功能,或者我必须对每个元素做些什么?因为solve() 函数给出了这个错误:
Error in solve.default(matX) : 'a' (8 x 3) must be square
我试图从上面的矩阵中得到的计算是:(matX'matX)^-1
提前致谢。
【问题讨论】:
-
参考你的最后一行,试试:
solve(t(matX) %*% matX)
标签: r matrix matrix-inverse