我正在研究一個漁業庫存評估模型,並希望通過刪除一個循環(實際上是相同形式的兩個循環)來加速它。我有一個數組A,dim(A)= [L,L,Y]和一個矩陣M dim(M)= [L,Y]。 這些通過計算矩陣乘積來生成矩陣,mat,dim(mat)= [L,Y]。我的循環看起來像:在R中沒有循環的3D陣列和矩陣列元素的交叉產品
for(i in 1:Y){
mat[,i]<-(A[,,i]%*%M[,i])[,1]}
任何人都可以幫我嗎?我真的需要速度增益。另外,(不知道它是否會有所作爲,但是)每個A [,, i]矩陣都是下三角形。
我認爲最關鍵的是,取消所有不利於第一列的計算。你應該發佈一個簡化的例子。 – 2014-10-16 20:06:52
最後一個子集到第一列是多餘的。無論如何,循環內的矩陣乘法只產生一列。 – ilir 2014-10-16 21:36:28