ドキュメンテーション センター

  • 評価版
  • 製品アップデート

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

Selector

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

ライブラリ

Signal Routing

説明

Selector ブロックは、入力ベクトル、行列、多次元信号の選択または並べ替えられた要素を出力として生成します。

Selector ブロックは、入力としてベクトル信号、行列信号、多次元信号を受け入れます。パラメーター ダイアログ ボックスとブロックの外観は、ユーザーが選択した入力の次元数を反映して変わります。

[入力の次元数] パラメーターに入力した値に基づき、インデックス設定の表が表示されます。表の各行は、[入力の次元数] の入力次元に対応します。各次元について、信号に機能させる要素を定義します。ベクトルは 1 次元信号として、行列は 2 次元信号として指定します。Selector ブロックを多次元信号操作用に構成するときは、ブロックのアイコンが変化します。

たとえば、1 ベースのインデックス モードで 6 次元信号を使用します。Selector ブロック ダイアログの表は、各次元について 1 行を含むように変更されます。各次元を以下のエントリで定義するとします。

  • 次元 1

    • [インデックス オプション][すべて選択] を選択

  • 次元 2

    • [インデックス オプション][開始インデックス (ダイアログ)] を選択

    • [インデックス]2 を入力

    • [出力サイズ]5 を入力

  • 次元 3

    • [インデックス オプション][インデックス ベクトル (ダイアログ)] を選択

    • [インデックス][1 3 5] を入力

  • 次元 4

    • [インデックス オプション][開始インデックス (端子)] を選択

    • [出力サイズ]8 を入力

  • 次元 5

    • [インデックス オプション][インデックス ベクトル (端子)] を選択

  • 次元 6

    • [インデックス オプション][最初と最後のインデックス (端子)] を選択

出力は、Y=U(1:end,2:6,[1 3 5],Idx4:Idx4+7,Idx5, Idx6(1):Idx6(2)) です。ここで、Idx4Idx5、および Idx6 は次元 4、5、および 6 のインデックス端子です。

バス配列を Selector ブロックの入力信号として使用できます。バス配列の定義と使用方法の詳細は、「バス配列へのバスの統合」を参照してください。

サポートするデータ型

Selector ブロックのデータ端子は、固定小数点データ型など、Simulink® がサポートする任意の信号タイプおよびデータ型の信号を受け入れます。データ端子は混在タイプの信号を受け取ります。インデックス端子は、組み込みデータ型を受け入れますが、boolean データ型は受け入れません。出力の要素は、対応する選択された入力要素と同じタイプをもちます。

詳細は、Simulink ドキュメンテーションの「 Simulink でサポートされているデータ型」を参照してください。

パラメーターとダイアログ ボックス

入力の次元数

入力信号の次元数を入力します。

インデックス モード

インデックス モードとして[1 ベース] または [0 ベース] を指定します。[1 ベース] を選択した場合、インデックス 1 は入力ベクトルの最初の要素、2 は 2 番目の要素というように指定します。[0 ベース] を選択した場合、インデックス 0 は入力ベクトルの最初の要素、1 は 2 番目の要素というように指定します。

インデックス オプション

次元単位で信号の要素のインデックス付けの方法を定義します。リストから以下を選択します。

  • すべて選択

    その他のコンフィギュレーションは必要ありません。すべての要素が選択されます。

  • インデックス ベクトル (ダイアログ)

    [インデックス] 列が有効になります。要素のインデックス ベクトルを入力します。

  • インデックス ベクトル (端子)

    その他のコンフィギュレーションは必要ありません。

  • 開始インデックス (ダイアログ)

    [インデックス] および [出力サイズ] 列が有効になります。選択した要素の範囲の開始インデックスを [インデックス] 列に、選択した要素数を [出力サイズ] 列に入力します。

  • 開始インデックス (端子)

    [出力サイズ] 列が利用可能になります。選択した要素数を [出力サイズ] 列に入力します。

  • 最初と最後のインデックス (端子)

    その他のコンフィギュレーションは必要ありません。

      メモ:   このオプションを使用すると、可変サイズの信号が出力されます。出力を更新すると、出力信号の次元が入力信号の次元と等しくなるように設定されます。実行中、インデックスを与える信号にもとづいて出力の次元が更新されます。

