Find Nonzero Elements
配列内の非ゼロ要素を検索
ライブラリ:
Simulink /
Math Operations
説明
Find Nonzero Elements ブロックは、入力信号の非ゼロ要素をすべて検索し、それらの要素の線形インデックスを返します。入力が多次元信号の場合、Find Nonzero Elements ブロックは非ゼロの入力要素の添字を返す場合もあります。どちらの場合でも、非ゼロの入力値を含む出力端子を表示できます。
Find Nonzero Elements ブロックは可変サイズの信号を出力します。可変サイズの信号に対するサンプル時間は離散でなければなりません。モデルでまだ固定ステップ ソルバーが使用されていない場合は、[コンフィギュレーション パラメーター] ダイアログで固定ステップ ソルバーを選択する必要があります。詳細については、ソルバーの比較およびソルバーの選択を参照してください。
例
拡張例
端子
入力
Port_1 — 入力信号
スカラー | ベクトル | 行列 | N 次元配列
ブロックがすべての非ゼロ要素を検索する入力信号。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
出力
Port_1 — 非ゼロ要素のインデックス
可変サイズの信号
Find Nonzero Elements ブロックは非ゼロ要素のインデックスを可変サイズの信号として出力します。[出力データ型] ブロック パラメーターを使用して、出力のデータ型を制御します。
依存関係
既定では、ブロックは最初の出力端子からの線形インデックスを出力します。[インデックスの出力形式] を [添字付け]
に変更すると、代わりにブロックは 2 次元以上の信号の要素インデックスを添字形式で提供します。このモードでは、[入力の次元数] を指定しなければなりません。ブロックは次元ごとに別々の出力端子を作成します。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
Port_2 — 非ゼロ要素の値
可変サイズの信号
オプションとして、Find ブロックはすべての非ゼロ要素の値を可変サイズの信号として出力できます。
依存関係
この端子を有効にするには、[ゼロではない入力値に対する出力端子の表示] を選択します。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
パラメーター
メイン
インデックスの出力形式 — 非ゼロ要素のインデックスの形式
線形インデックス
(既定値) | 添字付け
非ゼロの入力値のインデックスの出力形式を選択します。
[線形インデックス]
を選択すると、任意の次元の信号の要素インデックスがベクトル形式で提供されます。1 次元 (ベクトル) 信号の場合、インデックスはベクトル内の非ゼロの値の位置に対応します。1 つを超える次元の信号の場合、添字からインデックスへの変換は最初の次元に沿って行われます。入力信号の信号次元を知っておく必要はありません。[添字付け]
を選択すると、2 次元以上の信号の要素インデックスが添字形式で提供されます。ブロックは各次元の出力端子を表示するので、このオプションを使用するには [入力の次元数] を指定する必要があります。
プログラムでの使用
ブロック パラメーター: IndexOutputFormat
|
型: 文字ベクトル |
値: 'Linear indices' | 'Subscripts'
|
既定の設定: 'Linear indices'
|
入力の次元数 — 入力信号の次元数
1
(既定値) | スカラー
入力信号の次元数を 1 ~ 32 の正の整数値として指定します。
依存関係
このパラメーターを有効にするには、[インデックスの出力形式] を [添字付け]
に設定します。
プログラムでの使用
ブロック パラメーター: NumberOfInputDimensions
|
型: 文字ベクトル |
値: スカラー |
既定の設定: '1'
|
インデックス モード — 0 ベースまたは 1 ベースのインデックスを指定
0 ベース
(既定値) | [1 ベース]
インデックス モードとして [0 ベース]
または [1 ベース]
を指定します。
[0 ベース]
インデックスの場合、0
のインデックスは、入力ベクトルの最初の要素を指定します。1
のインデックスは 2 番目の要素を指定し、以降同様に繰り返されます。[1 ベース]
インデックスの場合、1
のインデックスは、入力ベクトルの最初の要素を指定します。2
のインデックスは 2 番目の要素を指定し、以降同様に繰り返されます。
プログラムでの使用
ブロック パラメーター: IndexMode
|
型: 文字ベクトル |
値: 'Zero-based' | 'One-based'
|
既定の設定: 'Zero-based'
|
非ゼロの入力値の出力端子を表示 — 非ゼロ値の出力端子の有効化
off
(既定値) | on
非ゼロの入力値の出力端子の表示と非表示を切り替えます。
このチェック ボックスをオフにすると (
off
)、ブロックは非ゼロの入力値に対する出力端子を非表示にします。このチェック ボックスをオンにすると (
on
)、ブロックは非ゼロの入力値に対する出力端子を表示します。追加の出力端子は非ゼロの入力要素の値を表示します。
プログラムでの使用
ブロック パラメーター: ShowOutputPortForNonzeroInputValues
|
型: 文字ベクトル |
値: 'on' | 'off'
|
既定の設定: 'off'
|
サンプル時間 (継承は -1) — サンプルの間隔
-1
(既定値) | スカラー | ベクトル
サンプルの時間間隔を指定します。サンプル時間を継承するには、このパラメーターを -1
に設定します。詳細については、サンプル時間の指定を参照してください。
依存関係
このパラメーターは、-1
以外の値に設定した場合にのみ表示されます。詳細は、サンプル時間が推奨されないブロックを参照してください。
プログラムでの使用
ブロック パラメーター: SampleTime |
型: string スカラーまたは文字ベクトル |
既定の設定: "-1" |
データ型
出力データ型 — 出力データ型
Inherit: Inherit via internal rule
(既定値) | int8
| uint8
| int16
| uint16
| int32
| uint32
| int64
| uint64
| fixdt(1,16)
| <data type expression>
出力データ型を指定します。
データ属性の設定には [データ型アシスタント] が役立ちます。[データ型アシスタント] を使用するには、 をクリックします。詳細については、データ型アシスタントを利用したデータ型の指定を参照してください。
プログラムでの使用
ブロック パラメーター: OutDataTypeStr
|
型: 文字ベクトル |
値: 'Inherit: Inherit via internal rule' | 'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32'| 'int64' | 'uint64'| 'fixdt(1,16)'| '<data type expression>'
|
既定の設定: 'Inherit: Inherit via internal rule'
|
モード — データ型モードを選択
Inherit
(既定値) | Built in
| Fixed Point
指定するデータのカテゴリを選択します。
継承
— データ型の規則の継承。Inherit
を選択すると、右側から 2 番目のメニュー/テキスト ボックスが有効になり、そこで継承モードを選択できます。組み込み
— 組み込みデータ型を指定します。Built in
を選択すると、右側から 2 番目のメニュー/テキスト ボックスが有効になり、そこで組み込みデータ型を選択できます。固定小数点
— 固定小数点データ型。[固定小数点]
を選択すると、固定小数点データ型を指定するために使用できる追加のパラメーターが有効になります。式
— 評価結果がデータ型となる式。[式
] を選択すると、右側から 2 番目のメニュー/テキスト ボックスが有効になります。そこに式を入力することができます。
詳細については、データ型アシスタントを利用したデータ型の指定を参照してください。
依存関係
このパラメーターを有効にするには、[データ型アシスタントを表示] ボタンをクリックします。
データ型オーバーライド — この信号のデータ型オーバーライド モードを指定します。
Inherit
| Off
この信号のデータ型オーバーライド モードを選択します。
[継承]
を選択すると、Simulink はコンテキストからデータ型オーバーライド設定を継承します。コンテキストとはブロックのことで、信号を使用している Simulink® のSimulink.Signal
オブジェクトまたは Stateflow® チャートです。[オフ]
を選択すると、Simulink はコンテキストのデータ型オーバーライド設定を無視し、信号に対して指定された固定小数点データ型を使用します。
詳細については、Simulink ドキュメンテーションのデータ型アシスタントを利用したデータ型の指定を参照してください。
依存関係
このパラメーターを有効にするには、[モード] を [組み込み]
または [固定小数点]
に設定します。
ヒント
個々のデータ型に対してデータ型オーバーライドをオフにする機能により、データ型オーバーライドを適用する際に、モデル内のデータ型をさらに効果的に制御できます。たとえば、このオプションを使用すると、データ型オーバーライド設定にかかわらず、データ型が下流ブロックの要件を満たすことを確認できます。
符号属性 — 符号付きまたは符号なしを指定
Signed
(既定値) | Unsigned
固定小数点データが符号付きであるか符号なしであるかを指定します。符号付きデータでは正の値と負の値を表現できますが、符号なしデータでは正の値のみを表現できます。
[符号付き]
。符号付き固定小数点データを指定します。[符号なし]
。符号なし固定小数点データを指定します。
詳細については、データ型アシスタントを利用したデータ型の指定を参照してください。
依存関係
このパラメーターを有効にするには、[モード] を [Fixed point
] に設定します。
語長 — 量子化された整数をもつ語のビット サイズ
16
(既定値) | 0 ~ 32 の整数
量子化された整数をもつ語のビット サイズを指定します。詳細については、固定小数点データ型の指定を参照してください。
依存関係
このパラメーターを有効にするには、[モード] を [固定小数点]
に設定します。
スケーリング — 固定小数点データのスケーリング方法
Integer
(既定値)
オーバーフローを避け、量子化誤差を最小限に抑えるための固定小数点データのスケーリング方法を指定します。[整数]
を選択すると、固定小数点データの 2 進小数点の位置が指定され、小数部の長さが 0
に設定されます。詳細については、データ型アシスタントを利用したデータ型の指定を参照してください。
依存関係
このパラメーターを有効にするには、[モード] を [Fixed point
] に設定します。
ブロックの特性
データ型 |
|
直達 |
|
多次元信号 |
|
可変サイズの信号 |
|
ゼロクロッシング検出 |
|
拡張機能
C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。
固定小数点の変換
Fixed-Point Designer™ を使用して固定小数点システムの設計とシミュレーションを行います。
バージョン履歴
R2010a で導入
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)