FreeMat

- Main Page
- Related Pages

CUMPROD Cumulative Product Function

Section: Elementary Functions

# Usage

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.

# Internals

The output is computed via

# Example

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