- 1、本文档共44页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
用matlab软件求微分方程的解析解 dsolve(‘equation’,‘condition’) %求方程equation在初始条件condition下的解,自变量默认为t dsolve(equation) %求方程equation的通解 %一阶导数用Dy表示,二阶导数用D2y表示, A=dsolve(Dy=5) B=dsolve(‘Dy=x’,‘x’) %求方程的通解,指定自变 量为x C=dsolve(D2y=1+Dy) D=dsolve(D2y=1+Dy,y(0)=1,Dy(0)=0) [x,y]=dsolve(Dx=y+x, Dy=2*x,x(0)=0, y(0)=1) %解微分方程组 再解释: 注意: (1)命令ode求解的是形如y’=f(t,y)的微分方程,我们称它为一阶导数可解出的微分方程。而对于一阶导数解不出的形如?f(t,y,y’)=0?的微分方程,可以用命令ode15i求解,有兴趣的读者可以用help命令获得。 (2)求解微分问题时必须为其指定初值,即上面的sv。 ?? (3)ode只能直接求解一阶微分方程,高阶微分方程必须等价地转化成一阶微分方程组,才能用ode命令求解。比如 y’’’=f(t,y,y’,y’’), ?设y1=y, y2= y’, y3= y’’ , 那么如上的三阶微分方程就可以表示为如下的三个一阶方程组了。? ?? ?? ?? ?? ?? ??y1=y2? ?? ?? ?? ?? ?? ??y2=y3? ?? ?? ?? ?? ?? ??y3=f(t,y1,y2,y3) a=0.4;c=3; for b=0.6:0.3:1.2 r=a/b; x=0:0.05:c; y=c/2*(1/(r+1)*(x/c).^(1+r)-1/(1-r)*(x/c).^(1-r))+c*r/(1-r^2); plot(x,y,r-,linewidth,2) pause hold on end axis([0 4 0 3.5]) gtext(b=0.6) gtext(b=0.9) gtext(b=1.2) 上机任务 李继成(书) Page 175 练习2 第1、2、3题 Page 179 练习3 第3、4、2题 Page 186 练习4 第4、1、3题 1 如图,有一半径为4a的大圆,里面有有一个小圆,半径为a,现在,大圆固定而小圆在大圆内相切滚动,设M起点的坐标为(4a,0),确定小圆上一点M的轨迹。 2 (2) 模型求解 求解析解 令: 表示追赶时间。 表示走私船跑过的距离。 取c=3千米,a=0.4千米/分钟,分别取b=0.6,0.9, 1.2千米/分钟时,编程绘制缉私艇追赶路线图形. 定义m文件函数: function y=zx(t,y) y=0.5*((t/3)^0.5-(3/t)^0.5); ode23(zx,3,0.0005,0) (3)用MATLAB软件求数值解 设c=3千米,a=0.4千米/分钟,b=0.8千米/分钟, r=a/b=0.5,用二三阶龙格-库塔算法计算数值解: (4) 动态仿真 当建立动态系统的微分方程模型很困难时, 可以用计算机仿真法对系统进行分析研究。所谓计算机仿真就是利用计算机对实际动态系 统的结构和行为进行编程、模拟和计算,以此 来预测系统的行为效果。 走私船初始位在点(0,0),方向为y轴正方向, 缉私艇的初始位在点(c,0), 走私船的位置到达点 缉私艇的位置到达点 追赶方向可用方向余弦表示为: 时间步长 缉私艇的位置: 则 仿真算法: 第二步: 计算动点缉私艇D在时刻 时的坐标 计算走私船R在时刻 时的坐标 第一步:设置时间步长 , 速度a, b及初始位置 仿真算法步骤: 第三步:计算缉私艇与走私船这两个动点之间的距离: 根据事先给定的距离,判断缉私艇是否已经追上了走私船,从而判断退出循环还是让时间产生一个步长,返回到第二步继续进入下一次循环; 第四步:当从上述循环退出后,由点列 和 可分别绘制成两条曲线 即为缉私艇和走私船走过的轨迹曲线。 取c=3千米,a=0.4千米/分钟,b=0.8千米/分钟,r=a/b=0.5 显示船与艇行进路线程序 clc;clear;clf; c=3; a=0.4/60; b=0.8/60; d=0.01;dt=2;t=0; jstx=c;jsty=0;zscx=0;zscy=0; while (sqrt((jstx-zscx)^2+(jsty-zscy)^2)
文档评论(0)