huise.m

来自「一个简短的灰色模型计算仿真程序」· M 代码 · 共 34 行

M
34
字号
%[code]
function GM=huise(data,N)
T=length(data); 
X0=data;
for i=2:T
   X1(1)=X0(1)
   X1(i)=X1(i-1)+X0(i)7                %用AGO生成一阶累加生成模块
end
for i=1:T-1
   M(i)=-(0.5*(X1(i)+X1(i+1)));
end
B=zeros(T-1,2);                       %构造累加矩阵B
for i=1:T-1
     for j=1:2
         if j<2
            B(i,j)=M(i);
         elseif j>1
            B(i,j)=1;
         end
     end
end
for i=2:T                          %构造常数项向量Y
    Y(i-1)=X0(i);
end
HCS=inv(B'*B)*B'*Y'             %用最小二乘法求灰参数HCS
H=HCS';
for i=2:T+N                        %计算出累加序列
    XR1(i)=(X0(1)-H(2)/H(1))*exp(-1*H(1)*(i-1))+H(2)/H(1)
end
for i=11:T+N                      %还原计算出预测值
        K(i-10)=XR1(i)-XR1(i-1)
end
%GM=K;%[/code]

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?