您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 市场营销 > 8.27课上数学建模案例分析
数学建模案例微分方程模型实验目的实验内容1.学会用MATLAB分析求解微分方程模型.2.实验作业.1.数学建模实例.鸭子过河问题慢跑者与狗的问题导弹追踪问题•为什么要建立模型来解决问题呢?•我认为可用“曹冲称象”的例子来说明,如图3。•••大象石头大象重量石头重量变图3小称思想方法的体现奥妙之一:直接去研究、解决问题(图中沿虚线路径),往往很困难,有许多局限性。建立模型是变“直接”为“间接”,能克服局限性,富于智慧。例如没有大秤不能直接称大象,将大象变成石头,对于大象重量而言,这些石头就是大象的模型,问题简化了,就可以用小秤来称大象了;奥妙之二:是同一问题,模型可以多种,充满灵活性,如大象“变成”木头也可以;奥妙之三:是建立模型解决问题如“大象”变“石头”说明模型不是死板地“照像”,而是能充分发挥人的能动性,如可以简化问题、突出重点,又如可以猜想、创造等等。示例1鸭子过河有只鸭子想游到河对岸的某个位置O,如果它的方向始终朝着目标O。求这只鸭子的游动曲线。模型假设1.假设河的两岸为平行直线,河宽为h;2.鸭子游水的速率为b,水流速率为a,均为常数;3.初始时鸭子的位置为A;4.鸭子游动的方向始终指向O.模型建立取O为坐标原点,河岸朝顺水方向为x轴,y轴指向对岸。关键是如何求出P点坐标(x,y)关于时刻t的表达式.t时刻鸭子本身的速度为河水速度为所以合速度为),,(||22yxyxbPObbPO),0,(aa),,(2222yxbyyxbxabav即又由初始条件有(1.1)(1.2)就是所求问题的一个微分方程模型。.)0(,0)0(hyx(1.2),dd,dd2222yxbytyyxbxatx(1.1)模型求解设时间步长为Δt,则,2,1,),(),,(),,(),,0(),(11212112121110000itvPyxPyxbyyxbxavbavhyxPiiiiiiiiiiii(1.3)当yi0时,说明鸭子已经到达河对岸,应停止计算.由(1.3)可以算出ti时刻鸭子的位置的近似值.ixiyiixiyi1010122.01203.592820.30009.4000132.01883.069330.58098.8003141.98912.568040.84138.2016151.92172.093751.08017.6047161.81601.651661.29577.0107171.67211.247971.48676.4207181.49130.889181.65135.8362191.27590.581891.78805.2588201.03000.3329101.89494.6908210.75910.1484111.97014.1344220.47020.0333例如取a=1,b=2,h=10,Δt=0.3,则求得结果为计算(1.3)的Matlab代码a=1;b=2;h=10;dt=0.3;i=1;p=[0,h];whilep(2)0i=i+1;v=[a-b.*p(1)./sqrt(p(1).^2+p(2).^2),-b.*p(2)./sqrt(p(1).^2+p(2).^2)];p=p+v.*dt;holdonplot(p(1),p(2),'p')endp所求得的鸭子经过的路线如右图所示。慢跑者与狗一个慢跑者在平面上沿椭圆以恒定的速率v=1跑步,设椭圆方程为:x=10+20cost,y=20+5sint.突然有一只狗攻击他.这只狗从原点出发,以恒定速度跑向慢跑者,狗的运动方向始终指向慢跑者.分别求出=20,=5时狗的运动轨迹.1.模型建立设t时刻慢跑者的坐标为(X(t),Y(t)),狗的坐标为(x(t),y(t)).则X=10+20cost,Y=20+15sint.1.设狗的速度恒为,222)()(dtdydtdx则(1)2.由于狗的运动方向始终指向慢跑者,故狗的速度平行于慢跑者与狗的位置的差向量,即,yYxXdtdydtdx0(2)消去参数2222d(1020cos)d(1020cos)(2015sin)d(2015sin)d(1020cos)(2015sin)(0)0,(0)0xwtxttxtyywtyttxtyxy,可得狗的运动轨迹的参数方程2.模型求解(1)w=20时,建立M文件eq3.m如下:functiondy=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',[t0tf],[00]);T=0:0.1:2*pi;X=10+20*cos(T);Y=20+15*sin(T);plot(X,Y,'-')holdonplot(y(:,1),y(:,2),'*')在chase3.m中,不断修改tf的值,分别取tf=5,2.5,3.5,…,至3.15时,狗刚好追上慢跑者.ToMATLAB(chase3)建立M文件eq4.m如下:functiondy=eq4(t,y)dy=zeros(2,1);dy(1)=5*(10+20*cos(t)-y(1))/sqrt((10+20*cos(t)-y(1))^2+(20+15*sin(t)-y(2))^2);dy(2)=5*(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,建立主程序chase4.m如下:t0=0;tf=10;[t,y]=ode45('eq4',[t0tf],[00]);T=0:0.1:2*pi;X=10+20*cos(T);Y=20+15*sin(T);plot(X,Y,'-')holdonplot(y(:,1),y(:,2),'*')在chase3.m中,不断修改tf的值,分别取tf=20,40,80,…,可以看出,狗永远追不上慢跑者.ToMATLAB(chase4)(2)w=5时返回导弹追踪问题设位于坐标原点的甲舰向位于x轴上点A(1,0)处的乙舰发射导弹,导弹头始终对准乙舰.如果乙舰以最大的速度v0(常数)沿平行于y轴的直线行驶,导弹的速度是5v0,求导弹运行的曲线方程.乙舰行驶多远时,导弹将它击中?解法一(解析法)假设t时刻导弹的位置为P(x(t),y(t)),乙舰位于),1(0tvQ.由于导弹头始终对准乙舰,故此时直线PQ就是导弹的轨迹曲线弧OP在点P处的切线,即有xytvy1'0即yyxtv')1(0(1)又根据题意,弧OP的长度为AQ的5倍,即2001'd5xyxvt(2)由(1),(2)消去t,整理得模型:(3)'151)1(2yyx初值条件为:0)0(y0)0('y其解即为导弹的运行轨迹:245)1(125)1(855654xxy当1x时245y,即当乙舰航行到点)245,1(处时被导弹击中.被击中时间为:00245vvyt.若v0=1,则在t=0.21处被击中.轨迹见下图解法二(数值解法)1.建立M文件eq1.mfunctiondy=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',[x0xf],[00]);plot(x,y(:,1),'b')holdony=0:0.01:2;plot(1,y,'*r')结论:导弹大致在(1,0.2)处击中乙舰.ToMATLAB(ff6)2151'')1(yyx)1/(151''21221xyyyy令y1=y,y2=y1’,将方程(3)化为一阶微分方程组.解法三(建立参数方程求数值解)设时刻t乙舰的坐标为(X(t),Y(t)),导弹的坐标为(x(t),y(t)).1.设导弹速度恒为w,则222dd()()ddxywtt(1)2.由于弹头始终对准乙舰,故导弹的速度平行于乙舰与导弹头位置的差向量,即:ddddxXxtyYyt,0(2)消去λ得:2222d()d()()d()d()()xwXxtXxYyywYytXxYy(3)3.因乙舰以速度v0沿直线x=1运动,设v0=1,则w=5,X=1,Y=t.因此导弹运动轨迹的参数方程为:2222d5(1)d(1)()d5()d(1)()(0)0,(0)0xxtxtyytytxtyxy4.解导弹运动轨迹的参数方程建立M文件eq2.m如下:functiondy=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',[02],[00]);Y=0:0.01:2;plot(1,Y,'-'),holdonplot(y(:,1),y(:,2),'*')ToMATLAB(chase2)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)处击中乙舰.ToMATLAB(chase2)实验作业1.自己分析解答课本中的食饵模型案例.2.今天课上的案例自己分析做一下。返回返回
本文标题:8.27课上数学建模案例分析
链接地址:https://www.777doc.com/doc-4417624 .html