How do I find a maximum within a certain range

133 visualizzazioni (ultimi 30 giorni)
Milena
Milena il 29 Set 2022
Risposto: Davide Masiello il 29 Set 2022
I am currently trying to find the maximum of a signal, but I only want the max between 0.1 and 0.7, can anyone help?
I have been searching for an answer for a while now.
Thanks in advance!

Risposte (2)

KSSV
KSSV il 29 Set 2022
Modificato: KSSV il 29 Set 2022
Let (x,y) be your data arrays.
idx = x>0.1 & x<0.7 ;
iwant = max(x(idx)) ;

Davide Masiello
Davide Masiello il 29 Set 2022
Take this example dataset
x = linspace(0,10,100);
y = randi(10,1,100).*sin(x);
plot(x,y)
Now assume you want to find the maximum between 6 and 10.
xs = x(x>=6 & x<=10);
ys = y(x>=6 & x<=10);
[~,idx] = max(ys);
hold on
plot(xs(idx),ys(idx),'or')

Community Treasure Hunt

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

Start Hunting!

Translated by