能使曲线变平滑的一维滤波器_菜鸟进阶系列·MATLAB数学建模·数据预处理(一)剔除异常值及平滑处理...

本文介绍了数据预处理中的异常值剔除和平滑处理,通过MATLAB实现。使用拉依达方法剔除异常值,然后通过一维滤波器进行平滑处理,重点介绍了中值滤波器`medfilt1`,并对比了不同平滑方法的效果,强调了中值滤波在保留边缘信息方面的优势。
摘要由CSDN通过智能技术生成

2021.1.14,时间一点一点地流逝,数学建模进度条发展状况不容乐观,冲冲冲!a739ef1ba60c42f0cacc586144e75f71.png

最重点的事情在本篇的最后,你也可以直接看末尾——medfilt优先级最高

数据预处理,顾名思义,预处理操作有很多,总的来说,它的一个形象的起搏就是“胃肠前端的咀嚼”,较为复杂的预处理和正式处理的界限会模糊——对于消化系统,胃其实也算肠的预处理前端,但它比咀嚼要复杂的多。

我们在咀嚼时,会把硌牙的异物吐出来已免其进入肠胃——剔除异常值,为此需要判定硌牙的程度——置信16f1cfcdf751ddc5f96e0edeab7357c3.png

拉依达方法就是高中数学所学的3西格玛原则,大于3西格玛原则的我们认为它不可信,也就是认为它是假的,就把它剔除。话说代码实例略是几个意思?考题不会出现?或者说,这事干脆不用MATLAB,用Excel/WPS表格就行?——但我用后者发现不会弄……还是用MATLAB自己写一个吧~d3f153a9edf82ea6a0c91ee9e867ae19.png如图,A(2,2)即为异常值

我们现在来把异常值踢了:402ea8dd009ad501dac372831fd15432.png

行列两重循环遍历所有元素,将异常值置0c5e74f0abd46347d9dbf59231a4d873a.png

这个wn叫肖伟勒系数,它随着测量次数n的增加而缓慢增加,8a75a02bcc44c49a96dcd8a7a96ecf22.png

Sx是数据xi的标准差,拉依达方法的3西格玛原则相当于让肖伟勒系数wn=3。

x=load('error.dat');%导入数据

n=length(x);%求得测量次数n

subplot(2,1,1);

plot(x,'o');

ti

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值