Selector
ベクトル信号または行列信号、多次元信号からの入力要素を選択

ライブラリ:
Simulink /
Signal Routing
HDL Coder /
Signal Routing
説明
Selector ブロックは、指定されたインデックスに基づいて入力ベクトル、行列、多次元信号の選択された要素を抽出します。抽出された信号は、入力信号とは異なる方法でグループ化できます。
[入力の次元数] パラメーターに入力した値に基づき、インデックス設定の表が表示されます。表の各行は、[入力の次元数] の入力次元に対応します。各次元について、信号に機能させる要素を定義します。ベクトルは 1 次元信号として、行列は 2 次元信号として指定します。Selector ブロックを多次元信号操作用に構成するときは、ブロックのアイコンが変化します。
たとえば、1 ベースのインデックス モードで 6 次元信号を使用します。Selector ブロック ダイアログの表は、各次元について 1 行を含むように変更されます。次元を次の表に示すように定義した場合、出力は Y = U(1:end,2:6,[1 3 5],Idx4:Idx4+7,Idx5,Idx6(1):Idx6(2))
です。ここで、Idx4
、Idx5
、および Idx6
は次元 4、5、および 6 のインデックス端子です。
行 | インデックス オプション | インデックス | 出力サイズ |
---|---|---|---|
1 | すべて選択 | ||
2 | 開始インデックス (ダイアログ) | 2 | 5 |
3 | インデックス ベクトル (ダイアログ) | [1 3 5] | |
4 | 開始インデックス (端子) | 8 | |
5 | インデックス ベクトル (端子) | ||
6 | 最初と最後のインデックス (端子) |
バス配列を Selector ブロックの入力信号として使用できます。バス配列の定義と使用方法の詳細は、非バーチャル バスのバス配列へのグループ化を参照してください。
制限
[インデックス] パラメーターはシミュレーション時には調整できません。次元の [インデックス オプション] を
[インデックス ベクトル (ダイアログ)]
または[開始インデックス (ダイアログ)]
に設定し、ブロック ダイアログで対応する [インデックス] に対してSimulink.Parameter
オブジェクトなどのシンボリック値を指定すると、シミュレーションの開始時の瞬時値がシミュレーション全体を通して使用され、パラメーターはインライン化された値として生成されたコードに表示されます。ブロック パラメーター値の調整と試行を参照してください。インデックス端子を使用して選択インデックスを動的に調整できます。
端子
入力
Port_1 — 入力信号
スカラー | ベクトル | 行列 | 多次元
入力信号と出力信号に対する要素のソース
データ型: single
| double
| half
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
| enumerated
| bus
| image
IndxN — N
番目のインデックス信号
スカラー | ベクトル | 行列
対応する出力要素の選択用のインデックスを指定する外部端子。
カスタム幅の整数 (15 ビット整数や 23 ビット整数など) をインデックス信号の値として指定できます。整数の幅を構成するときは、[モード] を [固定小数点]
として指定し、[語長] を 128 以下、[勾配] を 1、[バイアス] を 0 にする必要があります。固定小数点データ型の指定の詳細については、データ型アシスタントを利用したデータ型の指定を参照してください。
依存関係
外部のインデックス端子を有効にするには、[インデックス オプション] 表の対応する行の [インデックス オプション] を [インデックス ベクトル (端子)]
、[開始インデックス (端子)]
、または [最初と最後のインデックス (端子)]
に設定します。
データ型: single
| double
| int8
| int16
| int32
| uint8
| uint16
| uint32
出力
Port_1 — 出力信号
スカラー | ベクトル | 行列 | 多次元
入力信号の選択されたまたは記録された要素から生成された出力信号。
データ型: single
| double
| half
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
| enumerated
| bus
| image
パラメーター
入力の次元数 — 入力信号の次元数
1
(既定値) | 整数
入力信号の次元数を指定します。
プログラムでの使用
ブロック パラメーター: NumberOfDimensions
|
型: 文字ベクトル |
値: integer
|
既定の設定: '1'
|
インデックス モード — インデックス モード
[1 ベース]
(既定値) | 0 ベース
インデックス モードを指定します。[One-based
] を選択した場合、インデックス 1 は入力ベクトルの最初の要素を指定します。[Zero-based
] を選択した場合、インデックス 0 は入力ベクトルの最初の要素を指定します。
プログラムでの使用
ブロック パラメーター: IndexMode
|
型: 文字ベクトル |
値: 'One-based' | 'Zero-based'
|
既定の設定: 'One-based'
|
インデックス オプション — 要素のインデックス手法
インデックス ベクトル (ダイアログ)
(既定値) | すべて選択
| インデックス ベクトル (端子)
| 開始インデックス (ダイアログ)
| 開始インデックス (端子)
| 最初と最後のインデックス (端子)
次元単位で信号の要素のインデックス付けの方法を定義します。リストから以下を選択します。
すべて選択
その他のコンフィギュレーションは必要ありません。すべての要素が選択されます。
インデックス ベクトル (ダイアログ)
[インデックス] 列が有効になります。要素のインデックス ベクトルを入力します。
インデックス ベクトル (端子)
その他のコンフィギュレーションは必要ありません。
開始インデックス (ダイアログ)
[インデックス] および [出力サイズ] 列が有効になります。選択した要素の範囲の開始インデックスを [インデックス] 列に、選択した要素数を [出力サイズ] 列に入力します。
開始インデックス (端子)
[出力サイズ] 列が利用可能になります。選択した要素数を [出力サイズ] 列に入力します。
最初と最後のインデックス (端子)
その他のコンフィギュレーションは必要ありません。
このオプションを使用すると、可変サイズの信号が出力されます。更新すると、出力信号の次元が入力信号の次元と等しくなるように設定されます。実行中、インデックスを与える信号にもとづいて出力の次元が更新されます。
出力信号データのログを記録すると、選択されていない信号が NaN 値でパディングされます。
[インデックス] 列と [出力サイズ] 列は、必要に応じて表示されます。
プログラムでの使用
ブロック パラメーター: IndexOptionArray
|
型: 文字ベクトル |
値: 'Select all' | 'Index vector (dialog)' | 'Index option (port)' | 'Starting index (dialog)' | 'Starting index (port)' | Starting and ending indices (port) |
既定の設定: 'Index vector (dialog)'
|
インデックス — 要素のインデックス
1
(既定値) | 整数
[インデックス オプション] が [インデックス ベクトル (ダイアログ)]
の場合は、対象となる各要素のインデックスを入力します。
[インデックス オプション] が [開始インデックス (ダイアログ)]
の場合は、選択した要素の範囲の開始インデックスを入力します。
プログラムでの使用
ブロック パラメーター: IndexParamArray
|
型: 文字ベクトル |
値: cell 配列 |
既定の設定: '{ }'
|
出力サイズ — ブロックの出力信号の幅
1
(既定値) | 整数
ブロックの出力信号の幅を指定します。
プログラムでの使用
ブロック パラメーター: OutputSizeArray
|
型: 文字ベクトル |
値: cell 配列 |
既定の設定: '{ }'
|
入力の端子サイズ — 入力信号の幅
3
(既定値) | 整数
1 次元信号のブロックの入力信号の幅を指定します。駆動ブロックから継承するには「-1
」を入力します。
プログラムでの使用
ブロック パラメーター: InputPortWidth
|
型: 文字ベクトル |
値: integer
|
既定の設定: '3'
|
サンプル時間 (継承は -1) — サンプルの間隔
-1
(既定値) | スカラー | ベクトル
サンプルの時間間隔を指定します。サンプル時間を継承するには、このパラメーターを -1
に設定します。詳細については、サンプル時間の指定を参照してください。
依存関係
このパラメーターは、-1
以外の値に設定した場合にのみ表示されます。詳細は、サンプル時間が推奨されないブロックを参照してください。
プログラムでの使用
ブロック パラメーター: SampleTime |
型: string スカラーまたは文字ベクトル |
既定の設定: "-1" |
アクセラレータ シミュレーションで範囲外インデックスをチェック — アクセラレータ モードおよびラピッド アクセラレータのシミュレーション モードで範囲外のインデックス値をチェックするオプション
off
(既定値) | on
アクセラレータ モードまたはラピッド アクセラレータ モードでのシミュレーション時に、いずれかのインデックス値が入力信号の関連する次元に対して有効なインデックスの範囲外にあるかどうかを Simulink® でチェックするには、このチェック ボックスをオンにします。インデックスが範囲外の場合、Simulink はシミュレーションを停止し、エラー メッセージを表示します。
メモ
このチェック ボックスをオンにしない場合、範囲外のインデックス値によって、アクセラレータ モードまたはラピッド アクセラレータ モードのシミュレーション時に未定義の動作が発生する可能性があります。
Simulink はこのチェック ボックスをオンにするかどうかに関係なく、ノーマル モードのシミュレーション時にこのチェックを実行します。
プログラムでの使用
パラメーター: RuntimeRangeChecks
|
型: 文字ベクトル |
値: 'Off' | 'On' |
既定の設定: 'Off'
|
ブロックの特性
データ型 |
|
直達 |
|
多次元信号 |
|
可変サイズの信号 |
|
ゼロクロッシング検出 |
|
拡張機能
C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。
HDL コード生成
HDL Coder™ を使用して FPGA 設計および ASIC 設計のための Verilog および VHDL のコードを生成します。
HDL Coder™ には、HDL の実装および合成されたロジックに影響する追加のコンフィギュレーション オプションがあります。
このブロックには 1 つの既定の HDL アーキテクチャがあります。
一般 | |
---|---|
ConstrainedOutputPipeline | 既存の遅延を設計内で移動することによって出力に配置するレジスタの数。分散型パイプラインではこれらのレジスタは再分散されません。既定の設定は |
InputPipeline | 生成されたコードに挿入する入力パイプライン ステージ数。分散型パイプラインと制約付き出力パイプラインでは、これらのレジスタを移動できます。既定の設定は |
OutputPipeline | 生成されたコードに挿入する出力パイプライン ステージ数。分散型パイプラインと制約付き出力パイプラインでは、これらのレジスタを移動できます。既定の設定は |
ネイティブ浮動小数点 | |
---|---|
LatencyStrategy | 浮動小数点演算子について、設計内のブロックを |
このブロックは、複素信号のコード生成をサポートしています。
PLC コード生成
Simulink® PLC Coder™ を使用して構造化テキスト コードを生成します。
固定小数点の変換
Fixed-Point Designer™ を使用して固定小数点システムの設計とシミュレーションを行います。
バージョン履歴
R2006a より前に導入R2023a: インデックス信号でカスタム幅の整数をサポート
R2023a 以降では、Selector ブロックにインデックス信号の値を指定するために使用する整数の幅をカスタマイズできます。
R2023a: 可変サイズの信号の [インデックス オプション] として [インデックス ベクトル (ダイアログ)]
と [開始インデックス (ダイアログ)]
をサポート
R2023a 以降では、1 次元の可変サイズの入力信号を受け入れるように構成された Selector ブロックで、[インデックス オプション] として [インデックス ベクトル (ダイアログ)]
と [開始インデックス (ダイアログ)]
がサポートされます。
この強化により、1 次元の可変サイズの入力信号を受け入れるように Selector ブロックを構成するときに、使用可能なすべての [インデックス オプション] の設定から選択できるようになります。
参考
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)