我对 R 语言还很陌生,想知道如何计算非方阵的矩阵逆(非方阵?非规则矩阵?我不确定正确术语)。从我的书和快速 Google 搜索中发现(参见来源),如果
我正在尝试从上述矩阵中获得的计算是:
a
是方阵,则可以使用 solve(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)
- Mark Heckmann