R中的循环矩阵乘法

R中的循环矩阵乘法,r,R,两个矩阵A和B,ncol=2,nrow=2 A = [a_11 a_12 a_21 a_22] B = [b_11 b_12 b_21 b_22] (对不起,我不知道如何在这里显示矩阵…) 将这两个矩阵相乘,以获得新的结果矩阵,如下所示: c = [a_11*b_11 a_11*b_12 a_12*b_11 a_12*b_12 a_21*b_21 a_21*b_22 a_22*b_21 a_22*b_22] 显然,这可以通过一些循环来完成,但我假设存在更简单

两个矩阵A和B,ncol=2,nrow=2

A = [a_11 a_12
     a_21 a_22]

B = [b_11 b_12
     b_21 b_22]
(对不起,我不知道如何在这里显示矩阵…)

将这两个矩阵相乘,以获得新的结果矩阵,如下所示:

c = [a_11*b_11 a_11*b_12 a_12*b_11 a_12*b_12
     a_21*b_21 a_21*b_22 a_22*b_21 a_22*b_22] 
显然,这可以通过一些循环来完成,但我假设存在更简单的方法

C <- matrix(NA, nrow = nrow(A), ncol = ncol(A)*ncol(B))
for (m in 1 : nrow(C)) {
    for (k in 1:ncol(A)) { 
        C[m, (ncol(B)*(k-1)+1) : (k*ncol(B))] <- d1[m, k] * d2[m,]
    }
}
C您可以执行以下操作:

cbind(A[, 1]*B, A[,2]*B) # or 
matrix(apply(A, 2, function(x) x*B), 2)
数据
A
cbind(A[,1]*B,A[,2]*B)
矩阵(应用(A,2,函数(x)x*B),2)
;示例数据:
A@jogo这太棒了!!谢谢
A <- matrix(1:4, 2)
B <- matrix(11:14, 2)