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

数学应用软件作业6用Matlab求解微分方程(组)的解析解和数值解资料.doc

数学应用软件作业6用Matlab求解微分方程(组)的解析解和数值解资料.doc

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
注:上机作业文件夹以自己的班级姓名学号命名,文件夹包括如下上机报告和Matlab程序。 上机报告模板如下: 佛山科学技术学院 上 机 报 告 课程名称 数学应用软件 上机项目 用Matlab求解微分方程(组)的解析解和数值解 专业班级 姓 名 学 号 一. 上机目的 了解求微分方程(组)的解的知识。 学习Matlab中求微分方程的各种解的函数,如dsolve命令、ode45函数等等,其中注意把方程化为新的方程的形式。 掌握用matlab编写程序解决求解微分方程的问题。 二. 上机内容 1、求高阶线性齐次方程:y’’’-y’’-3y’+2y=0。 2、求常微分方程组 3、求解 分别用函数ode45和ode15s计算求解,分别画出图形,图形分别标注标题。 4、求解微分方程 先求解析解,在[0,1]上作图; 再用ode45求数值解(作图的图形用“o”表示),在同一副图中作图进行比较,用不同的颜色表示。 三. 上机方法与步骤 给出相应的问题分析及求解方法,并写出Matlab程序,并有上机程序显示截图。 题1:直接用命令dsolve 求解出微分方程的通解。 Matlab程序: dsolve(D3y-D2y-3*Dy+2*y,x) 题2:将微分方程组改写为 ,再用命令dsolve求解微分方程的通解。 Matlab程序: 建立timu2.m如下: [x,y]=dsolve(Dx=5*cos(t)+2*exp(-2*t)-x-y,Dy=-5*cos(t)+2*exp(-2*t)+x-y,x(0)=2,y(0)=0,t) x=simple(x) y=simple(y) 题3: 由于所给的微分方程为一阶微分方程,则直接用函数ode45和ode15s求解微分方程的数值解,具体程序如下: (1)Matlab程序: 建立M文件fun2.m,如下: function dy=fun2(t,y); dy=zeros(2,1); dy(1)=0.04*(1-y(1))-(1-y(2))*y(1)+0.0001*((1-y(2))^2); dy(2)=-10000*y(1)+3000*((1-y(2))^2); 取t0=0,tf=100,建立程序timu32.m如下: t0=0;tf=100; [T,Y]=ode45(fun2,[0 100],[1 1]); plot(T,Y(:,1),+,T,Y(:,2),*); title(ode45图形); (2)Matlab程序: 建立M文件fun1.m,如下: function dy=fun1(t,y); dy=zeros(2,1); dy(1)=0.04*(1-y(1))-(1-y(2))*y(1)+0.0001*((1-y(2))^2); dy(2)=-10000*y(1)+3000*((1-y(2))^2); 取t0=0,tf=100,建立程序timu3.m如下: t0=0;tf=100; [T,Y]=ode15s(fun1,[0 100],[1 1]); plot(T,Y(:,1),+,T,Y(:,2),*); title(ode15s图形); 题4: Matlab程序: (1)先建立程序timu41.m如下: y=dsolve(Dy=-y+t+1,y(0)=1,t) 截图如下: 作图:建立程序tuxing41.m如下: ezplot(t + 1/exp(t),[0,1]) title(t + 1/exp(t)) (2)先建立M文件fun3.m,如下: function dy=fun3(t,y) dy=zeros(1,1); dy(1)=-y(1)+t+1; 再取t0=0,tf=1,建立程序tuxing42.m如下: t0=0;tf=1; [T,Y]=ode45(fun3,[0 1],[1]); plot(T,Y,ro); title(比较图); t=0:0.1:1; y=t+1./exp(t); hold on plot(t,y,b); 上机结果 题1结果为: ans = C4*exp(2*x) + C2*exp(x*(5^(1/2)/2 - 1/2)) + C3/exp(x*(5^(1/2)/2 + 1/2)) 题2结果为: x = 4*cos(t) - 2/exp(2*t) + 3*sin(t) - (2*sin(t))/exp(t) y = sin(

文档评论(0)

三四五 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档