Error using movmax index

2 views (last 30 days)
david crowley
david crowley on 21 Feb 2021
Commented: Walter Roberson on 10 Jun 2021
I need to find the number of periods since a stock price recorded an 14-day high. My proposed method was to use the following andpossibly subtract the index from the current row:
n = 14
[M,I] = movmax(high,[n-1 0],'omitnan');
However, I return - "error using movmax. Too many output arguments."
Can someone please assist in my methodology.

Answers (1)

Walter Roberson
Walter Roberson on 21 Feb 2021
There is no syntax for movmax() in which it returns a second output. It does not return the indices of the local maxima.
  4 Comments
Walter Roberson
Walter Roberson on 10 Jun 2021
wid = 5;
N = 50;
signal = randi([-9, 9], 1, N)
signal = 1×50
-4 -9 -5 8 -6 -2 7 -3 6 -1 5 6 3 -5 -3 -3 -8 0 -8 7 -9 -3 6 0 4 2 -8 -9 3 -3
for K = 1 : N - wid + 1
[M(K), relI] = max(signal(K:K+wid-1));
I(K) = K + relI - 1;
end
M
M = 1×46
8 8 8 8 7 7 7 6 6 6 6 6 3 0 0 7 7 7 7 7 6 6 6 4 4 3 3 3 3 1
I
I = 1×46
4 4 4 4 7 7 7 9 9 12 12 12 13 18 18 20 20 20 20 20 23 23 23 25 25 29 29 29 29 34

Sign in to comment.

Tags

Products

Community Treasure Hunt

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

Start Hunting!