Main Content

cumprod

シンボリック累積積

説明

B = cumprod(A) は、A のサイズが 1 でない最初の配列次元の先頭から始まる A の累積積を返します。出力 BA と同じサイズです。

  • A がベクトルの場合、cumprod(A) は、A の要素の累積積が含まれるベクトルを返します。

  • A が行列の場合、cumprod(A)A の各列の累積積が含まれる行列を返します。

  • A が多次元配列の場合、cumprod(A)大きさが 1 でない最初の次元に沿って機能します。

B = cumprod(A,dim) は、次元 dim に沿って累積積を返します。たとえば、A が行列の場合、cumprod(A,2) は、各行の累積積を返します。

B = cumprod(___,direction) は、上述の構文のいずれかを使用して、方向を指定します。たとえば cumprod(A,2,'reverse') は、A の 2 番目の次元の末尾から先頭の方向に演算を行い、行の累積積を返します。

B = cumprod(___,nanflag) は、前述の任意の構文について NaN 値を計算に含めるか除外するかを指定します。cumprod(A,'includenan') ではすべての NaN 値が計算に含められ、cumprod(A,'omitnan') ではこれらが無視されます。

すべて折りたたむ

シンボリック ベクトルを作成します。要素の累積積を求めます。

syms x
A = (1:5)*x
A = (x2x3x4x5x)

累積積のベクトルでは、要素 B(2)A(1)A(2) の積です。B(5)A(1) から A(5) までの要素の積です。

B = cumprod(A)
B = (x2x26x324x4120x5)

すべての要素が x である 3 行 3 列のシンボリック行列 A を作成します。

syms x
A = ones(3)*x
A = 

(xxxxxxxxx)

A の要素の累積積を計算します。既定の設定では、cumprod は各列の累積積を返します。

B = cumprod(A)
B = 

(xxxx2x2x2x3x3x3)

各行の累積積を計算するには、dim オプションの値を 2 に設定します。

B = cumprod(A,2)
B = 

(xx2x3xx2x3xx2x3)

3 x 3 x 2 のシンボリック配列を作成します。

syms x y
A(:,:,1) = [x y 0; x 3 x*y; x 1/3 y];
A(:,:,2) = [x y 3; 3 x y; y 3 x];
A
A(:,:,1) = 

(xy0x3xyx13y)

A(:,:,2) = 

(xy33xyy3x)

dim2 を指定して、行に沿って累積積を計算します。'reverse' オプションを指定して、各行の右から左の方向に演算を行います。結果は A と同じサイズです。

B = cumprod(A,2,'reverse')
B(:,:,1) = 

(0003x2y3xyxyxy3y3y)

B(:,:,2) = 

(3xy3y33xyxyy3xy3xx)

3 番目の次元 (ページ) に沿って累積積を計算するには、dim3 を指定します。'reverse' オプションを指定して、最大のページ インデックスから最小のページ インデックスの方向に演算を行います。

B = cumprod(A,3,'reverse')
B(:,:,1) = 

(x2y203x3xxy2xy1xy)

B(:,:,2) = 

(xy33xyy3x)

NaN 値を含むシンボリック ベクトルを作成します。累積積を計算します。

A = [sym('a') sym('b') 1 NaN 2]
A = (ab1NaN2)
B = cumprod(A)
B = (aababNaNNaN)

'omitnan' オプションを使用して、累積積の計算で NaN 値を無視できます。

B = cumprod(A,'omitnan')
B = (aababab2ab)

入力引数

すべて折りたたむ

入力配列。シンボリック ベクトル、行列または多次元配列として指定します。

演算の対象の次元。正の整数スカラーとして指定します。値を指定しない場合、既定値は、サイズが 1 ではない最初の配列の次元です。

2 次元の入力配列 A について考えます。

  • cumprod(A,1) は、A の列の連続する要素に作用して各列の累積積を返します。

  • cumprod(A,2) は、A の行の連続する要素に作用して各行の累積積を返します。

dimndims(A) より大きい場合、cumprodA を返します。

累積の方向。'forward' (既定値) または 'reverse' のいずれかとして指定します。

  • 'forward' は、アクティブな次元の 1 から end の方向に演算を行います。

  • 'reverse' は、アクティブな次元の end から 1 の方向に演算を行います。

データ型: char

NaN の条件。次のいずれかとして指定します。

  • 'includenan' — 累積積の計算時に入力の NaN 値を含め、結果として NaN 値を出力します。

  • 'omitnan' — 入力の NaN 値をすべて無視します。NaN 値を含む要素の積は、すべての非 NaN 要素の積になります。すべての要素が NaN の場合、cumprod は 1 を返します。

データ型: char

出力引数

すべて折りたたむ

累積積の配列。入力 A と同じサイズのベクトル、行列、または多次元配列として返されます。

詳細

すべて折りたたむ

大きさが 1 でない最初の次元

大きさが 1 でない最初の次元は、サイズが 1 に等しくない配列の最初の次元です。

以下に例を示します。

  • X が 1 行 n 列の行ベクトルの場合、2 番目の次元が大きさが 1 でない X の最初の次元になります。

  • X が 1 x 0 x n の空配列の場合、2 番目の次元が大きさが 1 でない X の最初の次元になります。

  • X が 1 x 1 x 3 の配列の場合、3 番目の次元が大きさが 1 でない X の最初の次元になります。

バージョン履歴

R2013b で導入

参考

| | | |