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.

Réponses (1)

Walter Roberson
Walter Roberson le 21 Fév 2021

0 votes

There is no syntax for movmax() in which it returns a second output. It does not return the indices of the local maxima.

4 commentaires

david crowley
david crowley le 27 Fév 2021
So how do I find the index value for this problem?
Walter Roberson
Walter Roberson le 28 Fév 2021
Loop.
Raphael Willi
Raphael Willi le 10 Juin 2021
Loop how?
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

Connectez-vous pour commenter.

Catégories

En savoir plus sur Get Started with MATLAB dans Centre d'aide et File Exchange

Produits

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by