?? 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 + -