我正在寻找一种方法来消除给定数据集中的怪胎值.例如:
应该消除所有这些峰值.我尝试过不同的过滤器medfilt
,但峰值仍在那里.我也尝试过低通滤波器,但它也没用.我是过滤信号的初学者,所以我可能做错了.
您可以在此处下载x数组和y数组的数据集.
我还可以想象一个循环来比较彼此相邻的值,但我确信必须有一个内置函数?
以下是使用的结果medfilt1(input,15)
:
山峰正在消失,但那时我得到了这些丑陋的步骤,这是我不想要的.
只需使用中值滤波器!medfilt1(data,3)
如果这是一个1像素的"宇宙"尖峰,它会做.如果峰值仍然存在,请将窗口大小增加到5或更多......
编辑: 这就是op的数据:
所以我们看到的数据是不完全一致的或有序的,并且在不同什么人首先从问题了解尖峰有很多的数据点(家伙请正确打印您的数据!)现在的问题是,在数据尖峰或基线上的峰值?