このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
Variable Selector
入力から行または列のサブセットを選択
ライブラリ:
DSP System Toolbox /
Signal Management /
Indexing
DSP System Toolbox HDL Support /
Signal Management
説明
Variable Selector ブロックは、各入力端子で M 行 N 列の入力行列 u
から行または列のサブセットを抽出します。[入力信号の数] パラメーターで入力端子および出力端子の数を指定します。
インデックス ベクトルの要素が入力の存在しない行や列を参照した場合、ブロックは [無効なインデックス] パラメーターを使用して指定されたアクションを実装します。
インデックス ベクトルの要素が boolean データ型である場合、ブロックは論理的なインデックス付けを実行します。[出力の空白部分を埋める (論理インデックス付けの場合)] を選択して、[塗りつぶしの値] パラメーターにアクセスします。入力要素と同じ長さにするために、これらの値が出力に付加されます。
メモ
Variable Selector ブロックは常に、(Simulink® Selector ブロックとは異なり) 選択された入力の行または列をメモリの隣接するブロックにコピーします。
例
端子
入力
InN — N 番目の入力信号
スカラー | ベクトル | 行列
Idx — インデックス ベクトル
スカラー | ベクトル
出力行列に表示される入力行または入力列のインデックスを含むスカラー値またはベクトルを指定します。
依存関係
この端子はセレクター モードパラメーターを [可変]
に設定する場合にのみ表示されます。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
| enumerated
出力
OutN — N 番目の出力信号
スカラー | ベクトル | 行列
N 番目の出力信号。N 番目の入力信号に対応します。ここで、N は入力信号の数パラメーターで指定した入力の数です。出力は、対応する入力と型、サイズ、実数/複素数が同じであるスカラー、ベクトルまたは行列として返されます。
インデックス モードが可変および固定のどちらの場合でも、行選択の操作は次と等価です。
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
パラメーター
入力信号の数 — 入力の数
1
(既定値) | 正の整数
入力信号の数を正の整数として指定します。各入力信号に対して 1 つの入力端子がブロックに作成されます。
選択 — 選択する次元
行
(既定値) | 列
選択する入力の次元 [行]
または [列]
を指定します。
以下は [選択] の各設定です。
行
–– ブロックは各入力行列から行を抽出します。列
–– ブロックは各入力行列から列を抽出します。
入力が方向性をもたないベクトルの場合、[選択] パラメーターは無視されます。出力は、長さ L のインデックス ベクトルで指定された要素を含む、長さ L の方向性をもたないベクトルです。
セレクター モード — インデックス モード
可変
(既定値) | 固定
実行するインデックス操作のタイプ [可変]
または [固定]
を指定します。
以下は [セレクター モード] の各設定です。
要素 — 選択した要素
[1 3]
(既定値) | スカラー | ベクトル
インデックス モード — インデックス モード
0 ベース
(既定値) | 1 ベース
[1 ベース]
に設定されている場合、1
のインデックス値は入力の最初の行または列を参照します。[0 ベース]
に設定されている場合、0
のインデックス値は入力の最初の行または列を参照します。
無効なインデックス — エラーの取り扱い
インデックスのクリップ
(既定値) | クリップおよび警告
| エラーの生成
ブロックによる無効なインデックス値の処理方法を指定します。以下のオプションのいずれかを選択できます。
[インデックスのクリップ]
— インデックスを最も近い有効な値にクリッピングし、警告を出しません。たとえば以下は、ブロックが
64
行4
列の入力を受信する場合の、選択 パラメーターの各設定です。行
–– ブロックは72
のインデックスを64
にクリッピングします。列
–– ブロックは72
のインデックスを4
にクリッピングします。
どちらの場合も、ブロックは
-2
のインデックスを1
にクリッピングします。[クリップおよび警告]
— インデックスを最も近い有効な値にクリッピングして、MATLAB® コマンド ラインに警告メッセージを表示します。[エラーの生成]
— エラー ダイアログ ボックスを表示して、シミュレーションを終了します。
調整可能: Yes
出力の空白部分を埋める (論理インデックス付けの場合) — 出力の空白部分を塗りつぶす
on
(既定値) | off
インデックス ベクトルの要素が boolean データ型である場合、ブロックは論理的なインデックス付けを実行します。論理的なインデックス付けにより、出力に空のスペースが生じる可能性があります。値を 塗りつぶしの値 パラメーターの出力に付加するように指定する場合は、このパラメーターを選択します。
塗りつぶしの値 — 塗りつぶしの値
0
(既定値) | スカラー値 | 整数
ブロックが論理的なインデックス付けを実行する場合は、塗りつぶしの値を指定します。
依存関係
このパラメーターは、出力の空白部分を埋める (論理インデックス付けの場合) パラメーターを選択した場合にのみ表示されます。
ブロックの特性
データ型 |
|
直達 |
|
多次元信号 |
|
可変サイズの信号 |
|
ゼロクロッシング検出 |
|
拡張機能
C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。
生成されたコードは特定の条件下で関数 memcpy
または関数 memset
(string.h
) に依存します。
HDL コード生成
HDL Coder™ を使用して FPGA 設計および ASIC 設計のための VHDL、Verilog および SystemVerilog のコードを生成します。
HDL Coder™ は、HDL の実装および合成ロジックに影響を与える、追加の構成オプションを提供します。
このブロックは 1 つの既定の HDL アーキテクチャをもっています。
ConstrainedOutputPipeline | 設計内で既存の遅延を移動することによって出力に配置するレジスタの数。分散型パイプラインは、これらのレジスタを再分散しません。既定の設定は |
InputPipeline | 生成コードに挿入する入力パイプライン ステージの数。分散型パイプラインと制約付き出力パイプラインは、これらのレジスタを移動できます。既定の設定は |
OutputPipeline | 生成コードに挿入する出力パイプライン ステージの数。分散型パイプラインと制約付き出力パイプラインは、これらのレジスタを移動できます。既定の設定は |
このブロックは、複素信号に対するコード生成をサポートします。
バージョン履歴
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)