[インデックス] 列と [出力サイズ] 列は、必要に応じて表示されます。

[インデックス]

[インデックス オプション][インデックス ベクトル (ダイアログ)] の場合は、対象となる各要素のインデックスを入力します。

[インデックス オプション][開始インデックス ベクトル (ダイアログ)] の場合は、選択した要素の範囲の開始インデックスを入力します。

[出力サイズ]

ブロックの出力信号のサイズ (開始点からの要素数) を入力します。

[入力の端子サイズ]

ブロックの入力信号の幅 (継承は -1) を入力 — 1 次元信号のみ

[サンプル時間 (継承は -1)]

サンプルの時間間隔を指定します。サンプル時間を継承するには、このパラメーターを -1 に設定します。詳細は、オンライン ドキュメンテーションの「 サンプル時間の指定」を参照してください。

    メモ:   1 次元信号の場合、[サンプル時間] パラメーターは [インデックス オプション][開始インデックス (端子)][インデックス ベクトル (端子)]、または [最初と最後のインデックス (端子)] のときにだけ利用可能です。他のすべての [インデックス オプション] の設定では、Selector ブロックは、バーチャル ブロックになり、[サンプル時間] パラメーターは表示されません。

sldemo_dblcart1sldemo_dblcart1 モデルは、3 つの Selector ブロックの使用方法を示します。次の図は、[情報表示][信号と端子][信号の次元] を有効にしてモデルのシミュレーションを実行したときに、そのモデルがどのように見えるかを示したものです。

3 つのすべての Selector ブロックには、[インデックス オプション][インデックス ベクトル (ダイアログ)] に設定されています。これにより、[インデックス] パラメーターを使用して特定の信号のインデックスを指定することができます。[入力の端子サイズ] パラメーターは、最も大きな入力信号の次元に設定されます。

入力信号の種類が同じで [インデックス オプション] の設定が異なる 2 つの Selector ブロックのシミュレーション結果を以下のモデルに示します。

どちらの Selector ブロックも、U 端子に与えられる入力信号から 7 つの値を選択します。ただし、Selector ブロックの出力信号のサイズは固定ですが、Selector2 ブロックの出力信号のサイズは可変で、コンパイルされた信号の次元は 7 ではなく 10 になっています。

Selector ブロックには [インデックス オプション][インデックス ベクトル (端子)] に設定されています。これにより、Constant1 からのインデックス ベクトルが入力として使用されます。入力信号の次元は 7 であるため、Display ブロックには Constant1 ブロックの 7 つの値が表示されます。Selector2 ブロックには [入力の端子サイズ] パラメーターが Selector1 ブロックへの入力のうち最も大きな入力信号のサイズである 10 に設定されています。

Selector2 ブロックは、[インデックス オプション][最初と最後のインデックス (端子)] に設定されている点を除き、Selector ブロックと同じ構成を使用します。入力信号のサイズは 7 ですが、この出力は [入力の端子サイズ] パラメーターのサイズ (10) を使用します。Display2 ブロックには、残りの 3 つの次元が空のボックスで表示されます。

特性

サンプル時間

[サンプル時間] パラメーターで指定

離散化

あり

多次元化

あり

バーチャル

[入力の次元数]1[インデックス オプション][すべて選択][インデックス ベクトル (ダイアログ)]、または [開始インデックス (ダイアログ)] の場合は、あり。

詳細は、Simulink ドキュメンテーションの「バーチャル ブロック」を参照してください。

ゼロクロッシング検出

いいえ

この情報は役に立ちましたか?