平均移动法
基于matlab实现
代码如下(示例):
%%
clc,clear
load('xy.mat','x','y');
m=length(y);
n=[4,5,6,7,10,20]; %n 为移动平均的项数
l=length(n);
for i=1:length(n)
%由于 n 的取值不同,yhat 的长度不一致,下面使用了细胞数组
for j=1:m-n(i)+1
yhat{i}(j)=sum(y(j:j+n(i)-1))/n(i);
end
y12(i)=yhat{i}(end);
% s(i)=sqrt(mean((y(n(i)+1:m)-yhat{i}(1:end-1)).^2));
subplot(1,l,i)
% plot(yhat{i})
% plot(x,y,'o')
% hold on
xx=x(1:end-n(i)+1);
plot(x,y,'o',xx,yhat{i},'r')
end
% y12,s