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

loading 分享 2026-7-27 下载文档

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

% 本程序主要用来计算根据灰色理论建立的模型的预测值。 % 应用的数学模型是 GM(1,1)。 % 原始数据的处理方法是一次累加法。

y=input('请输入数据 ');%输入数据请用如例所示形式: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);

[48.7 57.17 68.76 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))]);


灰色预测[GM(1,1) ]MATLAB程序.doc 将本文的Word文档下载到电脑
搜索更多关于: 灰色预测[GM(1,1) ]MATLAB程序 的文档
相关推荐
相关阅读