数学建模社区-数学中国

标题: GM(1,1)模型 [打印本页]

作者: 森之张卫东    时间: 2015-8-12 08:35
标题: GM(1,1)模型
GM(1,1)模型
  1. <p>%灰色预测模型 GM(1,1)
  2. %修改后,已经能够使用了
  3. %时间:2015-7-2-四
  4. clc,clear
  5. tic;
  6. x0=[71.1 72.4 72.4 72.1 71.4 72.0 71.6]'; %注意这里为列向量
  7. n=length(x0);
  8. disp('计算级比')
  9. lamda=x0(1:n-1)./x0(2:n)  %计算级比
  10. disp('计算级比的范围')
  11. range=minmax(lamda')  %计算级比的范围
  12. x1=cumsum(x0);  %累加运算
  13. B=[-0.5*(x1(1:n-1)+x1(2:n)),ones(n-1,1)];
  14. Y=x0(2:n);
  15. disp('拟合参数 u:')
  16. u=B\Y  %拟合参数u(1)=a,u(2)=b
  17. disp('求微分方程的符号解')
  18. x=dsolve('Dx+a*x=b','x(0)=x0'); %求微分方程的符号解
  19. x=subs(x,{'a','b','x0'},{u(1),u(2),x0(1)}); %代入估计参数值和初始值
  20. yuce1=subs(x,'t',[0:n-1]); %求已知数据的预测值
  21. y=vpa(x,6)   %其中的6表示显示6位数字
  22. disp('求已知数据的预测值')
  23. yuce=[x0(1),diff( double(yuce1) )]  %差分运算,还原数据
  24. disp('计算残差')
  25. epsilon=x0'-double(yuce)    %计算残差
  26. disp('计算相对误差')
  27. delta=abs(epsilon./x0')  %计算相对误差
  28. disp('计算级比偏差值,u(1)=a')
  29. rho=1-(1-0.5*u(1))/(1+0.5*u(1))*lamda'  %计算级比偏差值,u(1)=a</p><p>toc;</p>
复制代码

20150812_082444.jpg (2.42 MB, 下载次数: 279)

20150812_082444.jpg

部分结果.PNG (118.46 KB, 下载次数: 233)

部分结果.PNG


作者: ZF710878101    时间: 2016-1-31 19:48
来看看  。。。。。。





欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5