MATLAB缉私艇追击走私船.ppt

上传人:本田雅阁 文档编号:2202143 上传时间:2019-03-03 格式:PPT 页数:26 大小:727.51KB
返回 下载 相关 举报
MATLAB缉私艇追击走私船.ppt_第1页
第1页 / 共26页
MATLAB缉私艇追击走私船.ppt_第2页
第2页 / 共26页
MATLAB缉私艇追击走私船.ppt_第3页
第3页 / 共26页
亲,该文档总共26页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《MATLAB缉私艇追击走私船.ppt》由会员分享,可在线阅读,更多相关《MATLAB缉私艇追击走私船.ppt(26页珍藏版)》请在三一文库上搜索。

1、实验3 缉私艇追击走私船,3.1 实验目的 (1)学会用MATLAB软件求解微分方程的初值问题; (2)了解微分方程数值解的思想,掌握微分方程数值解的方法; (3)学会根据实际问题建立简单微分方程数学模型,提高解决问题能力; (4)了解简单的计算机仿真和数据模拟的基本方法.,3.2 实验问题 海上边防缉私艇发现距c公里处有一走私船正以匀速a沿直线行驶,缉私艇 立即以最大速度b追赶,在雷达的引导下,缉私艇的方向始终指向走私船。问 缉私艇何时追赶上走私船?并求出缉私艇追赶的路线。,x,y,c,o,2.3 建立模型,x,c,o,y,走私船初始位置在点(0,0),,行驶方向为y轴正方向,,缉私艇的初始

2、位置在点(c,0),,缉私艇行驶的路程为s 。,在时刻t:,缉私艇到达点,走私船的位置到达点,2.4 模型求解,(1) 求解析解,令:,,,,,1),当 x = 0 时,,,,c=3千米,a=0.4千米/分, 分别取b=0.6,0.8,1.2千米/分时, 缉私艇追赶路线的图形。,追赶时间分别为: t=9,5,2.8125(分钟),2),当,时,,,,缉私艇不可能追赶上走私船。,3),,,,,当,时,,,,缉私艇不可能追赶上走私船。,(2)用MATLAB软件求解析解,MATLAB软件5.3以上版本提供的解常微分方程解析解的指令是 dsolve,完整的调用格式是:,微分方程的书写格式规定:当y是因

3、变量时,用“Dny”表示y的n阶导数。,例1 求微分方程,的通解。,解 输入命令: y=dsolve(Dy=x+x*y,x),Ans=-1+exp(1/2*x2)*C1,dsolve(方程1, 方程2,方程n, 初始条件, 自变量),解 输入命令: y=dsolve(D2y+4*Dy+29*y=0,y(0)=0,Dy(0)=15,x),结 果 为 : y =3e-2xsin(5x),解 输入命令 : x,y,z=dsolve(Dx=2*x-3*y+3*z,Dy=4*x-5*y+3*z,Dz=4*x-4*y+2*z, t); x=simple(x) % 将x化简 y=simple(y) z=si

4、mple(z),结 果 为:x = (c1-c2+c3+c2e -3t-c3e-3t)e2t y = -c1e-4t+c2e-4t+c2e-3t-c3e-3t+c1-c2+c3)e2t z = (-c1e-4t+c2e-4t+c1-c2+c3)e2t,在实际生产和科研中所建立的微分方程往往很复杂,有时尽管是一阶微分方程, 也很难求解,即使求出解的表达式,要想计算相应已知变量的函数值也是很困难的,在这种情况下,在实际上,对初值问题,一般是要求得到解在若干个点上满足规定精确度的近似值,研究常微分方程的数值解法,或者得到一个满足精确度要求的便于计算的表达式。,(3)用MATLAB软件求微分方程的数值

5、解,因此,研究常微分方程的数值解法是十分必要的。,对常微分方程,其数值解就是求其解析解,在一系列离散点,处的近似值,用MATLAB软件求数值解的一般格式为,t,x=solver(f,ts,x0),1、在解n个未知函数的方程组时,x0和x均为n维向量,m-文件中的待解方程组应以x的分量形式写成.,2、使用Matlab软件求数值解时,高阶微分方程必须等价地变换成一阶微分方程组.,注意:,function u=文件名(自变量,因变量) u=微分方程的右端,然后在指令窗口执行ode23(文件名,0,2,0),可得到图形与相关数据,再执行x,y=ode23(文件名,0,2,0),可得到两组数据,执行pl

