我希望構造像一個矩陣(其中A是一個真正的矩陣,I是單位矩陣):構建矩陣相乘出子矩陣有效
我不希望使用for循環。我試過的東西是:
sequence = 1:T
sapply(sequence, function(i) matrix(A%^%(i-1)))
但失敗。我想創建圖片中的第一個矩陣列,並繼續複製計算矩陣diagonaly,但我不知道如何實現這一點。
編輯:我非常抱歉,我造成的麻煩。下面就是我在尋找一個快速和骯髒的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)
}
}
快速和髒循環通常是要走的路... – user20650
ps你應該在答案部分發布你的解答作爲答案,而不是作爲你的問題的編輯 – user20650
問題是,我想運行循環從一個時間敏感的模擬研究中從上面 - 所以我必須儘可能快地編碼。上述解決方案只是爲了舉例說明我正在嘗試做什麼。一方面,它的缺點是,A^i(對於i是一個任意的自然數)的計算一遍又一遍地完成。我在最近的回答中糾正了這個問題。但我認爲,應用類似功能的過程可能會更快。 – user241879