R程序不返回预期的矩阵乘法
a<- c(0,1,1,0)
A<- matrix(a,2,2)
B<- matrix(c(1,2,3,4),2,2,byrow=TRUE)
A*B
给出matrix(c(0,2,3,0), ncol = 2, byrow=TRUE)
的最终答案:
[,1] [,2]
[1,] 0 2
[2,] 3 0
但实际答案应为matrix(c(3,4,1,2), ncol = 2, byrow=TRUE)
[,1] [,2]
[1,] 3 4
[2,] 1 2
答案 0 :(得分:2)
您可以使用%*%
或crossprod
进行矩阵乘法
> A %*% B
[,1] [,2]
[1,] 3 4
[2,] 1 2
> crossprod(A, B)
[,1] [,2]
[1,] 3 4
[2,] 1 2
请注意,结果是2x2矩阵,如果您想要示例中的矢量,则使用matrix(crossprod(A, B), ncol=1)