How to find peaks in a data vector?
1 回表示 (過去 30 日間)
古いコメントを表示
Hello,
I have the following data
data = [9 12 8 11 10 10 11 12 11 11 12 8 11 9 9 12 8 11 10 12 8 11 12 8 11 10 18 20 10 18 20 24 28 30 31 32 33 33 34 33 32 34 35 32 33 31 30 37 38 39 40 39 40 38 37 40 41 38 37 36 33 32 34 35 32 33 31 30 32 34 31 30 28 26 25 23 20 18 15 12 11 10 10 11 12 11 11 9 12 8 11 10 12 8 9 11 7 9 10 7 3 4 2 1 5 4 3 7 8 9 10 5 4 6 11 12 8 11 12 12 13 14 15 12 13 15 15 16 17 18 19 17 16 15 19 20 21 20 18 17 16 19 21 18 20 24 28 30 31 32 33 30 31 35 36 38 40 42 41 41 42 46 48 47 45 42 40 41 43 40 39 39 38 36 32 34 31 30 28 26 25 23 20 18 15 12 11 10 12 8 9 11 7 9 10 12 11 10 11 10 11 12 11 11 9 12 8 11 10 10 11 12 11 11 9 12 8 11 10 14 15 18 17 16 15 18 19 14 15 17 18 19 20 21 19 18 17 16 15 14 12 15 15 15 16 17 18 18 19 20 20 20 21 19 17 16 17 18 19 22 24 26 29 30 35 37 40 42 44 44 46 48 48 49 50 50 51 52 53 51 52 55 58 57 51 56 57 52 50 49 52 52 51 49 48 46 46 42 43 45 41 42 40 41 43 40 38 37 34 32 28 25 19 15 14 13 12 8 5 3 7 8 9 11 12 10 7 9 14 13 11 10 8 5 4 3 5 7 8 9 10 12 11 6 8 10 7 6 8];
and I need to find exactly 3 peaks in these data, for example:
How can I do that?
Note 1: I always need to find 3 peaks (this value doesn't change), but the X and Y axis range may change.
Note 2: The last peak/curve will always be higher than the other two.
Note 3: I don't need to get the value itself, I need to get the index of the value.
0 件のコメント
採用された回答
Star Strider
2017 年 1 月 30 日
If you have the Signal Processing Toolbox, use the findpeaks function. It will do what you want. You will have to experiment with its name-value pair arguments to get the ‘correct’ result.
6 件のコメント
その他の回答 (0 件)
参考
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!