matlab如何对数据平滑去噪处理?
1、smoothdata函数:该函数可以采用高斯函数进行数据平滑处理。这里首先使用下面代码进行实例(默认使用移动平均值进行平滑处理数据):
a=rand(100,1); %创建一个随机矩阵 b=smoothdata(a); %使用该函数对数据进行简单的平滑处理。
plot(a);
hold on
plot(b);

2、使用smoothdata函数做高斯平滑处理,代码如下:
c = smoothdata(a,'gaussian',10);%其中a为数据,'gaussian'为高斯滤波器。10为数据窗口为10。
plot(c)

3、使用smoothdata函数对存在nan的矩阵做处理:代码如下:(这里随便给a中的数据中放入nan空值)
d= smoothdata(a,'includenan');%参数'includenan'可以处理带有空值nan的数据
d1= smoothdata(a);
plot(d1)
hold on
plot(d) %图中蓝色位置为带有参数的函数处理的数据。

4、movmean函数:该函数是移动平均值计算方法去除数据中的噪声,代码如下:
e=movmean(a,5);%其中5为前后两个数字,中间数值作为中间值求平均值。
如图所示黄色为移动平均值求出的平滑曲线。

5、如果数据中包含着nan数值中,你可以在参数中输入参数:omitnan。这里的代码如下:
f= movmean(a,3,'omitnan');


6、movmedian:该函数使用移动中位数进行数据平滑处理。代码如下:
g=movmedian(a,5);

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:37
阅读量:144
阅读量:163
阅读量:191
阅读量:183