局所最小値のインデックスの調べ方
6 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Yumi Iwakami
le 27 Août 2021
Commenté : Yumi Iwakami
le 29 Août 2021
下記のようなグラフの局所最小値で0より大きいところ(=2番目に小さい値)を調べています.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/722639/image.png)
1つ目にプロットした局所最小値の値は検索できたのですが,インデックスを検索する方法がわかりません.
ご教示いただけないでしょうか.
0 commentaires
Réponse acceptée
Atsushi Ueno
le 28 Août 2021
Modifié(e) : Atsushi Ueno
le 28 Août 2021
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 commentaires
Atsushi Ueno
le 28 Août 2021
>私の扱っているデータだと,0のところも局所最小値として求められてしまうので0より大きいところをもとめようとしています.
局所最小値の検出結果に条件(元データが0より大きい事)を加えました。私の準備したサンプルデータでは、index:27の方は条件に外れる方だったので、56の方を表示する結果になりました。
TF1 = islocalmin(A); % 局所最小値の検出(変更前)
TF1 = islocalmin(A) & (A > 0); % 局所最小値の検出(変更後)
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur マルチレート信号処理 dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!