Finding minima

8 visualizaciones (últimos 30 días)
Graig
Graig el 15 de Feb. de 2011
I have a data file with few valleys (minima). is there a way to find all the x coordinates corresponding to each minimum y value?

Respuesta aceptada

Matt Tearle
Matt Tearle el 15 de Feb. de 2011
If you want fancy, take Walter's advice and search FEx. If you want quick and dirty:
x = 1:50;
y = sin(5*x);
idx = [false, y(3:end)>y(2:end-1) & y(2:end-1)<y(1:end-2), false];
xmin = x(idx)
plot(x,y,'o-',xmin,y(idx),'rx')
  7 comentarios
Matt Tearle
Matt Tearle el 16 de Feb. de 2011
Hah. Actually I just hunt the intartubes looking for places to apply logical indexing! ;)
Paulo Silva
Paulo Silva el 16 de Feb. de 2011
Here's my 1 vote :)

Iniciar sesión para comentar.

Más respuestas (3)

Walter Roberson
Walter Roberson el 15 de Feb. de 2011
There is are a fair number of postings, and several Matlab File Exchange contributions, for finding peaks, which you could either modify or apply to the negative of your data.

Andrew Newell
Andrew Newell el 15 de Feb. de 2011
There is also the Optimization Toolbox.

Graig
Graig el 15 de Feb. de 2011
Thanks All. For me actually the 'quick and dirty' way works well, as the data are very smooth (not noisy). Seemed to me, this is what the black box 'findpeaks' contains in a better way.
  1 comentario
Matt Tearle
Matt Tearle el 16 de Feb. de 2011
To help others who might have the same question, it would be great if you could vote for and/or accept answers that you think should be given prominence. Thanks.

Iniciar sesión para comentar.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by