局部最小IN MATLAB PLOT

时间:2017-01-24 08:26:32

标签: matlab local minimum

我想在plot figure in Matlab

中识别我的数据中的本地最小值

1 个答案:

答案 0 :(得分:0)

根据您的描述,我假设您实际上已将数据数字化,并且进行图像处理以从绘图到数字数据不是问题的一部分。请尝试更加具体,并在将来完成您的问题:)。

基本上,您只想先平滑数据。以下快速而肮脏的代码可以让您真正接近您的需求。

x = 0:0.1:10;
y = 3*sin(x) + rand(size(x));
y_filtered = smooth(y);
figure

[min, idx] = findpeaks(-y_filtered); %findpeaks finds maxima, so invert it

hold on
plot(x,y)
plot(x,y_filtered)
plot(x(idx),y_filtered(idx),'bo')

尝试使用smooth()的参数,或进行自己的过滤(即使用傅里叶变换或其他方法)。