MATLAB缉私艇追击走私船.ppt

上传人:sccc 文档编号:5598983 上传时间:2023-07-31 格式:PPT 页数:26 大小:727.51KB
返回 下载 相关 举报
MATLAB缉私艇追击走私船.ppt_第1页
第1页 / 共26页
MATLAB缉私艇追击走私船.ppt_第2页
第2页 / 共26页
MATLAB缉私艇追击走私船.ppt_第3页
第3页 / 共26页
MATLAB缉私艇追击走私船.ppt_第4页
第4页 / 共26页
MATLAB缉私艇追击走私船.ppt_第5页
第5页 / 共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轴正方向,,缉私艇的初始位置在点(c

2、,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是因变量时,用“Dny”表示y的

3、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=simple(z),结 果 为:x=(c1-c2+c3+c2e

4、-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),可得到两组数据,执行plot(x,y),可得到图形,建立M文件,格式如左,例,polyfit(自变量

6、,因变量,次数),(3)用MATLAB软件求数值解,c=3,a=0.4,b=0.8,,程序zjet.mfunction 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,0),若想看图中点的坐标可执行下面的命令:t,y=ode45(zjwt,3,0.0005

7、,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 onaxis(0,3,0,2)while(sqrt(jstx-zscx)2+(jsty-zscy)2)d)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)

9、;zscy=a*t;plot(jstx,jsty,r+,zscx,zscy,b*)pause(0.2)endjstx,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 onaxis(0,3,0,2)t=t+dt;jstx=jstx-b*dt*jstx/sqrt(jstx2+(a*t-jsty)2);jsty=jsty+b*

10、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)。试编程模拟导弹打击敌机的动态过程,并实时给出飞机和导弹的位置坐标。分析:现将整个动态过程离散化,即以dt为时间间隔,实时观测飞机与导弹的位置:假定敌机从B点飞行到B1点,导弹沿向量AB1到A1点;此时敌机又到B2点,导弹则沿向量A1B2到A2点;以此类推

11、,计算飞机的位置坐标和导弹的位置坐标。,记,step1 画出导弹与飞机A、B点位置;step2 求出dt时间段后的B1点坐标;2.1 求出向量A0B1的方向,2.2 求出A1点坐标 2.3 求出导弹与飞机间的距离d;step3 判断距离d是否达到精度要求;如果没有达到要求,转向step1重复画点、计算新的位置直到d达到要求.,步骤:,hold onaxis(0 3 0 2);k=0;A=3,0;B=0,0;v=0.01;dt=1;d=3;while d0.01plot(A(1),A(2),r.);plot(B(1),B(2),b*);pause(0.2);k=k+1;B=B+0,v*dt;e=

12、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 结果分析,用求解析解的方法算得的解是最为精确的;用数值方法计算的结果依赖于迭代终值的设定,减小迭代终值可以提高计算精度;用计算机仿真法计算的结果依赖于时间迭代步长的选取和程序终止条件的设定,修改终止条件的设定和减小时间迭代步长可以提高计算精度,减小误差。,1.有一只猎狗在B点位置发现了一只兔子在正东北方距离它200米的地方O处,此时兔子开始以8米/秒的速度向正西北方距离为120米的洞口A

13、全速跑去,假设猎狗在追赶兔子的时候始终朝着兔子的方向全速奔跑,用计算机仿真法等多种方法完成下面的实验:(1)问猎狗能追上兔子的最小速度是多少?(2)在猎狗能追上兔子的情况下,猎狗跑过的路程是多少?(3)画出猎狗追赶兔子奔跑的曲线图。(4)假设在追赶过程中,当猎狗与兔子之间的距离为30米时,兔子由于害怕,奔跑的速度每秒减半,而猎狗却由于兴奋奔跑的速度每秒增加0.1倍,在这种情况下,再按前面的(1)(3)完成实验任务。,实验任务,A,B,N,W,O,2.使用计算机仿真方法求解下述问题:在正方形的四个顶点上各有一人,如下图所示,在某一时刻,四人同时出发以匀速按顺时针方向追赶下一个人,如果他们始终保持对准目标,试确定每个人的行进路线。,end,

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

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号