我是R的新手,我已经遍布stackoverflow,我无法找到答案。
我有一个矩阵列表,A,B,C ...维度m x m和单个向量,维度为m x 1 我想首先将矩阵'A'乘以X,并使用结果向量乘以列表中的下一个矩阵,我想要这样的东西
this.ref.push().set({text: text});
我有89个矩阵要通过,手册不是一个选项,因为我需要多次更新矩阵的数量,是否有一种简单的for循环技术让我的生活更简单?
答案 0 :(得分:0)
这里的解决方案是循环遍历所有矩阵并将乘法结果存储在resultMatrix
列表中。
m1 = A x V 步骤由origMatrix[[i]] %*% myVector
完成,其中 i = 1
m2 = B x m1 步骤(以及所有其余步骤)完成origMatrix[[i]] %*% resultMatrix[[i - 1]]
# Generate data
origMatrix <- list(matrix(rnorm(9), 3),
matrix(rnorm(9), 3),
matrix(rnorm(9), 3))
myVector <- 1:3
# Loop trough original matrices
resultMatrix <- list()
for (i in 1:length(origMatrix)) {
if (i == 1) {
# Multiple first matrix by vector
resultMatrix[[i]] <- origMatrix[[i]] %*% myVector
} else {
# Multiple matrix by previous result matrix
resultMatrix[[i]] <- origMatrix[[i]] %*% resultMatrix[[i - 1]]
}
}