网站大量收购独家精品文档,联系QQ:2885784924

《数学建模算法与应用》(第三版)课件 第15章 预测方法.pptx

《数学建模算法与应用》(第三版)课件 第15章 预测方法.pptx

  1. 1、本文档共170页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第15章;目录 CONTENTS;微分方程模型;求微分方程组数值解及画图的Matlab程序如下: dxy=@(t,x)[-0.0544*x(2)+54000*(t=0 t1)+... 6000*(t=2 t3)+13000*(t=5 t6) -0.0106*x(1)]; %定义微分方程组右端项 [t,xy]=ode45(dxy,[0:36],[0,21500]) subplot(211), plot(t,xy(:,1),r*,t,xy(:,2),gD) xlabel(时间t), ylabel(人数), legend(美军,日军) subplot(212), plot(xy(:,1),xy(:,2)) %画微分方程组的轨线 xlabel(美军人数x), ylabel(日军人数y) ;灰色预测模型;15.2.1 GM(1,1)预测模型;1. GM(1,1)模型预测方法;2. GM(1,1)模型预测步骤;3. GM(1,1)模型预测实例;clc,clear x0=[71.1 72.4 72.4 72.1 71.4 72.0 71.6]; %注意这里为列向量 n=length(x0); lamda=x0(1:n-1)./x0(2:n) %计算级比 range=minmax(lamda) %计算级比的范围 x1=cumsum(x0) %累加运算 B=[-0.5*(x1(1:n-1)+x1(2:n)),ones(n-1,1)]; Y=x0(2:n); u=B\Y %拟合参数u(1)=a,u(2)=b syms x(t) x=dsolve(diff(x)+u(1)*x==u(2),x(0)==x0(1)); %求微分方程的符号解 xt=vpa(x,6) %以小数格式显示微分方程的解 yuce1=subs(x,t,[0:n-1]); %求已知数据的预测值 yuce1=double(yuce1); %符号数转换成数值类型,否则无法作差分运算 yuce=[x0(1),diff(yuce1)] %差分运算,还原数据 epsilon=x0-yuce %计算残差 delta=abs(epsilon./x0) %计算相对误差 rho=1-(1-0.5*u(1))/(1+0.5*u(1))*lamda %计算级比偏差值,u(1)=a;15.2.2 GM(2,1)、DGM和Verhulst模型;1. GM(2,1)模型;计算的Matlab程序如下: clc,clear x0=[41,49,61,78,96,104]; %原始序列 n=length(x0); x1=cumsum(x0) %计算1次累加序列 a_x0=diff(x0) %计算1次累减序列 z=0.5*(x1(2:end)+x1(1:end-1)); %计算均值生成序列 B=[-x0(2:end),-z,ones(n-1,1)]; u=B\a_x0 %最小二乘法拟合参数 syms x(t) x=dsolve(diff(x,2)+u(1)*diff(x)+u(2)*x==u(3),x(0)==x1(1),x(5)==x1(6)); %求符号解 xt=vpa(x,6) %显示小数形式的符号解 yuce=subs(x,t,0:n-1); %求已知数据点1次累加序列的预测值 yuce=double(yuce) %符号数转换成数值类型,否则无法作差分运算 x0_hat=[yuce(1),diff(yuce)]; %求已知数据点的预测值 x0_hat=round(x0_hat) %四舍五入取整数 epsilon=x0-x0_hat %求残差 delta=abs(epsilon./x0) %求相对误差;2. DGM(2,1)模型;计算的MATLAB程序如下: clc,clear x0=[2.874,3.278,3.39,3.679,3.77,3.8]; %原始数据序列 n=length(x0); a_x0=diff(x0); %求1次累减序列,即1阶向前差分 B=[-x0(2:end),ones(n-1,1)]; u=B\a_x0 %最小二乘法拟合参数 syms x(t) d2x=diff(x,2); dx=diff(x); %定义二阶和一阶导数 %求二阶微分方程符号解 x=dsolve(d2x+u(1)*dx==u(2),x(0)==x0(1),dx(0)==x0(1)); xt=vpa(x,6) %显示小数形式的符号解 yuce=subs(x,t,0:n-1); %求已知数据点1次累加序列的预测值 yuce=double(yuce) %符号数转换成数值类型,否则无法作差分运算 x0_hat=[yuce(1),diff(

您可能关注的文档

文档评论(0)

778899123 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档