各位朋友帮帮忙,用matlab求灰色预测模型,这道题完全符合灰色预测模型的做题步骤
的有关信息介绍如下:问题补充说明:X(0) =(7585.23,9144.17,10875.14 ,12580.54,15099.56)累加生成得X(1)=(7585.23,16729.40,27604.54,40185.08,55284.64)②对X(0)进行准光滑检验和对进行准指数规律检验p(k) =(0.90,0.65,0.46,0.38)可见,不满足p(k)属于[0,ε]、ε<0.5,则称不符合为准光滑序列,须进行一阶弱化。X(0)‘=(11056.93,11924.85,12851.75,13840.05,15099.56)=X(0)则对X(0)新的累加生成为X(1)=(11056.93,22981.78,35833.53,49673.58,64773.14)③求解a、u运用MATLAB工具算得a=??,u=??到这里我就不会做了,朋友们帮帮忙求一下吧,谢谢啦~~~
我一直用这个程序你看看360问答。。。。。
MATLAB实现灰色预测程序
function[y,p,e]=huise_1_1(X,k)%灰色模型的malab程序
%Example[y,p]=叶复确七gm_1_1([200250300350],2)
%接口描述:X的预测的初始数列,|X|>4,K是指向后进行预测的个数
%命令格式:程序后破二各保存的文件名,eg:huise.m则命令是:huise([579.8547.5527.0492.3437.0],5)
ifnargout>3;
error('Toomanyoutputargument.');
end
ifnargin==1,k=1;x_orig=X;
elseifnargin==0|nargin>2
error('Wrongnumberofinput普上困翻守千酒arguments.')握你正破主台;
end
x_orig=X;
predict=k;%AGO处理,即是对初始数列进行一阶累加
x=cumsum(x负劳_orig);%计算系数(a和u)------------------------
n=length(x_orig);%生成矩阵B
fori=1:(n-1);
B(i)=-(x(i)+x(i+1))/2;
end
B=[B'one进速破村抗财球s(n-1,1)];%生成矩阵Y
fori=1:大乐斤军至期给(n-1);
y(i)=x_orig(i+1);
end
Y=y';%计算系数a=au(1)u=au(2)
au=(inv(B'*B))*(B'*Y);%----例群水则晚发----------------------------------------------------
%把huise模型公式转换成符号
coef1=au(2)/au(1);
coef2=x_orig(1)-coef1;
coef3=0-au(1);
costr1=num2str(coef1);
costr2=num2str(abs(coef2));
costr3=num2st机听位脸宗良族高谁内r(coef3);
eq=strcat(costr1,'+',costr2,'e^',costr3,'*(t-1))');%计算每一个值
fort=1:(n+predict)
mcv(t)=coef1+coef2*exp(coef3*(t-1));
end
x_mcv0=diff(mcv);
x_mcve=[x_orig(1)x_mcv0]%输出图形中的各点
x_mcv=diff(mcv(1:end-predict));
x_orig_n=x_orig(2:end);
x_c_error=x_orig_n-x_mcv;
x_error=mean(abs(x_c_error./x_orig_n));
ifx_error>0.2%相对误差的均值
disp('modeldisqualification!');
elseifx_error>0.1
disp('modelcheckout');
else
disp('modelisperf发板配ect!');
end
plot(1:n,x_orig,'o',1:n+predict,x此司_mcve);
p=x_mcve(end-predict+1:end)位安一间弱工须季;%画出预测模型和初始数列的门组室属承切望求坚娘调点
xlabel('年份(从第一个数据年份起)');
ylabel('产水量(万吨)');
title('灰度模包句副头商束以月美务型GM(1,1)');
gridon
y=eq;
剂病况谓e=x_error;
p=x_mcve(end-predict+1:end);