Sort
入力要素を値で並べ替え

ライブラリ:
DSP System Toolbox /
Statistics
説明
Sort ブロックは、各チャネル (列) における入力要素の値をランク付けし、[Sort order] の指定に基づいて [Ascending]
または [Descending]
のいずれかの順序で並べ替えます。複素数入力は、入力の実数部と虚数部の二乗和で表される大きさを基準に並べ替えられます。[Sort algorithm] として [Quick sort]
または [Insertion sort]
のどちらかを選択できます。簡易並べ替えは再帰型の並べ替え方法を使用するアルゴリズムで、要素の数が 32 個を超える場合はこのアルゴリズムの方が高速です。挿入並べ替えは非再帰型の方法を使用するアルゴリズムで、要素の数が 32 個未満の場合はこのアルゴリズムの方が高速です。コードの生成時に、挿入並べ替えアルゴリズムを使用して再帰関数呼び出しを回避します。
[Mode] パラメーターは、ブロックの動作モードを指定します。[Value]
、[Index]
、[Value and Index]
のいずれかに設定できます。
端子
入力
Port_1 — データ入力
ベクトル | 行列
このブロックは、実数値または複素数値のマルチチャネル入力を受け入れます。入力データ型は、勾配が 2 のべき乗でバイアスが 0 の倍精度、単精度、整数、固定小数点のいずれかでなければなりません。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fixed point
複素数のサポート: あり
出力
Val — 並べ替えられたデータ
ベクトル | 行列
ブロックは各チャネルでデータを並べ替え、並べ替えられたデータをこの端子から出力します。並べ替えられたデータのサイズ、データ型、実数/複素数は入力データと一致します。複素数入力の場合、ブロックは大きさを基準に並べ替えます。
依存関係
この端子を有効にするには、[Mode] パラメーターを [Value and index]
または [Value]
に設定します。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fixed point
複素数のサポート: あり
Idx — 並べ替えられたデータのインデックス
ベクトル | 行列
この端子の出力には、並べ替えられたデータのインデックスが含まれます。
依存関係
この端子を有効にするには、[Mode] パラメーターを [Value and index]
または [Index]
に設定します。
データ型: uint32
パラメーター
[メイン] タブ
Mode — ブロックが、値、インデックス、または両方を返すかどうかを指定
Value and Index
(既定値) | Value
| Index
以下は [Mode] パラメーターの各設定です。
Value
— ブロックは M 行 N 列の入力行列の各チャネルの要素を [Sort order] パラメーターの指定に基づいて昇順または降順に並べ替えます。各サンプル時間での出力 Val は、並べ替えられた入力の列を含む M 行 N 列の行列になります。複素数入力の場合、ブロックは大きさを基準に並べ替えます。
Index
— ブロックは M 行 N 列の入力行列の各チャネルの要素を並べ替え、インデックス配列 I を出力します。I の各要素は、入力の対応する列における並べ替えられた値のインデックスを示すuint32
型の整数になります。Value and index
— ブロックは入力データの並べ替えられた値 Val とインデックス配列 I の対応するインデックスを出力します。
Sort order — 並べ替え順序
Ascending
(既定値) | Descending
入力データを昇順または降順のどちらで並べ替えるかを指定します。
Sort algorithm — 並べ替え方法
Quick sort
(既定値) | Insertion sort
簡易並べ替えは再帰型の並べ替え方法を使用するアルゴリズムで、要素の数が 32 個を超える場合はこのアルゴリズムの方が高速です。挿入並べ替えは非再帰型の方法を使用するアルゴリズムで、要素の数が 32 個未満の場合はこのアルゴリズムの方が高速です。コードの生成時に再帰的関数呼び出しを避けるには、挿入並べ替えアルゴリズムを使用します。
[データ型] タブ
メモ
これらのパラメーターを使用するには、データ入力が複素数の固定小数点でなければなりません。それ以外の入力の場合、[データ型] タブのパラメーターは無視されます。
丸めモード — 丸め演算の方法
Floor
(既定値) | Ceiling
| Convergent
| Nearest
| Round
| Simplest
| Zero
固定小数点演算の丸めモードを指定します。詳細については、丸めモードを参照してください。
整数オーバーフローで飽和 — オーバーフロー アクションの方法
off (既定値) | on
このパラメーターをオンにすると、ブロックは固定小数点演算の結果を飽和させます。このパラメーターをオフにすると、ブロックは固定小数点演算の結果をラップします。saturate
および wrap
の詳細については、固定小数点演算のオーバーフロー モードを参照してください。
乗算出力 — 乗算出力のデータ型
Inherit: Same as input
(既定値) | fixdt([],16,0)
複素数入力の実数部と虚数部の二乗は [乗算出力] のデータ型で保存されます。
このパラメーターは以下のように設定できます。
Inherit: Same as input
— 乗算出力のデータ型は入力のデータ型と同じです。fixdt([],16,0)
— 乗算出力のデータ型は、語長が 16 ビットで小数部の長さが 0 である自動符号付き 2 進小数点のスケーリングされた固定小数点データ型です。
[乗算出力] のデータ型は、[データ型アシスタント] を使用して設定することもできます。アシスタントを使用するには、[データ型アシスタントを表示] ボタン をクリックします。
データ型アシスタントの詳細については、データ型アシスタントを利用したデータ型の指定 (Simulink)を参照してください。
アキュムレータ — アキュムレータのデータ型
Inherit: Same as product output
(既定値) | Inherit: Same as input
| fixdt([],16,0)
複素数入力の実数部と虚数部の二乗和の結果は [アキュムレータ] のデータ型で保存されます。
このパラメーターは以下のように設定できます。
Inherit: Same as product output
— アキュムレータのデータ型は乗算出力のデータ型と同じです。Inherit: Same as input
— アキュムレータのデータ型は入力のデータ型と同じです。fixdt([],16,0)
— アキュムレータのデータ型は、語長が 16 ビットで小数部の長さが 0 である自動符号付き 2 進小数点のスケーリングされた固定小数点データ型です。
[アキュムレータ] のデータ型は、[データ型アシスタント] を使用して設定することもできます。アシスタントを使用するには、[データ型アシスタントを表示] ボタン をクリックします。
データ型アシスタントの詳細については、データ型アシスタントを利用したデータ型の指定 (Simulink)を参照してください。
固定小数点ツールによる変更に対してデータ型の設定をロックする — 固定小数点ツールによるデータ型のオーバーライドの回避
off (既定値) | on
ブロックで指定するデータ型が固定小数点ツールによってオーバーライドされないようにするには、このパラメーターを選択します。
ブロックの特性
データ型 |
|
直達 |
|
多次元信号 |
|
可変サイズの信号 |
|
ゼロクロッシング検出 |
|
アルゴリズム
並べ替え
このブロックでは、MATLAB® の関数 sort
と同じ結果が得られます。
ブロックの出力は、[Sort order] の設定に応じて、次の MATLAB コードと等価になります。
Ascending
—[Val,I] = sort(u,'ascend')
Descending
—[Val,I] = sort(u,'descend')
ここで、
u
はデータ入力です。Val
は並べ替えられた出力です。I
は並べ替えられた出力のインデックスです。
入力が複素数の場合、ブロックは大きさを基準にデータを並べ替えます。ブロックは複素数入力の実数部と虚数部の二乗和を求めて大きさを計算します。これは、関数 sort
を [Val,I] = sort(u,...,'ComparisonMethod','abs')
の形式で呼び出した場合と同じになります。
拡張機能
C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。
生成されたコードは特定の条件下で関数 memcpy
または関数 memset
(string.h
) に依存します。
固定小数点の変換
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)