数学建模笔记1——灰色预测matlab例子


                        案列一    长江水质的预测

数学建模笔记1——灰色预测matlab例子

     matlab代码:

    clc,clear;
    syms a b;
    c=[a b]';
    A=[174 179 183 189 207 234 220.5 256 270 285];
    B=cumsum(A);  % 原始数据累加
    n=length(A);
    for i=1:(n-1)
    C(i)=(B(i)+B(i+1))/2;  % 生成累加矩阵
    end
    % 计算待定参数的值
    D=A;D(1)=[];
    D=D';
    E=[-C;ones(1,n-1)];
    c=inv(E*E')*E*D;
    c=c';
    a=c(1);b=c(2);
    % 预测后续数据
    F=[];F(1)=A(1);
    for i=2:(n+10)
        F(i)=(A(1)-b/a)/exp(a*(i-1))+b/a ;
    end
    G=[];G(1)=A(1);
    for i=2:(n+10)
        G(i)=F(i)-F(i-1); %得到预测出来的数据
    end 
    t1=1995:2004;

    t2=1995:2014;

    G,a,b % 输出预测值,发展系数和灰色作用量

    plot(t1,A,'o',t2,G)  %原始数据与预测数据的比较

    xlabel('年份')

    ylabel('排水量')

  运行结果:

 G =


  Columns 1 through 6


  174.0000  172.8090  183.9355  195.7785  208.3839  221.8010


  Columns 7 through 12


  236.0820  251.2825  267.4616  284.6825  303.0122  322.5221


  Columns 13 through 18


  343.2881  365.3912  388.9175  413.9585  440.6118  468.9812


  Columns 19 through 20


  499.1772  531.3174




a =


   -0.0624




b =


  156.6162

数学建模笔记1——灰色预测matlab例子

   这个代码是个模板 可以套用 只需改下其中的数据即可

   以上内容来自MATLAB在数学建模中的应用_卓金武(上)