0

行列の累積積を計算するコードを書く必要があります。たとえば、
A = ( 1 2 3 | 4 3 2 ) の場合、cum.sum(A) = ( 1 2 6 | 4 24 144 )

これを行うための適切なアルゴリズムはありますか?

R、C、Matlab、または Octave を使用します。

4

1 に答える 1

1
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]
}

これはあなたの例ではうまくいきます.列よりも行が多い場合に一般化するのは少し注意が必要かもしれません...

于 2013-08-29T20:08:09.423 に答える