注意:我不是指在here中的矩阵乘法 - 即使在另一篇文章讨论过的转置的扭曲。Column Wise [R]矩阵乘法
我有这两个矩阵...
矩阵A
:
A <- matrix(c(1,1,1,-1,1,1,1,-1,1,-1,-1,1), ncol=4)
[,1] [,2] [,3] [,4]
[1,] 1 -1 1 -1
[2,] 1 1 -1 -1
[3,] 1 1 1 1
...和矩阵B
:
B <- matrix(c(1,2,3,2,1,3,2,3,1), ncol=3)
[,1] [,2] [,3]
[1,] 1 2 2
[2,] 2 1 3
[3,] 3 3 1
余万吨得到与[R]的代码:
[,1] [,2] [,3]
[1,] 1*1 1*2 1*2
[2,] 1*2 1*1 1*3
[3,] 1*3 1*3 1*1
[,1] [,2] [,3]
[1,] -1*1 -1*2 -1*2
[2,] 1*2 1*1 1*3
[3,] 1*3 1*3 1*1
[,1] [,2] [,3]
[1,] 1*1 1*2 1*2
[2,] -1*2 -1*1 -1*3
[3,] 1*3 1*3 1*1
[,1] [,2] [,3]
[1,] -1*1 -1*2 -1*2
[2,] -1*2 -1*1 -1*3
[3,] 1*3 1*3 1*1
因为在乘法的末尾没有总和这不是线性代数乘法。这不是克罗内克产品。我尝试过apply(A, 2, function(x) A * B
,但它不起作用,因为尽管我可以指定我想要一列一列A
,但我不知道如何对B
列执行相同的操作。
我没有设置任何特定类型的对象(列表,矩阵,数组)作为输出。
现在的问题是:我怎样才能将这两个矩阵的元素智能和列智能乘以另一个矩阵或“列表”对象或数组?
这正是我需要的。谢谢。现在有任何机会让我打扰你,让R中的命令分别添加列表(?)中的所有列或您在答案中显示的对象? – Toni
@AntoniParellada,你是什么意思的“分别添加”?你最终的结果是什么? – A5C1D2H2I1M1N2O1R2T1
'6 6 6 // 4 2 2 // 2 4 0 // 0 0 -4' – Toni