局所最小値のインデックスの調べ方
17 ビュー (過去 30 日間)
古いコメントを表示
下記のようなグラフの局所最小値で0より大きいところ(=2番目に小さい値)を調べています.
1つ目にプロットした局所最小値の値は検索できたのですが,インデックスを検索する方法がわかりません.
ご教示いただけないでしょうか.
0 件のコメント
採用された回答
Atsushi Ueno
2021 年 8 月 28 日
編集済み: Atsushi Ueno
2021 年 8 月 28 日
x = 1:100; A = peaks(100); A = A(50,:); % サンプルデータ
TF1 = islocalmin(A) & (A > 0); % 局所最小値の検出
index = find(TF1) % 局所最小値のインデックスを検索する
plot(x,A,x(TF1),A(TF1),'r*');
text(index,A(index),cellstr(arrayfun(@(x) ['\leftarrow index:' num2str(x)],index,'uni',false)));
3 件のコメント
Atsushi Ueno
2021 年 8 月 28 日
>私の扱っているデータだと,0のところも局所最小値として求められてしまうので0より大きいところをもとめようとしています.
局所最小値の検出結果に条件(元データが0より大きい事)を加えました。私の準備したサンプルデータでは、index:27の方は条件に外れる方だったので、56の方を表示する結果になりました。
TF1 = islocalmin(A); % 局所最小値の検出(変更前)
TF1 = islocalmin(A) & (A > 0); % 局所最小値の検出(変更後)
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で 記述統計 についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!