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)
答案 0 :(得分:5)
虽然没有直接操作的操作符/函数,但很容易将一些链接在一起以获得您想要的而不会循环。
sum((A*B)^2)