このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
Assignment
指定された信号要素に値を代入
ライブラリ:
Simulink /
Math Operations
HDL Coder /
Math Operations
説明
Assignment ブロックは指定された信号要素に値を代入します。値を代入する要素のインデックスを指定するには、ブロック ダイアログ ボックスにインデックスを入力するか、ソースまたは外部のインデックス ソースをブロックに接続します。U
のブロック データ端子の信号は、Y
に代入する値を指定します。ブロックは指定された Y
の要素をデータ信号の要素と置き換えます。
[出力の次元数] パラメーターに入力した値に基づいて、インデックス オプションの表が表示されます。この表の各行は、[出力の次元数] の各出力次元に対応しています。各次元に処理信号の要素を定義します。ベクトルは 1 次元信号として、行列は 2 次元信号として指定します。外部のインデックス端子を有効にするには、表の対応する行の [インデックス オプション] を [インデックス ベクトル (端子)]
または [開始インデックス (端子)]
に設定します。
たとえば、1 ベースのインデックス モードで 5 次元信号を使用します。Assignment ブロック ダイアログの表は、各行が各次元に対応するように変わります。各次元を以下のエントリとして定義する場合の例を示します。
行 | インデックス オプション | インデックス |
---|---|---|
1 | すべて割り当てる | |
2 | インデックス ベクトル (ダイアログ) | [1 3 5] |
3 | 開始インデックス (ダイアログ) | 4 |
4 | 開始インデックス (端子) | |
5 | インデックス ベクトル (端子) |
代入する値は Y(1:end,[1 3 5],4:3+size(U,3),Idx4:Idx4+size(U,4)-1,Idx5)=U
になります。ここで、Idx4
と Idx5
はそれぞれ 4 次元と 5 次元の入力端子です。
ノーマル モードで Assignment ブロックを使用するときは、ブロックがモデルによって明示的に初期化されない場合でも Simulink® はブロック出力を 0 に初期化します。アクセラレータ モードでは、Simulink はモデルを S-Function に変換します。これにはコード生成が含まれます。生成されたコードではブロック出力の暗黙的な初期化は行われない可能性があります。このような場合はモデル出力を明示的に初期化しなければなりません。
Assignment ブロックを使用して、ベクトル、行列、多次元信号に値を代入できます。
バス配列を Assignment ブロックへの入力信号として使用できます。
条件付きサブシステムでの Assignment ブロック
Assignment ブロックを条件付きサブシステム ブロックに配置すると、多くの場合は非表示の信号バッファー (Signal Copy ブロックと等価) が挿入され、また、部分書き込みによって Assignment ブロックからの信号をマージするとエラーが発生する場合があります。
しかし、条件付きサブシステムの Outport ブロックについて [出力端子がバーチャルであることを確認] パラメーターを選択すると、そうしたケースへの対応ができ、Assignment ブロックを使用した配列への部分書き込みが可能になります。出力端子がバーチャルであることを確認を参照してください。
制限
[インデックス] パラメーターはシミュレーション時には調整できません。次元の [インデックス オプション] を
[インデックス ベクトル (ダイアログ)]
または[開始インデックス (ダイアログ)]
に設定し、ブロック ダイアログで対応する [インデックス] に対してSimulink.Parameter
オブジェクトなどのシンボリック値を指定すると、シミュレーションの開始時の瞬時値がシミュレーション全体を通して使用され、パラメーターはインライン化された値として生成されたコードに表示されます。ブロック パラメーター値の調整と試行を参照してください。インデックス端子を使用して代入インデックスを動的に調整できます。
端子
入力
出力
パラメーター
ブロックの特性
データ型 |
|
直達 |
|
多次元信号 |
|
可変サイズの信号 |
|
ゼロクロッシング検出 |
|
拡張機能
バージョン履歴
R2006a より前に導入