matlab灰色预测(例题及代码)

会有一股神秘感。 提交于 2020-02-16 00:01:03

参考例题

1、题目:在这里插入图片描述
2、程序:

clear
syms a b;
c=[a b]';
A=[89677,99215,109655,120333,135823,159878,182321,209407,246619,300670];
B=cumsum(A);  % 原始数据累加
n=length(A);
for i=1:(n-1)
    C(i)=(B(i)+B(i+1))/2;  % 生成累加矩阵
end
% 计算待定参数的值
D=A;D(1)=[];
D=D';
E=[-C;ones(1,n-1)];
c=inv(E*E')*E*D;
c=c';
a=c(1);b=c(2);
% 预测后续数据
F=[];F(1)=A(1);
for i=2:(n+10)
    F(i)=(A(1)-b/a)/exp(a*(i-1))+b/a ;
end
G=[];G(1)=A(1);
for i=2:(n+10)
    G(i)=F(i)-F(i-1); %得到预测出来的数据
end 
t1=1999:2008;
t2=1999:2018;
G
plot(t1,A,'o',t2,G)  %原始数据与预测数据的比较
xlabel('年份')
ylabel('利润')


3、运行结果:

预测数据:G =

1.0e+06 *

1 至 15 列

0.0897    0.0893    0.1034    0.1196    0.1385    0.1602    0.1854    0.2146    0.2483    0.2873    0.3325    0.3847    0.4452    0.5152    0.5962

16 至 20 列

0.6899    0.7984    0.9239    1.0691    1.2371

在这里插入图片描述

灰色预测模型GM(1,1)

灰色预测通过鉴别系统因素之间发展趋势的相异程度,并对原始数据进行生成处理来寻找系统变动的规律,生成有较强规律性的数据序列,然后建立相应的微分方程模型,从而预测事物的未来发展趋势。灰色预测的数据是通过生成数据的模型所得到的预测值的逆处理结果。灰色预测是以灰色模型为基础的,在诸多的灰色模型中,以灰色系统中单序列一阶线性微分方程模型GM(1,1)模型最为常用。下面简要地介绍GM(1,1)模型。

模型求解步骤:
在这里插入图片描述

具体步骤分析:
在这里插入图片描述

步骤一为构造新的序列Y(i),即Y(1)=X(0)+X(1);...;Y(5)=X(0)+X(1)+X(2)+X(3)+X(4)+X(5)

在这里插入图片描述

步骤二为构造一阶线性微分方程并求未知系数a、u

`在这里插入图片描述

步骤三为构造累加矩阵B、常数向量

在这里插入图片描述

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!