基于matlab实现平均移动法

平均移动法

基于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
  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值