- 1、本文档共107页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微分方程法
数学建摸方法及其应用 这个模型称为Logistic模型,其结果 经过计算发现与实际情况比较吻合。 图: 例6 导弹追踪问题 设位于坐标原点的甲舰向位于x轴上点A(1, 0)处的乙舰发射导弹,导弹头始终对准乙舰.如果乙舰以最大的速度v0(是常数)沿平行于y轴的直线行驶,导弹的速度是5v0,求导弹运行的曲线方程.又乙舰行驶多远时,导弹将它击中? 解法一(解析法) 由(1),(2)消去 t 整理得模型: 解法二(数值解) 1.建立m-文件eq1.m function dy=eq1(x,y) dy=zeros(2,1); dy(1)=y(2); dy(2)=1/5*sqrt(1+y(1)^2)/(1-x); 2. 取x0=0,xf=0.9999,建立主程序ff6.m如下: x0=0,xf=0.9999 [x,y]=ode15s(eq1,[x0 xf],[0 0]); plot(x,y(:,1),’b.) hold on y=0:0.01:2; plot(1,y,’b*) 结论: 导弹大致在(1,0.2)处击中乙舰 令y1=y,y2=y1’,将方程(3)化为一阶微分方程组。 解法三(建立参数方程求数值解) 设时刻t乙舰的坐标为(X(t),Y(t)),导弹的坐标为(x(t),y(t)). 3.因乙舰以速度v0沿直线x=1运动,设v0=1,则w=5,X=1,Y=t 4. 解导弹运动轨迹的参数方程 建立m-文件eq2.m如下: function dy=eq2(t,y) dy=zeros(2,1); dy(1)=5*(1-y(1))/sqrt((1-y(1))^2+(t-y(2))^2); dy(2)=5*(t-y(2))/sqrt((1-y(1))^2+(t-y(2))^2); 取t0=0,tf=2,建立主程序chase2.m如下: [t,y]=ode45(eq2,[0 2],[0 0]); Y=0:0.01:2; plot(1,Y,-), hold on plot(y(:,1),y(:,2),*) 5. 结果见图1 导弹大致在(1,0.2)处击中乙舰,与前面的结论一致. 图1 图2 在chase2.m中,按二分法逐步修改tf,即分别取tf=1,0.5,0.25,…,直到tf=0.21时,得图2. 结论:时刻t=0.21时,导弹在(1,0.21)处击中乙舰。 1. 模型建立 设时刻t慢跑者的坐标为(X(t),Y(t)),狗的坐标为(x(t),y(t)). 则X=10+20cost, Y=20+15sint, 狗从(0,0)出发,与导弹追踪问题类似,建立狗的运动轨迹的参数方程: 例7 慢跑者与狗 一个慢跑者在平面上沿椭圆以恒定的速率v=1跑步,设椭圆方程为: x=10+20cost,y=20+5sint. 突然有一只狗攻击他. 这只狗从原点出发,以恒定速率w跑向慢跑者,狗的运动方向始终指向慢跑者.分别求出w=20,w=5时狗的运动轨迹. 2. 模型求解 (1) w=20时,建立m-文件eq3.m如下: function dy=eq3(t,y) dy=zeros(2,1); dy(1)=20*(10+20*cos(t)-y(1))/sqrt ((10+20*cos(t)-y(1))^2+(20+15*sin(t)-y(2))^2); dy(2)=20*(20+15*sin(t)-y(2))/sqrt ((10+20*cos(t)-y(1))^2+(20+15*sin(t)-y(2))^2); 取t0=0,tf=10,建立主程序chase3.m如下: t0=0;tf=10; [t,y]=ode45(eq3,[t0 tf],[0 0]); T=0:0.1:2*pi; X=10+20*cos(T); Y=20+15*sin(T); plot(X,Y,-) hold on plot(y(:,1),y(:,2),*) 在chase3.m,不断修改tf的值,分别取tf=5, 2.5, 3.5,…,至3.15时, 狗刚好追上慢跑者. 建立m-文件eq4.m如下: function dy=eq4(t,y) dy=zeros(2,1); dy(1)=5*(
文档评论(0)