我有数据框' df'它有8 * 8行和列。
这里我直接得到第5次乘法的答案,我希望所有的中间乘法答案。
我还希望代码循环15次,因此将有15个中间乘法输出。
Code:
p <- eigen(df)$vector
d <- eigen(df)$values
n <- 5
p %*% diag(d^n) %*% solve(p)
预期输出将:如果我乘以n = 15次,则每个中间乘法应该有15个矩阵。
请帮忙。
答案 0 :(得分:1)
假设您的意思是权力(X ^ n)可以执行以下操作:
mat <- matrix(1:9, nrow=3)
n <- 5
pows <- list()
pows[[1]] <- mat
for (i in 2:n) {
pows[[i]] <- pows[[i - 1]] %*% pows[[1]]
}
p <- eigen(mat)$vector
d <- eigen(mat)$values
res <- p %*% diag(d^n) %*% solve(p)
all(res - pows[[n]] < 1e-6)
也可以使用:
library(expm)
mat %^% n