数学建模-灰色预测模型

灰色预测练习解答

x(0)={183,189,207,234,220,256,270,285};

X(1)={183,372,579,813,1033,1289,1559,1844};

数学建模-灰色预测模型_第1张图片

Matlab操作程序:

x0=[183,189,207,234,220,256,270,285];

>> format long; %(表示设计精度)

>> n=length(x0); %(输入数据长度)

>> x1=[ ];  %(表示x1是一矩阵)

>> x1(1)=x0(1); 

>> for i=2:n;

x1(i)=x1(i-1)+x0(i);

end

>> for i=1:n-1;

B(i,1)=-0.5*(x1(i)+x1(i+1)); %(矩阵B的第一列)

B(i,2)=1; %(矩阵B的第二列)

Y(i)=x0(i+1); %(表示Yn数据)

end

>> alpha=(B'*B)^(-1)*B'*Y';

>> a=alpha(1,1);

>> b=alpha(2,1);

>> d=b/a;    %(计算时间响应函数参数)

>> c=x1(1)-d;

>> x2(1)=x0(1);

>> x(1)=x0(1);

>> for i=1:n+4;%包括未来5年水质污染数据

求出后5个原始数据:

x(9)=305.7517; x(10)=326.4882; x(11)=348.6311;

x(12)=372.2757;  x(13)=397.5239

未来5年长江水质污染趋势,并给出曲线拟合:

2005

  2006

  2007

  2008

  2009

305.7517

326.4882

348.6311

372.2757

397.5239

令:

w=[1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009];

z=[183,189,207,234,220,256,270,285,305,326,348,372,397];

数学建模-灰色预测模型_第2张图片

>> plot(w,z)

这个曲线类似

分布图形,因此进行非线性曲线拟合

x=[1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009];

y=[183,189,207,234,220,256,270,285,305,326,348,372,397];

b0=[50,0.2,-0,1];

fun=inline('b(1)*(1-b(2)*exp(b(3)*x))','b','x');

[b,r,j]=nlinfit(x,y,fun,b0);

R=sum(r.^2)

求出相对误差检验,并说明精度级别

>> for i=1:n;

error(i)=x(i)-x0(i); %(残差)

error1(i)=abs(error(i));%(计算残差,abs表示绝对值)

error2(i)=error1(i)/x0(i); %(计算相对误差)

end

>>error2(i)= 0.004674778262144

相对误差:0.00467,良好。

你可能感兴趣的:(数学建模,算法)