matlab第9章实例解析.pptVIP

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

实例解析【例9-1】利用多种方法求解下面的初值问题。解:编写如下语句:f=@(t,y)4*exp(0.8*t)-0.5*y;[t1,y1]=Explicit_Euler(f,[0,4],2,1)%利用Euler法求数值解[t2,y2]=Improved_Euler(f,[0,4],2,1)%改进Euler方法求解微分方程[t3,y3]=Classical_RK4(f,[0,4],2,1)%利用经典四阶Runge-Kutta法求解微分方程[t4,y4]=Implicit_RK4(f,[0,4],2,1)%利用隐式Runge-Kutta求解微分方程[t5,y5]=Improved_Adams(f,[0,4],2,1)%利用预报-校正公式求解求解微分方程y=dsolve(Dy-4*exp(0.8*t)+0.5*y=0,y(0)=2,t);%求微分方程解析解ezplot(y,[0,4])%绘制解析解图形holdall%图形保持plot(t1,y1,.-,t2,y2,.-,t3,y3,.-,t4,y4,.-,...t5,y5,.-,MarkerSize,20)%绘制数值解图形并设置线型、颜色和标记符号legend(解析解,Euler法,改进Euler方法,经典四阶Runge-Kutta法,...隐式Runge-Kutta法,Adams公式,2)title(微分方程的求解,fontname,隶书,fontsize,16)ylim([0,90])%设置y轴的坐标范围Euler法改进Euler方法经典四阶Runge-Kutta法隐式Runge-Kutta法Adams公式y1=2.00005.000011.402225.513256.8493y2=2.00006.701116.319837.199283.3378y3=2.00006.201014.862533.721375.4392y4=2.00006.197414.860933.727275.4613y5=2.00006.201014.862533.721375.9579【例9-2】求解下面的一阶微分方程组。解:编写程序文件predator.moptions=odeset(RelTol,1e-4);%设置优化参数RelTol为1e-4【例9-9】求解下面的刚性方程组。解:编写程序example_9_9.m,得到如下结果。【例9-11】隐式微分方程的求解。解:首先选定状态变量则得到如下一阶微分方程组:编写微分方程组描述函数Idefun()functiondy=Idefun(t,x)f=@(p)[p(1)*sin(x(4))+p(2)^2+2*x(1)*x(3)*exp(-x(2))-x(1)*p(1)*x(4);x(1)*p(1)*p(2)+cos(p(2))-3*x(3)*x(2)*exp(-x(1))];options=optimset(Display,off);%设置不显示每步迭代结果y=fsolve(f,x([1,3]),options);%使用fsolve求解出x和ydy=[x(2);y(1);x(4);y(2)];%状态变量一阶微分值再编写如下主程序:[t,y]=ode45(@Idefun,[03],[1001]);%利用ode45函数求解微分方程组width=[2,1,2,1];%线宽向量fork=1:4plot(t,y(:,k),LineWidth,width(k))%绘制图形并设置线宽holdall%图形保持endh=legend(\itx,\itx,\ity,\ity,2);%添加图例set(h,fontname,times,fontsize,12)%设置图例字体和字号下面再利用ode15i()函数求解上述例题。编写如下程序:f=@(t,x,dx)[dx(1)-x(2);dx(2)*sin(x(4))+dx(4)^2+2*x(1)*x(3)*exp(-x(2))-x(1)*dx(2)*x(4);dx(3)-x(4);x(1)*dx(2)*dx(4)+cos(dx(4))-3*x(3)*x(2)*exp(-x(1))];%定义隐式微分方程组t0=0;%自变量初值x0=[1001];%状态变量初值fix_x0=ones(4,1);%保留x0dx0

文档评论(0)

趁早学习 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档