灰色预测模型 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;for y1=x k=k+1; if k〉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’; %转置%YNB=[z2 z3];au0=inv(B’*B)*B’*YN;au = au0’;%B,au0,auafor = au(1);ufor = au(2);ua = au(2)
/au(1);%afor,ufor,ua %输出预测的 a u 和 u/a 的值constant1 = x(1)—ua;afor1 = -afor;x1t1 = ’x1(t+1)’;estr = 'exp’;tstr = 't’;leftbra = ’(’;rightbra = ')';%constant1,afor1,x1t1,estr,tstr,leftbra,rightbrastrcat(x1t1,'=