How do I find a maximum within a certain range

123 次查看(过去 30 天)
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!

回答(2 个)

KSSV
KSSV 2022-9-29
编辑:KSSV 2022-9-29
Let (x,y) be your data arrays.
idx = x>0.1 & x<0.7 ;
iwant = max(x(idx)) ;

Davide Masiello
Davide Masiello 2022-9-29
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