二次平滑曲线Matlab

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

二次指数平滑法程序

线性指数平滑法Matlab程序,代码如下:

注:Data-原始数据

s-一次和二次平滑结果

at-预测式中的a参数

bt-预测式中的b参数

y1-预测结果

本例是取alpha为0.8时的情况

arr=[0;6;8.3;9.8;13;15;13.5;26.1;80.3;86;102.6]; [m,n]=size(arr);

alf=0.2;

for j=1:2

s(1,j)=arr(1,1)

end

for i=2:m

for j=1:2

if j==1

s(i,j)=alf*arr(i,1)+(1-alf)*s(i-1,j); else

s(i,j)=alf*s(i,j-1)+(1-alf)*s(i-1,j); end

end

end

temp=alf/(1-alf);

for i=1:m

at(i,1)=2*s(i,1)-s(i,2);

bt(i,1)=temp*(s(i,1)-s(i,2));

yy(i+1)=at(i,1)+bt(i,1);

end

for i=2:11

y1(i-1)=yy(i);

end

for i=2:11

b(i-1)=arr(i);

end

for i=1:3

y2(i)=at(m,1)+bt(m,1)*(i+1);

end

year=[1999:2011];

year=year';

y1=y1';

y2=y2';

b=b';

data=cat(1,y1,y2);

data1=cat(1,b,y2);

% plot(year,data,'-rs','markerFaceColor','g', 'MarkerSize',3); % plot(year,data,'-rs',year,data1,'-rs');

相关文档
最新文档