一组数据x[i],对其进行滑动平均滤波,得到在matlab中实现的程序,要求运行完能出对比图的。

发布网友

我来回答

2个回答

热心网友

clear
clc
x=randn(1,100);
%x为要滤波的信号
m=5;%表示平滑滤波窗长度,这是长度为奇数的情况
%前m/2,最后m/2个点没滤波,设为原来的值就行
for i=1:length(x)-m+1
y(i+(m-1)/2)=sum(x(i:i+m-1))/m;
end
figure(1);
plot(x,'r');hold on;plot(y,'g');hold off;
这是最简单的,不知道你需要基于什么算法的平滑滤波!有重心法的,算术滑动平均的,变参数双指数平滑方法,还有用插值的方式去平滑的

热心网友

matlab 有自带mvgavg函数,由于你的问题太宽泛,具体需求你可以自己看doc然后使用。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com