- 47
- 0
- 约3.37千字
- 约 7页
- 2019-08-05 发布于江西
- 举报
灰色预测[GM(1,1) ]MATLAB程序
% 本程序主要用来计算根据灰色理论建立的模型的预测值。
% 应用的数学模型是 GM(1,1)。
% 原始数据的处理方法是一次累加法。
X0=input(请输入数据 );%输入数据请用如例所示形式:[48.7 57.17 68.76 92.15]
n=length(X0);
X1=ones(n,1);
X1(1)=X0(1);
for i=2:n
X1(i)=X1(i-1)+X0(i);
end
B=ones(n-1,2);
for i=1:(n-1)
??? B(i,1)=-(X1(i)+X1(i+1))/2;
??? B(i,2)=1;end
BT=B;
for j=1:n-1
??? Yn(j)=X0(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;
X1s(i+1)=(X0(1)-t).*exp(-a.*i)+t;
X1s(1)=X0(1);
for j=n+t_test:-1:2
??? X0s(j)=X1s(j)-X1s(j-1);
end
x=1:n;
xs=2:n+t_test;
X0ss=X0s(2:n+t_test);
plot(x,X0,^r,xs,X0ss,*-b);
原创力文档

文档评论(0)