zoukankan      html  css  js  c++  java
  • 灰色系统模型

    %1997-2003年数据
    A=[83.0, 79.8,78.1,85.1,86.6,88.2,90.3,86.7,93.3,92.5,90.9,96.9;
    101.7,85.1,87.8,91.6,93.4,94.5,97.4,99.5,104.2,102.3,101.0,123.5;
    92.2,114.0,93.3,101.0,103.5,105.2,109.5,109.2,109.6,111.2,121.7,131.3;
    105.0,125.7,106.6,116.0,117.6,118.0,121.7,118.7,120.2,127.8,121.8,121.9;
    139.3,129.5,122.5,124.5,135.7,130.8,138.7,133.7,136.8,138.9,129.6,133.7;
    137.5,135.3,133.0,133.4,142.8,141.6,142.9,147.3,159.6,162.1,153.5,155.9;
    163.2,159.7,158.4,145.2,124,144.1,157.0,162.6,171.8,180.7,173.5,176.5];
    T=A(1:6,1:12);
    x0=mean(T');
    x1=zeros(size(x0));
    n=length(x0);
    x1(1)=x0(1);
    for i=2:n
        x1(i)=x1(i-1)+x0(i);
    end
    z=zeros(size(x0));
    af=0.4;
    for i=2:n
        z(i)=af*x1(i)+(1-af)*x1(i-1);
    end
    Y=zeros(n-1,1);
    B=zeros(n-1,2);
    for i=2:n
        Y(i-1,1)=x0(i);
        B(i-1,1)=-z(i);
        B(i-1,2)=1;
    end
    Para=inv(B'*B)*B'*Y;
    a=Para(1);
    b=Para(2);
    Pred=(x0(1)-b/a)*exp(-a*n)*(1-exp(a));
    Total=12*Pred;
    r=sum(T)/sum(sum(T));
    Px=Total*r;
    fprintf('输出2003年预测值与实际值.
    ');
    for i=1:12
        fprintf('%5d ',i);
    end
    fprintf('
    ');
    for i=1:12
        fprintf('%6.1f',Px(i));
    end
    fprintf('
    ');
    for i=1:12
        fprintf('%6.1f',A(7,i));
    end
    fprintf('
    ');
    Error=sum(Px(4:6))-sum(A(7,4:6));
    fprintf('2003年4,5,6月SARS导致减少销售额%6.2f亿元
    ',Error);
    subplot(2,1,1);
    PA=[A(1,:),A(2,:),A(3,:),A(4,:),A(5,:),A(6,:),A(7,:)];
    plot(PA);grid on
    title('原始数据');
    subplot(2,1,2);
    plot(1:12,A(7,:),'b*',1:12,Px,'r');
    title('2003年对比数据');
    grid on
    

      

  • 相关阅读:
    tera term通过ttl脚本 自动连接服务器
    shell脚本生成xml文件
    MarkDown语法练习笔记
    linux nkf 日文编码转换命令[转载]
    Shell脚本传递带有空格的参数[摘录自网络]
    JavaScript思维导图—函数基础
    JavaScript思维导图—运算符
    JavaScript思维导图—数组
    JavaScript思维导图—流程控制
    JavaScript思维导图—正则表达式
  • 原文地址:https://www.cnblogs.com/kmxojer/p/12272082.html
Copyright © 2011-2022 走看看