⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gm11.m

📁 文件为灰色建模的Matlab程序
💻 M
字号:
% GM(1,1)模型
x0=load('data.txt');% 载入原始数据
n=length(x0);
% 一次累加1-GAO

x1(1)=x0(1);
for ii=1:n-1
    x1(ii+1)=x1(ii)+x0(ii+1);
end

% 求Y 阵
y=ones(n-1,1);
for ii=2:n
    y(ii-1)=x0(ii);
end

% 求B阵

b=ones(n-1,2);
for ii=1:n-1
    b(ii,1)=-0.5*(x1(ii)+x1(ii+1));
end

% 求参数a,u
w=inv(b'*b)*b'*y;
a=w(1,1)
u=w(2,1)
% 计算模型x11
m=u/a;
g=x0(1)-m;
x11=ones(n,1);
x11(1)=x0(1);
for ii=1:n-1
    x11(ii+1)=exp(-a*ii)*g+m;
end
%还原计算
x00=ones(n,1);
x00(1)=x0(1);
for ii=1:n-1
    x00(ii+1)=x11(ii+1)-x11(ii);
end
%模型检验
e=abs(x00-x0) %绝对误差
e1=(e./x0)*100 %相对误差
%关联度检验
mine=min(e);
maxe=max(e);
for jj=1:n
    gg(jj)=(mine+0.5*maxe)/(e(jj)+0.5*maxe);
end
r=mean(g)
%后验差检验
s1=std(x0);%原始序列标准差
s2=std(e);%绝对误差序列标准差
c=s2/s1
me=ones(n,1)*mean(e);
ex=abs(e-me);
h=0.674*s1;
k=0;
for kk=1:n
    if ex(kk)<h
        k=k+1;
    end
end
p=k/n
%模型预测
ycn=6;%预测时段长度
yx=zeros(ycn,1);
for dd=1:ycn
    yx(dd)=exp((-a*(dd+n-1)))*(1-exp(a))*g;
end








⌨️ 快捷键说明

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