最大値前後の平均値の算出について
조회 수: 8 (최근 30일)
이전 댓글 표시
채택된 답변
Kenta
2020년 5월 27일
最大値はmaxという関数で出せます。また、その前後ということなので、
[maxvalue, index]=max(A);
という風にかくと、Aのあるインデックス(場所のようなもの)も同時に得られるので、そのインデックスから0.5秒前後分まで取り出し、最終的にmean関数で平均を出せます。
たとえば、Aの1ステップが0.1秒だと、
[maxvalue, index]=max(A);
B=A(index-2:index+2);
mean(B)
のようにかけます。ただ、お持ちのデータにあわせて適宜変更する必要があります。
댓글 수: 2
Kenta
2020년 5월 28일
ご返信ありがとうございます。役に立ったようでうれしいです。
findpeaks関数を使って、ピークを検出すれば良いと思います。
2番目に大きな値と単にすると、最大のピークのすぐ横の値(山の少し左右の点)が検出されてしまってうまく行かないと思います。
ピークを取るために移動平均にしたり、適宜パラメータを調整したりする必要はあるかと思いますが、基本的にはfindpeak関数で大丈夫と思います。また問題があれば、ご質問ください。よろしくお願いいたします。
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 記述統計에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!