6、ot(x,y),可得到图形,建立M文件, 格式如左,例,polyfit(自变量,因变量,次数),(3)用MATLAB软件求数值解,c=3,a=0.4,b=0.8,,程序zjet.m function u=zjwt(t,y) u=0.5*(t/3)0.5-(3/t)0.5),执行下面的命令:ode23(zjwt,3,0.0005,0),若想看图中点的坐标可执行下面的命令: t,y=ode23(zjwt,3,0.0005,0) plot(t,y),此时缉私艇的位置坐标是(0.00050000000000,1.96013657712118),执行下面的命令: ode45(zjwt,3,0.0005,

7、0),若想看图中点的坐标可执行下面的命令: t,y=ode45(zjwt,3,0.0005,0) plot(t,y),此时缉私艇的位置坐标是(0.0005,1.9675 ),MATLAB软件仿真法,当建立动态系统的微分方程模型很困难时, 我们可以用计算机仿真法对系统进行分析研究。 所谓计算机仿真就是利用计算机对实际动态系 统的结构和行为进行编程、模拟和计算,以此 来预测系统的行为效果。,MATLAB软件仿真法,x,c,o,y,走私船初始位在点(0,0),方向为y轴正方向,,缉私艇的初始位在点(c,0),,追赶方向可用方向余弦表示为:,走私船的位置:,缉私艇的位置:,o,缉私艇的位置:,则,时间

8、步长,仿真算法:,第三步:计算缉私艇与走私船这两个动点之间的距离:,根据事先给定的距离,判断缉私艇是否已经追上了走私船,从而判断退出循环还是让时间产生一个步长,返回到第二步继续进入下一次循环;,取c=3千米,a=0.4千米/分钟,b=0.8千米/分钟,,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; hold on axis(0,3,0,2) while (sqrt(jstx-zscx)2+(jsty-zscy)2)d) t=t+dt; jstx=jstx-b*dt*jstx/sqrt(jstx2+(

9、a*t-jsty)2); jsty=jsty+b*dt*(a*t-jsty)/sqrt(jstx2+(a*t-jsty)2); zscy=a*t; plot(jstx,jsty,r+,zscx,zscy,b*) pause(0.2) end jstx,jsty,zscx,zscy,t,程序zhuixiantu.m,显示船与艇行进路线程序 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)d) pause(0.01) hold on

10、 axis(0,3,0,2) t=t+dt; jstx=jstx-b*dt*jstx/sqrt(jstx2+(a*t-jsty)2); jsty=jsty+b*dt*(a*t-jsty)/sqrt(jstx2+(a*t-jsty)2); zscy=a*t; plot(jstx,jsty,rO,zscx,zscy, b*) end,例设A(0,0)为一导弹发射点,发现位于B(0,100)处一架敌机沿水平方向逃离(如图),随即发射一枚导弹予以打击,现已知导弹时刻对准敌机,且速率为飞机速率的两倍(设飞机速度为1)。试编程模拟导弹打击敌机的动态过程,并实时给出飞机和导弹的位置坐标。 分析:现将整个动态

11、过程离散化, 即以dt为时间间隔,实时观测飞机 与导弹的位置: 假定敌机从B点飞行到B1点, 导弹沿向量AB1到A1点; 此时敌机又到B2点,导弹则 沿向量A1B2到A2点; 以此类推,计算飞机的位置 坐标和导弹的位置坐标。,记,step1 画出导弹与飞机A、B点位置; step2 求出dt时间段后的B1点坐标; 2.1 求出向量A0B1的方向, 2.2 求出A1点坐标 2.3 求出导弹与飞机间的距离d; step3 判断距离d是否达到精度要求;如果没有 达到要求,转向step1重复画点、计算新的位置 直到d达到要求.,步骤:,hold on axis(0 3 0 2); k=0;A=3,0;

12、B=0,0; v=0.01;dt=1;d=3; while d0.01 plot(A(1),A(2),r.); plot(B(1),B(2),b*); pause(0.2); k=k+1; B=B+0,v*dt; e=B-A; d=norm(e); A=A+2.0*v*dt*e/d; fprintf(k=%.0f B(%.2f,100) A(%.2f,%.2f) d=%.2fn,k,B(1),A(1),A(2),d); end,2.5 结果分析,用求解析解的方法算得的解是最为精确的;用数值方法计算的结果依赖于迭代终值的设定,减小迭代终值可以提高计算精度;用计算机仿真法计算的结果依赖于时间迭代步

13、长的选取和程序终止条件的设定,修改终止条件的设定和减小时间迭代步长可以提高计算精度,减小误差。,1. 有一只猎狗在B点位置发现了一只兔子在正东北方距离它200米的地方O处,此时兔子开始以8米/秒的速度向正西北方距离为120米的洞口A全速跑去,假设猎狗在追赶兔子的时候始终朝着兔子的方向全速奔跑,用计算机仿真法等多种方法完成下面的实验: (1) 问猎狗能追上兔子的最小速度是多少? (2) 在猎狗能追上兔子的情况下,猎狗跑过的路程是多少? (3) 画出猎狗追赶兔子奔跑的曲线图。 (4) 假设在追赶过程中,当猎狗与兔 子之间的距离为30米时,兔子由于害怕, 奔跑的速度每秒减半,而猎狗却由于兴 奋奔跑的速度每秒增加0.1倍,在这种情 况下,再按前面的(1)(3)完成实验任务。,实验任务,A,B,N,W,O,2. 使用计算机仿真方法求解下述问题:在正方形的四个顶点上各有一人,如下图所示,在某一时刻,四人同时出发以匀速按顺时针方向追赶下一个人,如果他们始终保持对准目标,试确定每个人的行进路线。,end,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1