精讲多练Matlab数学建模实例课件.ppt

精讲多练Matlab数学建模实例课件.ppt

ID:57049746

大小:1.60 MB

页数:21页

时间:2020-07-28

精讲多练Matlab数学建模实例课件.ppt_第1页
精讲多练Matlab数学建模实例课件.ppt_第2页
精讲多练Matlab数学建模实例课件.ppt_第3页
精讲多练Matlab数学建模实例课件.ppt_第4页
精讲多练Matlab数学建模实例课件.ppt_第5页
资源描述:

《精讲多练Matlab数学建模实例课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、综合实验案例1综合实例用MATLAB求解问题时,一般要经历建模和编程两个过程,只有在建模正确的前提下,方能得出正确的结果。2实例1:狼追击兔子的问题狼追击兔子问题是欧洲文艺复兴时代的著名人物达.芬奇提出的一个数学问题。当一个兔子正在它的洞穴南面60码处觅食时,一只恶狼出现在兔子正东的100码处。当两只动物同时发现对方以后,兔子奔向自己的洞穴,狼以快于兔子一倍的速度紧追兔子不放。狼是否会在兔子跑回洞穴之前追赶上兔子?3问题分析为了研究狼是否能够追上兔子,可以先考虑求出狼追兔子形成的追击曲线,然后根据曲线来确定狼是否能够追

2、上兔子。4567v1:兔子的速度(单位:码/秒)r:狼与兔子速度的倍数;v2:狼的速度(单位:码/秒),显然有v2=rv1t:狼追击兔子的时刻(t=0时,表示狼开始追兔子的时刻)s2:在时刻t,狼跑过的路程(单位:码),s2=s2(t)s1:在时刻t,兔子跑过的路程(单位:码),s1=s1(t)Q(x1,y1):表示在时刻t时,兔子的坐标P(x,y):表示在时刻t时,狼的坐标变量说明8狼在追击过程中始终朝向兔子;狼追击兔子的轨迹看作是一条光滑的曲线,即将动点P(x,y)的轨迹看作一条曲线,曲线方程表示为y=y(x)。模

3、型假设9以t=0时,兔子的位置作为直角坐标原点,兔子朝向狼的方向为x轴正向;则显然有兔子位置的横坐标x1=0,y1=0。对狼来说,当x=100,y=0,即对于y=y(x)函数来说,有y

4、x=100=0在t=0刚开始追击时,狼的奔跑方向朝向兔子,此时即x轴负方向,即有y’

5、x=100=0(一)建模准备101、追击方向的讨论由于狼始终朝向兔子,则在狼在时刻t所在位置P(x,y)点在狼的轨迹处的切线方向在y轴上的截距为y1。设切线上的动点坐标为(X,Y),则切线方程为Y–y=y’(X-x)(1)对于该方程是否有可利用的其它已

6、知条件?它与y轴的交点即为(0,y1),带入方程可得y1=y-y’x(2)且y1=v1t,即时刻t时兔子所跑过的路程。(二)建立模型11在t时刻,兔子跑过的路程为s1=y1=v1t(3)由于狼的速度是兔子的r倍,则狼跑的路程为s2=rs1=ry1(4)狼跑过的路程可以用对弧长的曲线积分知识得到(5)联立(2),(4),(5)得(6)(6)两边对x求导得(7)微分方程(7)式的初始条件有:y

7、x=100=0,y’

8、x=100=02、狼与兔子速度关系的建模12要判定狼最终是否追上兔子,可以通过(7)式判定。对(7)式,当x

9、=0,如果计算求解得到y≥60,则视为没有追上;当x=0,如果计算求解得到y<60,则视为兔子被追上;3、是否追上的判断13由微分方程得到其Matlab函数functionyy=odefunlt(x,y)%以狼在追击过程中的横坐标为自变量yy(1,1)=y(2);yy(2,1)=sqrt(1+y(2).^2)./(2.*x);模型求解14tspan=100:-0.1:0.1;%以狼的x坐标为自变量y0=[00];%下面只知道狼是否追上兔子,但是不易推得兔子刚刚到达窝边时,狼与兔之间的距离[T,Y]=ode45('ode

10、funlt',tspan,y0);n=size(Y,1);disp('狼的坐标(x=0.1)')disp(Y(n,1))%通过追击曲线计算当狼的横坐标为0.1(即tspan=0.1)时,狼的纵坐标主程序15运行结果:狼的坐标(x=0.1)62.1932由运行结果可知,狼并没有追上兔子。模型结果与分析16通过上面的结果已经知道狼并没有追上兔子。那么兔子跑回窝边时,狼与兔子之间的距离是多少?思考题解决思路可以对狼与兔子的追击过程通过计算机进行模拟,然后从模拟结果获取。17functionsim_langtu%《狼兔追击问题

11、》(离散建模)%这里没有具体考虑狼、兔的具体速度%主要通过二者的速度倍速关系及方向向量奔跑过程Q=[00];%兔子坐标P=[1000];%狼坐标PQ=Q-P;%狼兔方向向量step=1;%模拟步长:兔子奔跑的距离,step越小就越精确count=60/step;%以兔子的奔跑距离划分PQ=PQ/norm(PQ)*step;%归一化,单位向量trackP=P;trackQ=Q;模拟程序如下,程序文件名sim_langtu.m:18fork=1:count;P=P+2*PQ;%2倍速度Q=Q+step*[01];%[01]

12、为兔子奔跑方向的单位方向向量PQ=Q-P;trackP(1+k,:)=P;%存储所有60个向量trackQ(1+k,:)=Q;PQ=PQ/norm(PQ)*step;%归一化,单位向量dis=sqrt(sum((P-Q).^2));plot(trackP(:,1),trackP(:,2),'*',Q(1),Q(2),'rp',0,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。