use*_*174 2 r sum vector matrix-multiplication
A = 1:5
B = 11:15
Run Code Online (Sandbox Code Playgroud)
我知道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
后续行动:这解决了sum((A*B)^2)@Dason和@nicola建议的上述问题.
现在在A是一个矩阵的情况下需要做什么,即A =matrix(1:10,2,5)
在玩完之后我发现这个有效:rowSums((A %*% diag(B))^2)