矩阵的累积产物?

时间:2013-05-15 14:47:12

标签: matrix product

我需要编写一个代码来计算矩阵的累积乘积。 例如,如果是 A =(1 2 3 | 4 3 2) 然后 cum.sum(A)=(1 2 6 | 4 24 144)

这样做有什么好的算法吗?

我将使用R,C,Matlab或Octave。

1 个答案:

答案 0 :(得分:1)

A <- matrix(c(1,2,3,4,3,2),byrow=TRUE,nrow=2)

我猜你想要所有(k,l)的累积乘积小于(i,j)......?

B <- A
nr <- nrow(B)
nc <- ncol(B)
for (i in 1:max(nr,nc)) {
   if (i<=nr) B[i,i:nc] <- cumprod(B[i,])[i:nc]
}

这适用于您的示例:您可能需要小心谨慎地将其概括为行数多于列的情况...