测试数%x=[1019,1088,1324,1408,1601];gm1(x);%二次拟合预测GM(1,1)模型functiongmcal=gm1(x)ifnargin==0x=[1019,1088,1324,1408,1601]endformatlonggsizex=length(x);%求数组长度k=0;fory1=xk=k+1;ifk>1x1(k)=x1(k-1)+x(k);%累加生成z1(k-1)=-0
5*(x1(k)+x1(k-1));%z1维数减1,用于计算Byn1(k-1)=x(k);elsex1(k)=x(k);endend%x1,z1,k,yn1sizez1=length(z1);%size(yn1);z2=z1';z3=ones(1,sizez1)';YN=yn1';%转置%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,rightbrastrcat(x1t1,'=',num2str(constant1),estr,leftbra,num2str(afor1),tstr,rightbra,'+',leftbra,num2str(ua),rightbra)%输出时间响应方程U/*1*«J>»«J>»«J>»«J>»«J>»«J>»«J>»«J>»«J>»«J>»«J>»«J>»«J>»«J>»«J>»«J>»«J>»«J>»