我需要写一段代码来计算矩阵的累积乘积。例如,如果
A=(1 2 3|4 3 2)则cum.sum(A) =(1 2 6|4 2 4 144 )
有没有什么好的算法可以做到这一点?
我将使用R、C、Matlab或Octave。
发布于 2013-08-30 04:08:09
A <- matrix(c(1,2,3,4,3,2),byrow=TRUE,nrow=2)我猜你想要小于(i,j)的所有(k,l)的累积积…?
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]
}这适用于您的示例:您可能需要稍微小心地将其推广到行数多于列数的情况……
https://stackoverflow.com/questions/16568225
复制相似问题