このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
For Iterator
For Iterator Subsystem の制御ブロック

説明
Subsystem ブロックに配置された For Iterator ブロックは、反復変数が指定された反復制限を超えるまで、現在のタイム ステップの間サブシステムの実行を繰り返します。このブロックを使用して、プログラミング言語の for
ループに相当するブロック線図を実装できます。
For Iterator Subsystem ブロックの出力を関数呼び出し信号にすることはできません。モデルの更新時に Simulink® がエラー メッセージを表示します。
例
Assignment ブロックによる反復代入
この例では、Assignment ブロックを使用して For または While の Iterator ループで計算される値を連続した要素に代入する方法を示します。
端子
入力
入力端子は、数値データ型の混在を許可します。
入力端子の値が非整数の場合は、はじめに整数に切り詰められます。
内部で、入力値は反復変数出力端子に対して指定されたタイプの整数に変換されます。
出力端子が指定されなかった場合、入力端子の値はタイプ
int32
に変換されます。入力端子の値が出力端子タイプの最大値を超えた場合、オーバーフローは飽和します。
データ型: single
| double
| int8
| int16
| int32
| uint8
| uint16
| uint32
出力
[反復変数の表示] パラメーターのチェック ボックスをオンにすると、出力端子がこのブロックに追加されます。
データ型: double
| int8
| int16
| int32
| uint8
| uint16
| uint32
パラメーター
タイム ステップ間でのブロックの状態の処理方法を選択します。
保持
タイム ステップ間でブロックの状態を保持します。ブロックの状態値はタイム ステップ間にわたって持続します。
リセット
各タイム ステップの最初および最初の反復ループが実行される前にブロックの状態を初期値にリセットします。
プログラムでの使用
ブロック パラメーター: ResetStates |
型: 文字ベクトル |
値: 'held' | 'reset' |
既定の設定: 'held' |
反復回数のソースを選択します。
内部
[反復制限] パラメーターの値によって反復回数が決まります。
外部
N 端子の信号の値によって反復回数が決まります。信号ソースは For Iterator Subsystem ブロックの外部になければなりません。
依存関係
[内部]
を選択すると、[反復制限] パラメーターが表示され、有効になります。[外部]
を選択すると N というラベル付きの入力端子が追加されます。
プログラムでの使用
ブロック パラメーター: IterationSource |
型: 文字ベクトル |
値: 'internal' | 'external' |
既定の設定: 'internal' |
反復回数を指定します。このパラメーターは、ストレージ クラスをサポートします。モデル エクスプローラーのベース ワークスペースで名前付き定数を組み込みのストレージ クラス Define (custom)
タイプの Simulink.Parameter
オブジェクトとして定義できます。
5
For Iterator Subsystem ブロック内のブロックを
5
回反復します。- 整数
整数または名前付きの定数変数を指定します。
依存関係
このパラメーターを有効にするには、[反復制限元] ドロップダウン リストから [内部]
を選択します。
プログラムでの使用
ブロック パラメーター: IterationLimit |
型: 文字ベクトル |
値: '5' | 引用符で囲んだ整数 |
既定の設定: '5' |
入力端子の表示を制御します。
- オフ
入力端子を削除します。
- オン
外部の反復変数ソースに接続するための Next_i というラベルの付いた入力端子を追加します。現在の反復での入力の値が、次回の反復での反復変数の値として使用されます。
依存関係
このパラメーターを有効にするには、1:N というラベルの付いた出力端子も表示する [反復変数の表示] パラメーターを選択します。
プログラムでの使用
ブロック パラメーター: ExternalIncrement |
型: 文字ベクトル |
値: 'off' | 'on' |
既定の設定: 'off' |
ループの現在の反復子の値を使用して、出力端子の表示を制御します。
- オン
1:N というラベル付きの出力端子を For Iterator ブロックに追加します。
- オフ
出力端子を削除します。
依存関係
このパラメーターを選択すると、[次の i (反復変数) を外部で設定] パラメーターが有効になります。
プログラムでの使用
ブロック パラメーター: ShowIterationPort |
型: 文字ベクトル |
値: 'on' | 'off' |
既定の設定: 'on' |
最初の反復番号 (0
または 1
) を選択します。
[1 ベース]
反復番号は 1 から始まります。
0 ベース
反復番号は 0 から始まります。
プログラムでの使用
ブロック パラメーター: IndexMode |
型: 文字ベクトル |
値: 'One-based' | 'Zero-based' |
既定の設定: 'One-based' |
反復回数の端子から出力される反復値のデータ型を設定します。反復変数の最大許容値は [インデックス モード] パラメーターおよび [反復変数のデータ型] パラメーターによって決まります。たとえば、[インデックス モード] を [1 ベース]
、[反復変数のデータ型] を [int8]
に設定した場合、反復変数の最大許容値は 27-1 です。しかし、[反復変数のデータ型] を [uint32]
または [double]
に設定した場合、反復変数の最大許容値は符号付き 32 ビット整数 (int32
) の正の最大値に制限されます。各種整数クラスの値の範囲の詳細については、整数を参照してください。
int32
データ型を
int32
に設定します。uint32
データ型を
uint32
に設定します。int16
データ型を
int16
に設定します。uint16
データ型を
uint16
に設定します。int8
データ型を
int8
に設定します。uint8
データ型を
uint8
に設定します。double
データ型を
double
に設定します。
プログラムでの使用
ブロック パラメーター: IterationVariableDataType |
型: 文字ベクトル |
値: 'int32' | 'uint32' | 'int16' | 'uint16' | 'int8' | 'uint8' | 'double' |
既定の設定: 'int32' |
バージョン履歴
R2006a より前に導入以下によって生成される信号に信号のブレークポイントを追加して、反復サブシステムの特定の反復でシミュレーションを一時停止できるようになりました。
While Iterator Subsystem ブロック内の While Iterator ブロックの反復回数の出力端子
For Iterator Subsystem ブロック内の For Iterator ブロックの反復値の出力端子
For Each Subsystem ブロック内の For Each ブロックの分割インデックスの出力端子
以前のリリースでは、それらの場所にブレークポイントを追加することはできましたが、ブレークポイントでシミュレーションは一時停止せず、ブロック線図に無効と表示されていました。
同じ場所で、端子の値のラベルに反復回数が表示されるようになりました。以前のリリースでは、それらの場所にある端子の値のラベルには inaccessible
と表示されていました。
例については、Debug Simulation of Iterator Subsystemを参照してください。
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- 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)