灰色预测模型的MATLAB 程序及检验程序

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

灰色预测模型的Matlab程序及检验程序%灰色预测模型程序

clear

syms a b;

c=[a b]';

A=[46.232.626.723.020.018.917.516.3];%原始序列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);

%预测往后预测5个数据

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

for i=2:(n+5)

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

end

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

for i=2:(n+5)

G(i)=F(i)-F(i-1);

end

t1=2002:2009;

t2=2002:2014;

G

plot(t1,A,'o',t2,G)

%灰色预测模型检验程序

function[q,c,p]=checkgm(x0,x1)

%GM检验函数

%x0原始序列

%x1预测序列

%·返回值

%q–-相对误差

%c--·方差比

%p--小误差概率

e0=x0-x1;

q=e0/x0;

s1=var(x0);

%qpa=mean(e0);

s2=var(e0);

c=s2/s1;

len=length(e0);

p=0;

for i=1:len

if(abs(e0(i))<0.6745*s1)

p=p+1;

end

end

p=p/len;

end

等级相对误差q方差比C小误差概论P I级<0.01<0.35>0.95

II级<0.05<0.50<0.80

III级<0.10<0.65<0.70

IV级>0.20>0.80<0.60

相关文档
最新文档