📄 gm2.m
字号:
%-------------灰色预测------------------%
clear all;
clc;
x=[1 6 7 8]; %初始数据序列
[m,n]=size(x);
x1=[]; %累加序列
x1(1)=x(1);
for i=1:1:n-1
x1(i+1)=x1(i)+x(i+1); %累加值
end; %以上,作一阶累加1-AGO得x1
c=[];
for i=1:1:n-1
c(i)=-1/2*(x1(i)+x1(i+1));
end;
B=[c',ones(n-1,1)]; Y=x(2:n); Y=Y'; %以上,构造矩阵B和Y
b=B'*B;
d=B';d1=d*B;d2=d*Y;
c=d1\d2;
a=c(1);
u=c(2); %以上,利用最小二乘法解参数a和u
x0=[];x0(1)=x(1);
for i=1:1:n
x0(i+1)=(1-exp(a))*(x(1)-u/a)*exp(-a*i);
end; %累减还原得到灰色预测模型x0
xq=x0(1:n);
d1=(x-xq)./x.*100; %分析误差;相对误差(%):(实际值-预测值)/实际值*100
w=d1;
W=[];
for i=1:1:n
if w(i)>=0
W(i)=w(i);
else
W(i)=-w(i);
end;
end;
w=[];
da1=sum(W)/n; %平均误差:各相对误差的绝对值的和/个数
x0
d1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -