Variable Selector
入力から行または列のサブセットを選択
- ライブラリ:
DSP System Toolbox / Signal Management / Indexing
DSP System Toolbox HDL Support / Signal Management

説明
Variable Selector ブロックは、各入力端子で M 行 N 列の入力行列 u
から行または列のサブセットを抽出します。[Number of input signals] パラメーターで入力端子および出力端子の数を指定します。
インデックス ベクトルの要素が入力の存在しない行や列を参照した場合、ブロックは [Invalid index] パラメーターを使用して指定されたアクションを実装します。
インデックス ベクトルの要素が boolean データ型である場合、ブロックは論理的なインデックス付けを実行します。[Fill empty spaces in outputs (for logical indexing)] を選択して、[Fill values] パラメーターにアクセスします。入力要素と同じ長さにするために、これらの値が出力に付加されます。
メモ
Variable Selector ブロックは常に、(Simulink® Selector ブロックとは異なり) 選択された入力の行または列をメモリの隣接するブロックにコピーします。
端子
入力
InN
— N 番目の入力信号
スカラー | ベクトル | 行列
N 番目の入力信号。ここで、N はNumber of input signals, Number of input signalsNumber of input signalsNumber of input signalsパラメーターで指定した入力の数です。
入力が方向性をもたないベクトルの場合、Select, SelectSelectSelect パラメーターは無視されます。出力は、長さ L のインデックス ベクトルで指定された要素を含む、長さ L の方向性をもたないベクトルです。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
| enumerated
複素数のサポート: あり
Idx
— インデックス ベクトル
スカラー | ベクトル
出力行列に表示される入力行または入力列のインデックスを含むスカラー値またはベクトルを指定します。
依存関係
この端子はSelector mode, Selector modeSelector modeSelector modeパラメーターを [Variable]
に設定する場合にのみ表示されます。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
| enumerated
出力
OutN
— N 番目の出力信号
スカラー | ベクトル | 行列
N 番目の出力信号。N 番目の入力信号に対応します。ここで、N はNumber of input signals, Number of input signalsNumber of input signalsNumber of input signalsパラメーターで指定した入力の数です。出力は、対応する入力と型、サイズ、実数/複素数が同じであるスカラー、ベクトルまたは行列として返されます。
インデックス モードが Variable および Fixed のどちらの場合でも、行選択の操作は次と等価です。
y = u(idx,:) % Equivalent MATLAB code
また、列選択の操作は次と等価です。
y = u(:,idx) % Equivalent MATLAB code
ここで、idx
は長さ L のインデックス ベクトルです。行選択の出力サイズは L 行 N 列であり、列選択の出力サイズは M 行 L 列です。入力行または入力列は出力に任意の回数表示することも、まったく表示しないこともできます。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
| enumerated
パラメーター
Number of input signals
— 入力の数
1
(既定値) | 正の整数
入力信号の数を正の整数として指定します。各入力信号に対して 1 つの入力端子がブロックに作成されます。
Select
— 選択する次元
Rows
(既定値) | Columns
選択する入力の次元 [Rows]
または [Columns]
を指定します。
以下は [Select] の各設定です。
Rows
–– ブロックは各入力行列から行を抽出します。Columns
–– ブロックは各入力行列から列を抽出します。
入力が方向性をもたないベクトルの場合、[Select] パラメーターは無視されます。出力は、長さ L のインデックス ベクトルで指定された要素を含む、長さ L の方向性をもたないベクトルです。
Selector mode
— インデックス モード
Variable
(既定値) | Fixed
実行するインデックス操作のタイプ [Variable]
または [Fixed]
を指定します。
以下は [Selector mode] の各設定です。
Variable
–– Idx, IdxIdxIdx 端子に対する長さ L のベクトル入力は、各入力の L 個の行または列を選択して出力に渡します。インデックス ベクトルの要素は各サンプル時間で更新できますが、ベクトルの長さはシミュレーションを通じて同じままでなければなりません。Fixed
–– [Idx] 端子は無効になります。要素, Elements要素Elements パラメーターで指定した長さ L のベクトルは、各入力の L 個の行または列を選択して出力に渡します。[Elements] パラメーターは調整可能であるため、シミュレーション中にいつでもインデックス ベクトルの要素の値を変更できます。ただし、ベクトルの長さは同じままでなければなりません。
要素
— 選択した要素
[1 3]
(既定値) | スカラー | ベクトル
出力行列に表示される入力行または入力列のインデックスを含むベクトルを指定します。
調整可能: Yes
依存関係
このパラメーターは、Selector mode, Selector modeSelector modeSelector mode を [Fixed]
に設定した場合にのみ表示されます。
Index mode
— Index mode
Zero-based
(既定値) | One-based
[One-based]
に設定されている場合、1
のインデックス値は入力の最初の行または列を参照します。[0 ベース]
に設定されている場合、0
のインデックス値は入力の最初の行または列を参照します。
Invalid index
— エラーの取り扱い
Clip Index
(既定値) | Clip and Warn
| Generate Error
ブロックによる無効なインデックス値の処理方法を指定します。以下のオプションのいずれかを選択できます。
[Clip index]
— インデックスを最も近い有効な値にクリッピングし、警告を出しません。たとえば以下は、ブロックが
64
行4
列の入力を受信する場合の、Select, SelectSelectSelect パラメーターの各設定です。Rows
–– ブロックは72
のインデックスを64
にクリッピングします。Columns
–– ブロックは72
のインデックスを4
にクリッピングします。
どちらの場合も、ブロックは
-2
のインデックスを1
にクリッピングします。[Clip and warn]
— インデックスを最も近い有効な値にクリッピングして、MATLAB® コマンド ラインに警告メッセージを表示します。[Generate error]
— エラー ダイアログ ボックスを表示して、シミュレーションを終了します。
調整可能: Yes
Fill empty spaces in outputs (for logical indexing)
— 出力の空白部分を塗りつぶす
on
(既定値) | off
インデックス ベクトルの要素が boolean データ型である場合、ブロックは論理的なインデックス付けを実行します。論理的なインデックス付けにより、出力に空のスペースが生じる可能性があります。値を Fill values, Fill valuesFill valuesFill values パラメーターの出力に付加するように指定する場合は、このパラメーターを選択します。
Fill values
— 塗りつぶしの値
0
(既定値) | スカラー値 | 整数
ブロックが論理的なインデックス付けを実行する場合は、塗りつぶしの値を指定します。
依存関係
このパラメーターは、Fill empty spaces in outputs (for logical indexing), Fill empty spaces in outputs (for logical indexing)Fill empty spaces in outputs (for logical indexing)Fill empty spaces in outputs (for logical indexing) パラメーターを選択した場合にのみ表示されます。
ブロックの特性
データ型 |
|
直達 |
|
多次元信号 |
|
可変サイズの信号 |
|
ゼロクロッシング検出 |
|
拡張機能
C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。
生成されたコードは特定の条件下で関数 memcpy
または関数 memset
(string.h
) に依存します。
HDL コード生成
HDL Coder™ を使用して FPGA 設計および ASIC 設計のための Verilog および VHDL のコードを生成します。
HDL Coder™ は、HDL の実装および合成ロジックに影響を与える、追加の構成オプションを提供します。
このブロックは 1 つの既定の HDL アーキテクチャをもっています。
ConstrainedOutputPipeline | 設計内で既存の遅延を移動することによって出力に配置するレジスタの数。分散型パイプラインは、これらのレジスタを再分散しません。既定の設定は |
InputPipeline | 生成コードに挿入する入力パイプライン ステージの数。分散型パイプラインと制約付き出力パイプラインは、これらのレジスタを移動できます。既定の設定は |
OutputPipeline | 生成コードに挿入する出力パイプライン ステージの数。分散型パイプラインと制約付き出力パイプラインは、これらのレジスタを移動できます。既定の設定は |
このブロックは、複素信号に対するコード生成をサポートします。
固定小数点の変換
Fixed-Point Designer™ を使用して固定小数点システムの設計とシミュレーションを行います。
バージョン履歴
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)