Hello,
if i use islocalmax for a signal like A=[12;12;4;65;43;34;6;7;7;3;768;324;564;23] Matlab throws
ans =
14×1 logical array
0 0 0 1 0 0 0 1 0 0 1 0 1 0
Why Matlab cant find one of the first maximum [12]?
Thank you for help.

 채택된 답변

Guillaume
Guillaume 2019년 1월 24일

4 개 추천

Why Matlab cant find one of the first maximum
Because matlab wants it to be truly a local maxima, that is it needs to be preceded (or followed at the right edge) by lower values. If it's critical that matlab identifies the first (or last) element as a local maxima if the initial (final) slope is downward (resp. upward) then surround your array by -Inf:
A=[12;12;4;65;43;34;6;7;7;3;768;324;564;23];
ismax = islocalmax([-Inf; A; -Inf]);
ismax = ismax(2:end); %to remove the -Inf from the result

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 NaNs에 대해 자세히 알아보기

태그

질문:

2019년 1월 24일

댓글:

2019년 1월 24일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by