错误在islocalmin / islocalmax吗?

9的观点(30天)
罗伯特。
罗伯特。 2022年6月18日
评论道: 明星黾 2022年6月18日
我有一些数据有一些错误数值圆滑,我需要找当地的最低标准和公差内局部最大值,但它不工作我认为我应该的方式。这是一个reproducable的例子。
y =[1 0 1平台以及0 2];%理想情况下,这应该是[1 0 0 0 2];
公差= 1 e-5;
% islocalmax作品,它给一个空数组
找到(islocalmax (y,“FlatSelection”,“中心”,“MinProminence”1 e-5))
%但是islocalmin不工作,它让两个极限2和4
比预期% 3根据我的宽容
找到(islocalmin (y,“FlatSelection”,“中心”,“MinProminence”1 e-5))
同样的奇怪的行为发生
y2 =[1 0 1平台以及平台以及0 2];
找到(islocalmin (y2,“FlatSelection”,“中心”,“MinProminence”1 e-5))
预期收益率% 2和5,而不是3
y3 =[1 0 1平台以及平台以及0 2];
找到(islocalmin (y3,“FlatSelection”,“中心”,“MinProminence”1 e-5))
%收益率4,而不是预期的3
有解决方案吗?有没有办法我可以“平面化”的值根据公差吗?请注意,我只使用0到1平台以及ilustrate这个,我想这个工作比1 e-5值较小的变化。
谢谢大家,

答案(4)

图像分析
图像分析 2022年6月18日
编辑:图像分析 2022年6月18日
我认为你应该使用 findpeaks 。它有能力来过滤得到你想要的的山峰——特定属性的山峰。

明星黾
明星黾 2022年6月18日
这些函数(和 findpeaks )不使用任何可能被认为是一个“宽容”。的突出峰(或山谷,根据函数)与周围的高峰值。
使用“宽容”值(我 假设 意味着一系列的峰高值),我能想到的唯一的选择,需要两种不同的调用函数有不同的标准,得到逻辑向量(或使用 找到 数字指标),然后使用逻辑(逻辑向量)或一组(数字指标)函数结果得到两个调用的输出之间的差异。
4评论
明星黾
明星黾 2022年6月18日
还好
这是我能想到的最好的选择。我没有考虑到 函数,因为我还不确定实际问题是什么。

登录置评。


图像分析
图像分析 2022年6月18日
也许你只是想设置值小于最小的公差?
y (y <公差)= min (y);
或者你想做一些类似的去噪中值滤波器或Savitzky-Golay过滤器 sgolayfilt
1评论
罗伯特。
罗伯特。 2022年6月18日
这个问题是扰动数据,不只是一个最小值。

登录置评。


罗伯特。
罗伯特。 2022年6月18日
我可能已经想通了,多亏了评论,它让我思考对过滤。原来简单的截断是关键。在我的例子中,y =圆(y, 4)为1的prominance e-5工作。这基本上趋于平缓数据扰动。

s manbetx 845


释放

R2021b

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!