灰色预测[GM(1,1) ]MATLAB程序.docVIP

  • 8
  • 0
  • 约 2页
  • 2017-10-25 发布于浙江
  • 举报
灰色预测[GM(1,1) ]MATLAB程序 % 本程序主要用来计算根据灰色理论建立的模型的预测值。 % 应用的数学模型是 GM(1,1)。 % 原始数据的处理方法是一次累加法。 ?y=input(请输入数据 );%输入数据请用如例所示形式:[48.7 57.17 68.76 92.15] n=length(y); yy=ones(n,1); yy(1)=y(1); for i=2:n yy(i)=yy(i-1)+y(i); end B=ones(n-1,2); for i=1:(n-1) ??? B(i,1)=-(yy(i)+yy(i+1))/2; ??? B(i,2)=1; end BT=B; for j=1:n-1 ??? YN(j)=y(j+1); end YN=YN; A=inv(BT*B)*BT*YN; a=A(1); u=A(2); t=u/a; t_test=input(请输入需要预测个数:); i=1:t_test+n; yys(i+1)=(y(1)-t).*exp(-a.*i)+t; yys(1)=y(1); for j=n+t_test:-1:2 ??? ys(j)=yys(j)-yys(j-1); end x=1:n; xs=2:n+t_test; yn=ys(2:n+t_test); plot(x,y,^r,xs,yn,*-b); det=0; for i=2:n ??? det=det+abs(yn(i)-y(i)); end det=det/(n-1); disp([百分绝对误差为:,num2str(det),%]); disp([预测值为: ,num2str(ys(n+1:n+t_test))]);

文档评论(0)

1亿VIP精品文档

相关文档