このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
Cumulative Sum
チャネル、列または行の要素の累積和
ライブラリ:
DSP System Toolbox /
Math Functions /
Math Operations
説明
Cumulative Sum ブロックは入力の指定した次元に沿って、または時間の経過 (累積和) 全体で累積和を計算します。
端子
入力
In — 入力信号
ベクトル | 行列
入力。ベクトルとして指定するか、実数値または複素数値を含む行列入力として指定します。
この端子は、Reset port
パラメーターを [なし]
以外の値に設定するまでは名前なしになります。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fixed point
複素数のサポート: あり
Rst — リセット端子
スカラー
オプションのリセット端子 [Rst] はスカラー値を受け入れます。この値は boolean
を含む任意の組み込み Simulink® データ型にすることができます。[Rst] 端子への入力レートは入力データ信号のレート以下でなければなりません。[Rst] 端子への入力のサンプル時間は、入力サンプル時間の正の整数倍でなければなりません。
この端子は、Reset port
パラメーターを [なし]
以外の値に設定するまでは名前なしになります。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
出力
Port_1 — 出力信号
ベクトル | 行列
入力の累積和。ベクトルまたは行列として指定します。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fixed point
パラメーター
メイン
入力の合計対象 — 累積和を計算する次元
Channels (running sum)
(既定値) | Columns
| Rows
累積の総和を計算する対象の次元を指定します。[Channels (running sum)]
、[Columns]
または [Rows]
に沿って和を計算するよう選択できます。詳細については、次の節を参照してください。
入力処理 — 入力を処理する方法
チャネルとしての列 (フレーム ベース)
(既定値) | チャネルとしての要素 (サンプル ベース)
入力のチャネルに沿って累積和を計算するときにブロックが入力を処理する方法を指定します。これらのパラメーターは、以下のいずれかのオプションに設定することができます。
チャネルとしての列 (フレーム ベース)
— ブロックは入力の各列を別々のチャネルとして扱います。チャネルとしての要素 (サンプル ベース)
— ブロックは入力の各要素を別々のチャネルとして扱います。
依存関係
このパラメーターは、Sum input along
パラメーターを [Channels (running sum)]
に設定した場合にのみ使用できます。
リセット端子 — リセット タイプ
なし
(既定値) | 立ち上がりエッジ
| 立ち下がりエッジ
| 両エッジ
| 非ゼロのサンプル
ブロックにチャネルに沿った和をリセットさせるリセット イベントを決定します。Rst
端子への入力レートは入力データ信号のレート以下でなければなりません。[Rst] 端子への入力のサンプル時間は、入力サンプル時間の正の整数倍でなければなりません。詳細については、累積和のリセットを参照してください。
依存関係
このパラメーターは、Sum input along
パラメーターを [Channels (running sum)]
に設定した場合にのみ使用できます。
データ型
メモ
浮動小数点の継承は、このペインで定義されるデータ型の設定よりも優先されます。入力が浮動小数点の場合、ブロックはこれらの設定を無視します。すべての内部データ型は浮動小数点になります。
丸めモード — 丸めモード
負方向
(既定値) | 正方向
| 最も近い偶数方向
| 最も近い正の整数方向
| 最も近い整数方向
| 最も簡潔
| ゼロ方向
整数オーバーフローで飽和 — 固定小数点演算の飽和
off
(既定値) | on
このパラメーターをオンにすると、ブロックは固定小数点演算の結果を飽和させます。このパラメーターをオフにすると、ブロックは固定小数点演算の結果をラップします。saturate
および wrap
の詳細については、固定小数点演算のオーバーフロー モードを参照してください。
アキュムレータ — アキュムレータのデータ型
Inherit: Same as first input
(既定値) | fixdt([],16,0)
[アキュムレータ] は、Cumulative Sum ブロックでの累積操作の出力のデータ型を指定します。このブロックのアキュムレータ データ型の使い方を示す図は、拡張機能の「固定小数点の変換」の節を参照してください。
継承: 入力と同じ
— ブロックはアキュムレータのデータ型を入力のデータ型と同じになるように指定します。fixdt([],16,0)
— ブロックは語長が 16 ビットで小数部の長さが 0 である自動符号付きの 2 進小数点のスケーリングされた固定小数点データ型を指定します。
[アキュムレータ] のデータ型は、[データ型アシスタント] を使用して設定することもできます。[データ型アシスタントを表示] ボタン をクリックします。
詳細については、データ型アシスタントを利用したデータ型の指定 (Simulink)を参照してください。
出力 — 出力のデータ型
継承: アキュムレータと同じ
(既定値) | 継承: 入力と同じ
| fixdt([],16,0)
[出力] は、Cumulative Sum ブロックの出力のデータ型を指定します。出力データ型の詳細については、拡張機能の「固定小数点の変換」の節を参照してください。
継承: 入力と同じ
— ブロックは出力のデータ型を入力のデータ型と同じになるように指定します。継承: アキュムレータと同じ
— ブロックは出力のデータ型をアキュムレータのデータ型と同じになるように指定します。fixdt([],16,0)
— ブロックは語長が 16 ビットで小数部の長さが 0 である自動符号付きの 2 進小数点のスケーリングされた固定小数点データ型を指定します。
[出力] のデータ型は、[データ型アシスタント] を使用して設定することもできます。[データ型アシスタントを表示] ボタン をクリックします。
データ型アシスタントの詳細については、データ型アシスタントを利用したデータ型の指定 (Simulink)を参照してください。
出力の [最小値] — ブロックが出力可能な最小値
[]
(既定値) | スカラー
ブロックが出力可能な最小値を指定します。Simulink ソフトウェアでは、この最小値を使用して次を行います。
シミュレーション範囲のチェック。信号範囲の指定 (Simulink)を参照してください。
固定小数点データ型の自動スケーリング。
出力の [最大値] — ブロックが出力可能な最大値
[]
(既定値) | スカラー
ブロックが出力可能な最大値を指定します。Simulink ソフトウェアでは、この最大値を使用して次を行います。
シミュレーション範囲のチェック。信号範囲の指定 (Simulink)を参照してください。
固定小数点データ型の自動スケーリング。
固定小数点ツールによる変更に対してデータ型の設定をロックする — 固定小数点ツールによるデータ型のオーバーライドの回避
off
(既定値) | on
ブロック ダイアログ ボックスで指定するデータ型が固定小数点ツールによってオーバーライドされないようにするには、このパラメーターを選択します。
ブロックの特性
データ型 |
|
直達 |
|
多次元信号 |
|
可変サイズの信号 |
|
ゼロクロッシング検出 |
|
詳細
入力チャネルに沿った累積和の計算
Sum input along
パラメーターを [Channels (running sum)]
に設定した場合、ブロックは各入力チャネルで要素の累積和を計算します。現在の入力の累積和は、以前のすべての入力の累積和も考慮します。このモードでは、Input processing
パラメーターの値も指定しなければなりません。
[入力処理] パラメーターを次に設定した場合、次のようになります。
チャネルとしての列 (フレーム ベース)
–– ブロックは現在の入力の各列に沿って累積和を計算します。チャネルとしての要素 (サンプル ベース)
–– ブロックは時間の経過に伴う入力の各要素の累積和を計算します。
入力の各列の累積和の計算
[入力処理] パラメーターを [チャネルとしての列 (フレーム ベース)]
に設定した場合、ブロックは各入力列を独立したチャネルとして扱います。次の図と方程式で説明されるように、出力には次のような特性があります。
最初の出力の 1 行目は最初の入力の 1 行目と同じです。
後続の各出力の 1 行目は、現在の入力の 1 行目 (時間 t) と、前の出力の最終行 (時間 t - Tf、ここで Tf はフレーム周期) の和です。
出力は入力と同じサイズ、次元、データ型および実数/複素数をもちます。
M 行 N 列の行列入力 u が与えられた場合、出力 y は 1 行目に次の要素をもつ M 行 N 列の行列になります。
入力の各要素に対する累積和の計算
[入力処理] パラメーターを [チャネルとしての要素 (サンプル ベース)]
に設定した場合、ブロックは入力行列の各要素を独立したチャネルとして扱います。以下の図と方程式が示すように、出力には次のような特性があります。
最初の出力は最初の入力と同じです。
後続の各出力は、現在の入力 (時間 t) と、前の出力 (時間 t - Ts、ここで Ts はサンプル周期) の和になります。
出力は入力と同じサイズ、次元、データ型および実数/複素数をもちます。
M 行 N 列の行列入力 u が与えられた場合、出力 y は次の要素をもつ M 行 N 列の行列になります。
累積和のリセット
累積和の計算中に、オプションの Rst
端子でリセット イベントが検出されるたびに累積和をリセットするようにブロックを構成することができます。[Rst] 端子への入力レートは入力データ信号のレート以下でなければなりません。[Rst] 端子への入力のサンプル時間は、入力サンプル時間の正の整数倍でなければなりません。リセットのサンプル時間は、入力サンプル時間の正の整数倍でなければなりません。[Rst] 端子への入力は boolean
にすることができます。
ブロックでのサンプルベース処理の実行中にリセット イベントが発生した場合、ブロックは現在の出力を現在の入力の値に初期化します。ブロックでのフレームベース処理の実行中にリセット イベントが発生した場合、ブロックは現在の出力の 1 行目を現在の入力の 1 行目の値に初期化します。
Reset port
パラメーターには次のいずれかのリセット イベントを指定できます。
なし
— [Rst] 端子を無効にします。立ち上がりエッジ
— Rst の入力が次のいずれかを行うときにリセット操作をトリガーします。負の値から正の値またはゼロに立ち上がる
ゼロから正の値へ立ち上がる。この場合、立ち上がりは負の値からゼロへの立ち上がりと連続していません
立ち下がりエッジ
— Rst の入力が次のいずれかを行うときにリセット操作をトリガーします。正の値から負の値またはゼロに立ち下がる
ゼロから負の値に立ち下がる。この場合、立ち下がりは正の値からゼロへの立ち下りと連続していません
両エッジ
— [Rst] の入力が[立ち上がりエッジ]
または[立ち下がりエッジ]
の場合にリセット操作をトリガーします。非ゼロのサンプル
— [Rst] 入力が非ゼロの各サンプル時間でリセット操作をトリガーします。
メモ
Simulink [マルチタスク]
モードでシミュレーションを実行する場合、リセット信号のサンプル レイテンシは 1 つになります。ブロックでリセット イベントが検出されると、ブロックがリセットを適用する前にリセット端子のレートで 1 サンプル分の遅延が発生します。レイテンシと Simulink タスク モードの詳細については、Excess Algorithmic Delay (Tasking Latency)と時間ベースのスケジューリングとコード生成 (Simulink Coder)を参照してください。
列に沿った加算
Sum input along
パラメーターを [Columns]
に設定すると、ブロックは入力の各列の累積和を計算します。このモードでは、現在の累積和は以前の入力の累積和に依存しません。
y = cumsum(u) % Equivalent MATLAB code
出力は入力と同じサイズ、次元、データ型および実数/複素数をもちます。m 番目の出力行は入力の最初の m 行の和です。
M 行 N 列の入力 u が与えられた場合、出力 y は j 番目の列に次の要素をもつ M 行 N 列の行列になります。
列に沿って加算する場合、ブロックは長さ M の方向性をもたないベクトルの入力を M 行 1 列の列ベクトルとして扱います。
行に沿った加算
Sum input along
パラメーターを [Rows]
に設定すると、ブロックは行の要素の累積和を計算します。このモードでは、現在の累積和は以前の入力の累積和に依存しません。
y = cumsum(u,2) % Equivalent MATLAB code
出力は入力と同じサイズ、次元およびデータ型をもちます。n 番目の出力列は入力の最初の n 列の和です。
M 行 N 列の入力 u が与えられた場合、出力 y は i 番目の行に次の要素をもつ M 行 N 列の行列になります。
行に沿って加算する場合、ブロックは長さ N の方向性をもたないベクトル入力を 1 行 N 列の行ベクトルとして扱います。
拡張機能
C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。
生成されたコードは特定の条件下で関数 memcpy
または関数 memset
(string.h
) に依存します。
固定小数点の変換
Fixed-Point Designer™ を使用して固定小数点システムの設計とシミュレーションを行います。
次の図は、Cumulative Sum ブロック内で固定小数点信号に使用されるデータ型を示しています。
アキュムレータおよび出力データ型をブロック ダイアログ ボックスで設定することができます。パラメーターを参照してください。
バージョン履歴
R2006a より前に導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)