zoukankan      html  css  js  c++  java
  • 数模学习笔记(六)——灰色系统

    1、我们将信息完全明确的系统称为白色系统,信息未知的系统称为黑色系统,部分信息明确、部分信息不明确的系统称为灰色系统。

    灰色系统着重外延明确、内涵不明确的对象,模糊数学着重外延不明确、内涵明确的对象。

    2、GM(1,1)的灰色预测

    1)数据的检验与处理:计算数列的级比,若都落在可容覆盖内则数据可以进行预测,否则进行平移变化

    2)建立模型

    a.建立灰微分方程确定参数的值

    b.应用上述参数值解白微分方程

    3)检验预测值:残差检验,级比偏差值检验

    3、GM(1,1)模型程序

     1 %%GM(1,1)%%
     2 function [x_0,u,range,derror,rho]=gm11(x0)  %x0为列向量
     3 n=length(x0);
     4 lamda=x0(1:n-1)./x0(2:n);
     5 range=minmax(lamda');%计算级比的范围
     6 x1=cumsum(x0);
     7 B=[-0.5*(x1(1:n-1)+x1(2:n)),ones(n-1,1)];
     8 Y=x0(2:n);
     9 u=BY;
    10 x1=(x0(1)-u(2)/u(1))*exp(-u(1)*[0:n-1])+u(2)/u(1);
    11 x_0=[x0(1),diff(x1)];%模型预测数据
    12 error=x0'-x_0;%残差
    13 derror=abs(error./x0');%相对误差
    14 rho=1-(1-0.5*u(1))/(1+0.5*u(1))*lamda';%级比偏差值
    15 end

    GM(2,1)模型程序

     1 %%GM(2,1)%%
     2 function [x_0,u,range,derror]=gm21(x0)  %x0为行向量
     3 n=length(x0);
     4 x1=cumsum(x0);
     5 dx0=diff(x0)';
     6 z=0.5*(x1(2:end)+x1(1:end-1))';
     7 B=[-x0(2:end)',-z,ones(n-1,1)];
     8 u=Bdx0;
     9 x=dsolve('D2x+a1*Dx+a2*x=b','x(0)=c1,x(5)=c2');
    10 x=subs(x,{'a1','a2','b','c1','c2'},{u(1),u(2),u(3),x1(1),x1(n)});
    11 x1=subs(x,'t',0:n-1);
    12 x_0=[x0(1),diff(x1)];%模型预测数据
    13 error=x0-x_0;%残差
    14 derror=abs(error./x0);%相对误差
    15 end
  • 相关阅读:
    How to add a button in the seletions "More"
    Tags Used In OpenERP 7.0
    OpenERP Web Client设置闲置有效时间
    OpenERP7.0中非admin帐号新增其它用户问题
    Docker 使用docker-compose部署项目
    Docker 安装docker-compose多容器管理服务
    Jenkins集成Docker实现镜像构建和线上发布
    Centos下安装JDK、Maven和Git
    服务注册发现与调度
    Spring boot centos部署启动停止脚本
  • 原文地址:https://www.cnblogs.com/wl142857/p/3190131.html
Copyright © 2011-2022 走看看