2

我有一个包含五个主要峰值的图表。我想找到第一个峰值(最右边的那个)的位置和值。我有 100 多个不同的地块,并且峰值在各个地块中的大小会增大和缩小,并且需要使用 for 循环。我只是坚持使用 Matlab 代码确定大量有效数字的 x 和 y 值。

这是众多情节之一: http://img690.imageshack.us/img690/6467/hiok.jpg

4

2 回答 2

2

如果你确定你总是会有 5 个峰值,我认为 FileExchange 功能extrema会很有帮助,请参见此处

这将按降序返回最大值(如果需要,则返回最小值),因此输出的第一个元素zmaximax分别是最大值及其索引,它们的第二个元素是第二个最大值及其索引,依此类推。

在这种情况下,如果您需要的峰值始终是您只需要的五个峰值中的最小值,则zmax(5)确定imax(5)第 5 个最大的最大值。

于 2013-09-02T19:59:39.157 回答
1

如果您可以访问 Signal Processing Toolbox,findpeaks那么您正在寻找的功能。可以使用不同的选项(包括峰值数量)调用它,这在该信息可用时会很有帮助。

于 2013-09-02T20:30:03.343 回答