nuomin 发表于 2012-12-19 15:14 
有点瑕疵,应该改为
c*diag(t(A)%*%B),
将左侧的矩阵取转置
感谢楼上的回复。可是我试了下,显然还是不对呢:
a <- matrix(c(1,1,1,1),ncol=2)
> b <- matrix(c(1:4),ncol=2)
> c <-c(1,2)
下面这行是我想要的结果:
> c[1]*a[,1]%*%t(b[1,])+c[2]*a[,2]%*%t(b[2,])
[,1] [,2]
[1,] 5 11
[2,] 5 11
下面这行是楼上这位好心人的结果
> c*diag(t(a)%*%b)
[1] 3 14