📄 hsllchuantong.m
字号:
%传统GM(1,1)运行程序
%注意:本程序的原始数据个数不得少于4个
n=input('请输入原始数据个数:n=');
x0=input('请输入原始数据向量:x0=');
x1(1)=x0(1);
for i=2:n
x1(i)=x1(i-1)+x0(i); %1---AGO生成
end
B=zeros(n-1,2);
for i=1:n-1
B(i,1)=-1/2*(x1(i)+x1(i+1)); %B矩阵的形成
B(i,2)=1;
end
for i=2:n
yn(i-1)=x0(i);
end
B1=B'; yN=yn';
A=B1*B; A1=inv(A); %B的逆矩阵
a1=A1*B1*yN;
a=a1(1);u=a1(2);
for k=1:3
x2(k)=(x0(1)-u/a)*exp(-a*k)+u/a; %1---AGO生成序列的预测值
end
for k=1:3
x(k)=x2(k)-x1(k); %1---AGO还原预测值
end
for k=1:3
z(k)=(x(k)-x0(k+1))/x0(k+1); %预测误差
end
disp('1---AGO的生成数列:x1=');
disp(x1);
disp('B矩阵');
disp(B);
disp('yN数列');
disp(yN);
disp('1---AGO的生成序列预测值:x2');
disp(x2);
disp('还原后的预测值:x');
disp(x);
disp('误差z=');
disp(z);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -