资源描述:
《东三省建模A题灰色预测模型matlab程序》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、东三省建模A题可用模型程序灰色预测模型matlab程序灰色模型预测是在数据不呈现一定规律下可以采取的一种建模和预测方法,其预测数据与原始数据存在一定的规律相似性%下面程序是灰色模型GM(1,1)程序二次拟合和等维新陈代谢改进预测程序,matlab6.5 ,使用本程序请注明,程序存储为gm1.m%x=[5999,5903,5848,5700,7884];gm1(x); 测试数据 %二次拟合预测GM(1,1)模型function gmcal=gm1(x)sizexd2=size(x,2);%求数组长度k=0
2、;fory1=x k=k+1; ifk>1 x1(k)=x1(k-1)+x(k); %累加生成 z1(k-1)=-0.5*(x1(k)+x1(k-1)); %z1维数减1,用于计算B yn1(k-1)=x(k); else x1(k)=x(k); endend%x1,z1,k,yn1sizez1=size(z1,2);%size(yn1);z2=z1';z3=ones(1,sizez1)';YN=yn1'; %
3、转置%YNB=[z2z3];au0=inv(B'*B)*B'*YN;au=au0';%B,au0,auafor=au(1);ufor=au(2);ua=au(2)./au(1);%afor,ufor,ua %输出预测的 au和u/a的值constant1=x(1)-ua;afor1=-afor;x1t1='x1(t+1)';estr='exp';tstr='t';leftbra='(';rightbra=')';%constant1,afor1,x1t1,estr,tstr,leftbra,rightbr
4、astrcat(x1t1,'=',num2str(constant1),estr,leftbra,num2str(afor1),tstr,rightbra,'+',leftbra,num2str(ua),rightbra)%输出时间响应方程%******************************************************%二次拟合k2=0;fory2=x1 k2=k2+1; ifk2>k else ze1(k2)=exp(-(k2-1)*afor);
5、 endend%ze1sizeze1=size(ze1,2);z4=ones(1,sizeze1)';G=[ze1'z4];X1=x1';au20=inv(G'*G)*G'*X1;au2=au20';%z4,X1,G,au20Aval=au2(1);Bval=au2(2);%Aval,Bval%输出预测的 A,B的值strcat(x1t1,'=',num2str(Aval),estr,leftbra,num2str(afor1),tstr,rightbra,'+',leftbra,num2str(
6、Bval),rightbra)%输出时间响应方程nfinal=sizexd2-1+1;%决定预测的步骤数5 这个步骤可以通过函数传入%nfinal=sizexd2-1+1;%预测的步骤数1for k3=1:nfinal x3fcast(k3)=constant1*exp(afor1*k3)+ua;end%x3fcast%一次拟合累加值for k31=nfinal:-1:0 ifk31>1 x31fcast(k31+1)=x3fcast(k31)-x3fcast(k31-1); el
7、se ifk31>0 x31fcast(k31+1)=x3fcast(k31)-x(1); else x31fcast(k31+1)=x(1); end end endx31fcast%一次拟合预测值for k4=1:nfinal x4fcast(k4)=Aval*exp(afor1*k4)+Bval;end%x4fcastfor k41=nfinal:-1:0 ifk41>1 x41fcast(k41
8、+1)=x4fcast(k41)-x4fcast(k41-1); else ifk41>0 x41fcast(k41+1)=x4fcast(k41)-x(1); else x41fcast(k41+1)=x(1); end end endx41fcast,x%二次拟合预测值%***精度检验pC************////////////