「数学模型」“使用Matlab软件灰色模型GM(1,1)预测”实例

    xiaoxiao2022-07-03  115

    下面代码使用灰色模型进行两次回归预测,缺点是精度不高,预测后的残差有点大。

    完整代码如下:

    %二次拟合预测GM(1,1)模型 %预测数据 x=[x1,x2,x3,x4]; %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); end end %x1,z1,k,yn1 sizez1=size(z1,2); %size(yn1); z2 = z1'; z3 = ones(1,sizez1)'; YN = yn1'; %转置 %YN B=[z2 z3]; au0=inv(B'*B)*B'*YN; au = au0'; %B,au0,au afor = au(1); ufor = au(2); ua = au(2)./au(1);
    转载请注明原文地址: https://yun.8miu.com/read-21121.html
    最新回复(0)