Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Change language to: English - Français - Português - Русский
Scilabヘルプ >> Elementary Functions > matrixoperations > cumsum

cumsum

配列要素の累積和

呼び出し手順

y = cumsum(x)
y = cumsum(x, outtype)
y = cumsum(x, orientation)
y = cumsum(x, orientation, outtype)

引数

x

実数,複素数,論理値,多項式または有理数の配列. Hypermatrices or sparse boolean or numerical matrices are supported as well.

orientation

以下のどちらかを指定します

  • 文字列で,指定可能な値は "*", "r", "c" または "m"

  • a positive integer 1 ≤ orientation ≤ ndims(x): the index of the dimension along which the cumulative sum must be computed. 1 and "r", and 2 and "c", are equivalent. 正の整数値

outtype

文字列で,指定可能な値は "native" または "double".

y

Array of size equal to that of x.

説明

xは配列の場合,y = cumsum(x) は, xの全要素の累積和を スカラーyに返します:

y = cumsum(x, orientation)orientationにより指定された次元方向の x の累積和をyに返します:

y(i) = ∑u=1→i x(u)

  • orientation が 1 または "r" の場合:

    y(i,j) = ∑u=1→i x(u,j), または

    y(i,j,k,…) = ∑u=1→i x(u,j,k,…)

  • orientation が 2 または "c" の場合:

    y(i,j) = ∑u=1→j x(i,u), または

    y(i,j,k,…) = ∑u=1→j x(i,u,k,…)

  • orientation が n の場合:

    y(i₁,…,iₙ₋₁, iₙ,iₙ₊₁,…) = ∑u=1…iₙ  x(i₁,…,iₙ₋₁, u,iₙ₊₁,…)

  • y = cumsum(x, "*")y = cumsum(x)と等価です.

  • y = cumsum(x, "m")y = cumsum(x, orientation) と等価です. ただし, orientationxの1より大きい最初の次元の添字です. このオプションはMatlabとの互換性のために使用されます.

outtype引数は総和の動作を指定します:

  • float, 多項式 有理数の配列の場合, 評価は浮動小数点演算により 行われます. "double" または "native" オプションは等価です.

  • 整数の配列の場合,

    outtype="native"の時, 評価は整数演算(モジュロ 2^b, ただし b は使用されるビット数)で行われます,

    outtype="double"の時,評価は浮動小数点演算により 行われます.

    デフォルト値は outtype="native"です.

  • 論理値の配列の場合,

    outtype="native"の時,評価は論理値演算 (+ は | で置換)により行われます,

    outtype="double"の時,評価は 浮動小数点演算(%t は 1, %f は 0で置換)により行われます.

    デフォルト値はouttype="double"です.

When the input x is sparse, please keep in mind that the density of the result y will be almost always close to 100%.

A = [1,2;3,4];
cumsum(A)
cumsum(A,1)
I = uint8([2 95 103 ; 254 9 0])
cumsum(I)   // native evaluation
cumsum(I,"double")
cumsum(I,2,"double")
s = poly(0,"s");
P = [s, %i+s ; s^2, 1];
cumsum(P),
cumsum(P,2)
B = [%t %t %f %f];
cumsum(B)          // evaluation in float
cumsum(B,"native") // similar to or(B)

参照

  • sum — 配列要素の合計
  • cumprod — 配列要素の累積積
Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Tue Jul 20 11:20:43 CEST 2021