局所的極値の検出
説明
[局所的極値の検出] タスクでは、対話的にデータの局所的最大値と局所的最小値を検出します。このタスクは、ライブ スクリプト用の MATLAB® コードを自動生成します。
このタスクを使用すると、次を行うことができます。
ワークスペース変数のデータから、局所的最大値、局所的最小値、または両方を検出
パラメーターを調整して検出する極値を増減
検出した極値を可視化
その他
関連する関数
[局所的極値の検出] では、関数 islocalmin
および islocalmax
を使用するコードが生成されます。
![](localextremalet.png)
タスクを開く
[局所的極値の検出] タスクを MATLAB エディターでライブ スクリプトに追加するには、次を行います。
[ライブ エディター] タブで [タスク] 、 [局所的極値の検出] を選択します。
スクリプトのコード ブロック内に、
extrema
、find
、islocalmin
、max
などの関連キーワードを入力します。コマンドの補完候補から[局所的極値の検出]
を選択します。キーワードによっては、1 つ以上の対応するパラメーターがタスクで自動的に更新されます。
例
間隔があいている最小値
ライブ エディターの [局所的極値の検出] タスクを使用して、データのベクトルの局所的最小値を対話的に検出します。
データのベクトルを、ベクトル t
のタイムスタンプを基準に作成します。
t = hours(linspace(0,3,15)); data = [2 4 6 4 3 7 5 6 5 10 4 -1 -3 -2 0];
ライブ エディターで [局所的極値の検出] タスクを開きます。data
を入力データとして、t
をデータの "x" 軸座標として選択します。
[極値のタイプ] フィールドで、極値のタイプを Minima
に指定します。次に、[最小間隔] フィールド、[プロミネンス ウィンドウ] フィールド、および単位のドロップダウンを使用して、局所的最小値の間の最小間隔を 0.5 時間、プロミネンス ウィンドウを 1 時間に指定します。
プロットのタイトルに、0.5 時間以上間隔があいている data
内の局所的最小値が 3 つあることが示されます。
ライブ エディター タスクの出力引数を後続のコードで使用できます。タスクによって返されたインデックスを使用して、局所的最小値の値を判別します。
vals = data(minIndices)
vals = 1×3
3 5 -3
関連する例
パラメーター
入力データ
— ワークスペースからの有効な入力データ
ベクトル | table | timetable
このタスクは、ベクトル、table、または timetable に含まれる入力データに対して実行されます。データは single
型、double
型、logical
型、あるいは int64
などの符号付きまたは符号なし整数型にできます。
入力データとして table または timetable を提供する場合、[サポートされているすべての変数]
を選択すると、サポートされる型のすべての変数が対象になります。[すべての数値変数]
を選択すると、single
型、double
型、符号付きまたは符号なし整数型のすべての変数が対象になります。サポートされる特定の変数を対象として選択するには、[指定した変数]
を選択し、変数を個別に選択します。
フラットの選択
— フラット領域インジケーター
Center
(既定値) | First
| Last
| All
連続する局所的極値がある場合のフラット領域インジケーターを指定します。
メソッド | 説明 |
---|---|
Center | フラット領域の中心要素のみを局所的極値として表す |
First | フラット領域の最初の要素のみを局所的極値として表す |
Last | フラット領域の最後の要素のみを局所的極値として表す |
All | フラット領域のすべての要素を局所的極値として表す |
最小プロミネンス
— 極値の最小プロミネンス
0
(既定値) | 正のスカラー
最小プロミネンスを指定します。この値以上のプロミネンスをもつ局所的極値のみが返されます。プロミネンス値が高くなるほど、検出される極値が少なくなります。
局所的最大値 (ピーク) のプロミネンスは、ピークの高さと位置に関して、他のピークを基準としたピークの突出の尺度です。局所的最小値 (谷) のプロミネンスは、谷の深さと位置に関して、他の谷を基準とした谷の突出の尺度です。
プロミネンス ウィンドウ
— プロミネンスの計算対象のウィンドウ
中央揃え
(既定値) | 非対称
プロミネンス ウィンドウのタイプとサイズを指定して、各局所的極値のプロミネンスの計算対象となる、隣接する点のウィンドウを定義します。
ウィンドウ | 説明 |
---|---|
中央揃え | 現在の点を中心にしてウィンドウの長さを指定する |
非対称 | 現在の点の前にある要素数と、現在の点の後にある要素数を含むウィンドウを指定する |
ウィンドウのサイズは、[X 軸] の変数の単位を基準とします。
バージョン履歴
R2019b で導入R2022b: 複数の table 変数のプロット
このライブ エディター タスクの表示で、複数の table 変数を同時にプロットします。データが table または timetable の場合、選択したすべての table 変数をタイル表示チャート レイアウトで一度に可視化するには、[表示する変数] フィールドを設定します。
R2022b: 表形式の出力の指定
局所的極値がチェックされた table 変数に対応する logical 変数を使用して table または timetable を出力するか、logical 変数を入力 table に追加します。入力データが table または timetable の場合、表形式を指定するには、[出力形式] フィールドを設定します。
R2022a: 入力に 100 万個を超える要素がある場合、ライブ エディター タスクは自動実行されない
入力に 100 万個を超える要素がある場合、このライブ エディター タスクは自動実行されません。以前のリリースでは、入力がどのようなサイズでもタスクは必ず自動実行されていました。入力の要素が多い場合、このタスクで生成されたコードは実行にかなりの時間 (数秒間以上) を要することがあります。
タスクが自動的に実行されない場合、自動実行インジケーターが無効になります。必要に応じてタスクを手動で実行するか、タスクの自動実行の有効化を選択することができます。
R2021a: 複数の table 変数の操作
このライブ エディター タスクは、複数の table 変数を同時に操作できます。入力データが table または timetable の場合、複数の変数を操作するには、[サポートされているすべての変数]
または [指定された変数]
を選択します。すべての変数、または変更した変数のみを返し、可視化する変数を指定します。
参考
関数
ライブ エディター タスク
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)