这是一个非常简单的函数,可以在任何维数组中找到局部最大值。 尽管它很简单,但它仍然给出了不错的结果。
我使用 imdilate() 函数作为最大操作,然后将数据与结果进行比较。
该函数接收三个参数: 数据,一个向量,定义了每个数据维度中峰值之间的最小距离。 和一个标志,要么排除相等的点,要么不排除。
使用示例: a = cumsum(randn(1000,1)); 峰值 = localMaximum(a,[100]); 数字; 情节(一); 坚持,稍等; plot(peaks,a(peaks),'ro');
[xy] = meshgrid(-6:0.1:6,-6:0.1:6); a = sinc(x).*sinc(y); lMaxInd = localmaximum(a,[20 20]); lMinInd = localMaximum(-a,[20 20]); 数字; 网格(x,
2021-11-11 10:27:37
1KB
matlab
1