本文主要是介绍能使曲线变平滑的一维滤波器_菜鸟进阶系列·MATLAB数学建模·数据预处理(一)剔除异常值及平滑处理...,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
2021.1.14,时间一点一点地流逝,数学建模进度条发展状况不容乐观,冲冲冲!
最重点的事情在本篇的最后,你也可以直接看末尾——medfilt优先级最高
数据预处理,顾名思义,预处理操作有很多,总的来说,它的一个形象的起搏就是“胃肠前端的咀嚼”,较为复杂的预处理和正式处理的界限会模糊——对于消化系统,胃其实也算肠的预处理前端,但它比咀嚼要复杂的多。
我们在咀嚼时,会把硌牙的异物吐出来已免其进入肠胃——剔除异常值,为此需要判定硌牙的程度——置信
拉依达方法就是高中数学所学的3西格玛原则,大于3西格玛原则的我们认为它不可信,也就是认为它是假的,就把它剔除。话说代码实例略是几个意思?考题不会出现?或者说,这事干脆不用MATLAB,用Excel/WPS表格就行?——但我用后者发现不会弄……还是用MATLAB自己写一个吧~如图,A(2,2)即为异常值
我们现在来把异常值踢了:
行列两重循环遍历所有元素,将异常值置0
这个wn叫肖伟勒系数,它随着测量次数n的增加而缓慢增加,
Sx是数据xi的标准差,拉依达方法的3西格玛原则相当于让肖伟勒系数wn=3。
x=load('error.dat');%导入数据
n=length(x);%求得测量次数n
subplot(2,1,1);
plot(x,'o');
这篇关于能使曲线变平滑的一维滤波器_菜鸟进阶系列·MATLAB数学建模·数据预处理(一)剔除异常值及平滑处理...的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!