是否有可能在R中以下列方式将两个向量或矩阵与向量相乘?

时间:2017-11-20 13:10:15

标签: r vector sum matrix-multiplication

A = 1:5
B = 11:15

我知道A %*% B会给,AB = [205] i.e. 1*11+2*12+3*13+4*14+5*15 =205
但是,我希望AB成为(如果可能的话,不通过循环)= (1*11)^2+(2*12)^2+(3*13)^2+(4*14)+(5*15)^2=10979

跟进:这解决了@Dason和@nicola建议的上述问题sum((A*B)^2)

现在在A是矩阵即A =matrix(1:10,2,5)的情况下需要做什么 在玩完之后我发现它有效:rowSums((A %*% diag(B))^2)

1 个答案:

答案 0 :(得分:5)

虽然没有直接操作的操作符/函数,但很容易将一些链接在一起以获得您想要的而不会循环。

sum((A*B)^2)