FreeMat
|
Section: Elementary Functions
Computes the cumulative product of an n-dimensional array along a given dimension. The general syntax for its use is
y = cumprod(x,d)
where x
is a multidimensional array of numerical type, and d
is the dimension along which to perform the cumulative product. The output y
is the same size of x
. Integer types are promoted to int32
. If the dimension d
is not specified, then the cumulative sum is applied along the first non-singular dimension.
The output is computed via
The default action is to perform the cumulative product along the first non-singular dimension.
--> A = [5,1,3;3,2,1;0,3,1] A = 5 1 3 3 2 1 0 3 1 --> cumprod(A) ans = 5 1 3 15 2 3 0 6 3
To compute the cumulative product along the columns:
--> cumprod(A,2) ans = 5 5 15 3 6 6 0 0 0
The cumulative product also works along arbitrary dimensions
--> B(:,:,1) = [5,2;8,9]; --> B(:,:,2) = [1,0;3,0] B = (:,:,1) = 5 2 8 9 (:,:,2) = 1 0 3 0 --> cumprod(B,3) ans = (:,:,1) = 5 2 8 9 (:,:,2) = 5 0 24 0