计算R中矩阵的前k次幂
如果我想使用计算R中矩阵的前k次幂,r,matrix,R,Matrix,如果我想使用matrixcalc包中的matrix.power计算某个矩阵A的第一个k幂(比如,k=10),我真的需要编写A2吗?一个选项是lappy library(matrixcalc) lst1 <- lapply(2:100, matrix.power, x = A) 尝试Vectorize(函数(x)matrix.power(A,x))(2:5)或lappy(2:10,matrix.power,x=A)你听到的关于循环的东西是错误的。答案很好!在你的例子中,对于i=1,…,k,
matrixcalc
包中的matrix.power
计算某个矩阵A
的第一个k
幂(比如,k=10
),我真的需要编写A2吗?一个选项是lappy
library(matrixcalc)
lst1 <- lapply(2:100, matrix.power, x = A)
尝试Vectorize(函数(x)matrix.power(A,x))(2:5)
或lappy(2:10,matrix.power,x=A)
你听到的关于循环的东西是错误的。答案很好!在你的例子中,对于i=1,…,k,是否有一种同样简单的方法来获得矩阵中某个特定项的标量积1-lst1[[i]
?@Peter如果你需要元素积,请使用Reduce(“*”,lst1)
谢谢!对于1-lst1
(即lst1[[I]]=1-lst1[[I]]
)而不是lst1
,我也可以这样做吗?@Peter我不清楚您的代码。是否要通过从1中减去来更新所有列表元素?在这种情况下,lst1就是这样!我不确定是否有必要为此打两次电话给拉普莱。谢谢
Reduce(`+`, lst1)