matlab可以在一个图中找到多个峰吗?

时间:2015-01-28 13:05:56

标签: matlab plot

显然我是matlab编程的新手。我的老师给我们一个关于编程的问题,他希望我们使用matlab编写一个可以从数据图中找到/定位峰值的程序,它是一种峰值查找器。我可以使用origin pro和scilab(这是峰值查找器软件)这样做,所以matlab可以这样做吗?提前致谢。

1 个答案:

答案 0 :(得分:0)

您可以使用findpeaks功能:

x = [0:.01:50];
y = cos(x);
[val, pos] = findpeaks(y, x)
  val =
     1.0000    1.0000    1.0000    1.0000    1.0000    1.0000    1.0000
  pos =
     6.2800   12.5700   18.8500   25.1300   31.4200   37.7000   43.9800

或者,如果你想要更具图形性的东西:

x = [0:.01:50];
y = cos(x);
plot(x, y);
findpeaks(y, x);

在任何情况下,您都应该查看findpeaks文档以获取更多信息:

doc findpeaks