灰度预测matlab程序

syms a b;

c=[a b]';

A=input('A=');

m=input('m=');%m的值为A数列的长度 B=cumsum(A);%原始数据累加 n=length(A);

fori=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);

fori=2:(n+m)

F(i)=(A(1)-b/a)/exp(a*(i-1))+b/a; end

G=[];G(1)=A(1);

fori=2:(n+m)

G(i)=F(i)-F(i-1);%得到预测出来的数据 end

t1=1:m;

t2=1:2m;

G,a,b

plot(t1,A,'o',t2,G,'r')%原始数据与预测值的比较

你可能喜欢

  • 灰色预测程序
  • 灰色预测模型
  • 人口增长模型
  • 中国GDP
  • 土地需求量预测
  • 中国历年GDP
  • GDP增长率

灰度预测matlab程序相关文档

最新文档

返回顶部