本文介绍了R中的两个矩阵相乘的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有 2 个矩阵.
第一个:[1,2,3]
第二个:
[3,1,2
2,1,3
3,2,1]
我正在寻找使它们相乘的方法.
I'm looking for a way to multiply them.
结果应该是:[11, 13, 10]
在 R 中,mat1%*%mat2
不起作用.
In R, mat1%*%mat2
don't work.
推荐答案
你需要对第二个矩阵进行转置才能得到你想要的结果:
You need the transpose of the second matrix to get the result you wanted:
> v1 <- c(1,2,3)
> v2 <- matrix(c(3,1,2,2,1,3,3,2,1), ncol = 3, byrow = TRUE)
> v1 %*% t(v2)
[,1] [,2] [,3]
[1,] 11 13 10
如果真正的问题更大,可能会更快(参见 ?crossprod
):
Or potentially quicker (see ?crossprod
) if the real problem is larger:
> tcrossprod(v1, v2)
[,1] [,2] [,3]
[1,] 11 13 10
这篇关于R中的两个矩阵相乘的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!