灰色模型代码GM(1,1),从excel导入数据,亦可导出数据到excel中。
总结1:直接输出结果
%clc
W= MicrosoftExcel;(从EXCEL导入数据后,matlab自动储存的数组名称为 MicrosoftExcel,根据自身更改)
%y=input(‘请输入数据 ‘);%输入数据请用如例所示形式:[48.7 57.17 68.76 92.15]
y= W;
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)BTYN;
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👎2
ys(j)=yys(j)-yys(j-1);
end
x=1:n;
xs=2:n+t_test;