我希望构建一个矩阵,如下所示(其中A是实数矩阵,I是单位矩阵):
我不想使用for循环。我尝试了以下方法:
sequence = 1:T
sapply(sequence, function(i) matrix(A%^%(i-1)))
但是失败了。我考虑在图片中创建第一列矩阵,然后沿着对角线继续复制计算出的矩阵,但我不知道如何实现。
编辑: 对我造成的麻烦非常抱歉。这是我在一个快速而简单的for循环中寻找的内容。
library("expm")
n<-5
A<-matrix(1, 2, 2)
output <- matrix(0, 5*2, 5*2)
for (i in 1:5) {
for (j in i:1) {
output[(2*(i-1)+1):(2*i),(2*(j-1)+1):(2*j)] = A %^% (i-j)
}
}