数学模型之慢跑者与狗
- 格式:doc
- 大小:170.00 KB
- 文档页数:4
院系:数学学院专业:信息与计算科学年级:2014级学生姓名:***学号:************ 教师姓名:徐霞6.6 习题3.一个慢跑者在平面上沿着他喜欢的路径跑步,突然一只狗攻击他,这只狗以恒定速率跑向慢跑者,狗的运动方向始终指向慢跑者,计算并画出狗的轨迹。
解:(1)模型分析建立:狗的轨迹:在任意时刻,狗的速度向量都指向它的目标慢跑者。
假设1:慢跑者在某路径上跑步,他的运动由两个函数X(t)和Y(t)描述。
假设2:当t=0时,狗是在点(x0,y0)处,在时刻t时,它的位置是(x(t),y(t))那么下列方程成立:(1)狗以恒定速率跑: X’2+y’2=w2(2) 狗的速度向量平行于慢跑者与狗的位置的差向量:将上述方程带入等式:,可得:再将λ代入第二个方程,可得狗的轨迹的微分方程:(2)程序及结果dog函数[dog.m]function [zs,isterminal,direction] = dog(t,z,flag)global w;% w=speed of the dogX=jogger(t);h = X-z;nh=norm(h);if nargin<3 || isempty(flag)zs=(w/nh)*h;elseswitch(flag)case'events'zs = nh-1e-3;isterminal = 1;direction = 0;otherwiseerror(['Unknow flag:' flag]);end慢跑者的运动轨迹方程,水平向右[jogger.m]function s = jogger(t);s = [8*t;0];标记的函数[cross.m]function cross(Cx,Cy,v)Kx = [Cx Cx Cx Cx-v Cx+v];Ky = [Cy Cy+2.5*v Cy+1.5*v Cy+1.5*v Cy+1.5*v] plot(Kx,Ky);plot(Cx,Cy,'o');主程序:静态显示[main1.m]global wy0 = [60;70];w=10;options = odeset('RelTol',1e-5,'Events','on'); [t,Y] = ode23('dog',[0,20],y0,options);clf;hold on;axis([-10,100,-10,70]);plot(Y(:,1),Y(:,2));J=[];for h=1:length(t),w = jogger(t(h));J=[J;w'];endplot(J(:,1),J(:,2),':');p = max(size(Y));cross(Y(p,1),Y(p,2),2)hold off;动态显示[main2.m]global w;y0=[60;70];w=10;options = odeset('RelTol',1e-5,'Events','on'); [t,Y]=ode23('dog',[0,20],y0,options); J=[]; for h=1:length(t);w= jogger(t(h));J=[J;w'];xmin = min(min(Y(:,1)),min(J(:,1)));xmax = max(max(Y(:,1)),max(J(:,1)));ymin = min(min(Y(:,2)),min(J(:,2)));ymax = max(max(Y(:,2)),max(J(:,2)));clf;hold on;axis([xmin-10 xmax ymin-10 ymax]);title('The jogger and the Dog');for h = 1:length(t)-1,plot([Y(h,1),Y(h+1,1)],[Y(h,2),Y(h+1,2)],'-','Color','red','EraseMode ','none');plot([J(h,1),J(h+1,1)],[J(h,2),J(h+1,2)],'-','Color','green','EraseMo de','none');drawnow;pause(0.1);endplot(J(:,1),J(:,2),':');p = max(size(Y));cross(Y(p,1),Y(p,2),2)hold off;结果t=12.2761812635281,在12.27秒后狗追上慢跑者。
思考题1、请大家在暑假里思考以下几个题目;2、有条件地话.....(不强求).....把解答的电子版发给我:mror@ 或 sdcdmcm@ ;3、模型求解要求用软件或编程完成;4、祝大家假期愉快!1、广告策略一家公司拟在电视、广播和杂志上做广告,以尽可能多地招徕顾客。
下表是市场调查结果:50万元;白天电视广告至少播出3次,夜间电视广告至少播出2次;广播广告和杂志广告要重复5到10次。
试为该公司制定最佳的广告策略。
2、生产计划某工厂生产3种产品,需要使用3种资源:技术服务、劳动力和行政管理。
下表列出了3种单位产品对每种资源的需要量:(1)若产品III 值得生产,那么它的利润是多少?若将产品III 的单位利润变为325,求获利最大时的生产计划。
(2)确定3种资源的影子价格。
(3)如果生产一种新产品,该单位新产品需要技术服务1小时、劳动力4小时和行政管理4小时,预期单位利润为8,试重新制定生产计划。
(4)若产品III 的产量至少为10,试重新制定生产计划。
3、加工排序4、护士雇佣最少需雇佣多少护士?现在准备在海岛上建立一个服务中心,以便为居民提供各种服务,问:服务中心应该建在何处为最佳?6、投资组合年共12年间的年增长情况的数据:1943年初的价格的1.300倍,即年收益率为0.3(30%)。
其余依此类推。
某投资者在1955年初有一笔资金准备用于投资者三种股票,期望年收益率不低于15%。
问:该投资者应如何投资,才能使投资风险最小?7、新产品的研发决策某电子有限公司是一家集设计、开发、生产、销售一条龙服务的电子礼品专业公司。
在刚刚过去的一年中,公司销量明显少于历年平均水平,且管理费用及产品开发费用较以往大幅增加,导致总收入下降,净利润为负一百多万。
直接后果是公司目前可用于开发新产品的资金没有往年充足,更严重的是会影响到公司的生存与发展。
若销售量不能很快改善,管理层将会考虑削减公司的生产规模来降低生产总成本。
目录实训项目一线性规划问题及lingo软件求解 (1)实训项目二lingo中集合的应用…………………………………………。
7实训项目三lingo中派生集合的应用 (9)实训项目四微分方程的数值解法一 (13)实训项目五微分方程的数值解法二……………………………………。
.15实训项目六数据点的插值与拟合 (17)综合实训作品 (18)每次实训课必须带上此本子,以便教师检查预习情况和记录实验原始数据。
实验时必须遵守实验规则.用正确的理论指导实践袁必须人人亲自动手实验,但反对盲目乱动,更不能无故损坏仪器设备。
这是一份重要的不可多得的自我学习资料袁它将记录着你在大学生涯中的学习和学习成果.请你保留下来,若干年后再翻阅仍将感到十分新鲜,记忆犹新.它将推动你在人生奋斗的道路上永往直前!项目一:线性规划问题及lingo软件求解一、实训课程名称数学建模实训二、实训项目名称线性规划问题及lingo软件求解三、实验目的和要求了解线性规划的基本知识,熟悉应用LINGO解决线性规划问题的一般方法四:实验内容和原理内容一:某医院负责人每日至少需要下列数量的护士班次时间最少护士数1 6:00—10:00 602 10:00—14:00 703 14:00—18:00 604 18:00—22:00 505 22:00—02:00 206 02:00—06:00 30每班的护士在值班的开始时向病房报道,连续工作8个小时,医院领导为满足每班所需要的护士数,最少需要多少护士。
内容二:内容三五:主要仪器及耗材计算机与Windows2000/XP系统;LINGO软件六:操作办法与实训步骤内容一:考虑班次的时间安排,是从6时开始第一班,而第一班最少需要护士数为60,故x1>=60 ,又每班护士连续工作八个小时,以此类推,可以看出每个班次的护士可以为下一个班次工作四小时,据此可以建立如下线性规划模型:程序编程过程:min=x1+x2+x3+x4+x5+x6;x1〉=60;x1+x2〉=70;x2+x3>=60;x3+x4〉=50;x4+x5〉=20;x5+x6〉=30;编程结果:Global optimal solution found.Objective value:150.0000 Infeasibilities: 0。
精品文档院系:数学学院专业:信息与计算科学年级:2014 级学生姓名:王继禹学号:201401050335教师姓名:徐霞6.6 习题3.一个慢跑者在平面上沿着他喜欢的路径跑步,突然一只狗攻击他,这只狗以恒定速率跑向慢跑者,狗的运动方向始终指向慢跑者,计算并画出狗的轨迹。
解:(1)模型分析建立:狗的轨迹:在任意时刻,狗的速度向量都指向它的目标慢跑者。
假设 1:慢跑者在某路径上跑步,他的运动由两个函数 X(t)和 Y(t)描述。
假设 2:当 t=0 时,狗是在点 (x0,y0)处,在时刻 t 时,它的位置是 (x(t),y(t)) 那么下列方程成立:222(1)狗以恒定速率跑:X’+y’=w(2)狗的速度向量平行于慢跑者与狗的位置的差向量:将上述方程带入等式:,可得:再将λ代入第二个方程,可得狗的轨迹的微分方程:(2)程序及结果dog 函数[dog.m]function[zs,isterminal,direction] = dog(t,z,flag)global w; % w=speed of the dogX=jogger(t);h = X-z;nh=norm(h);if nargin<3 || isempty(flag)zs=(w/nh)*h;elseswitch (flag)case 'events'zs = nh-1e-3;isterminal = 1;direction = 0;otherwiseerror(['Unknow flag:'flag]);endend慢跑者的运动轨迹方程,水平向右[jogger.m]function s = jogger(t);s = [8*t;0];标记的函数[cross.m]function cross(Cx,Cy,v)Kx = [Cx Cx Cx Cx-v Cx+v];Ky = [Cy Cy+2.5*v Cy+1.5*v Cy+1.5*v Cy+1.5*v]plot(Kx,Ky);plot(Cx,Cy,'o' );主程序:静态显示[main1.m]global wy0 = [60;70];w=10;options = odeset('RelTol',1e-5,'Events', 'on' ); [t,Y] = ode23('dog' ,[0,20],y0,options);clf;hold on ;axis([-10,100,-10,70]);plot(Y(:,1),Y(:,2));J=[];for h=1:length(t),w = jogger(t(h));J=[J;w'];endplot(J(:,1),J(:,2),':');p = max(size(Y));cross(Y(p,1),Y(p,2),2)hold off ;动态显示[main2.m]global w;y0=[60;70];w=10;options = odeset('RelTol',1e-5,'Events', 'on' ); [t,Y]=ode23('dog' ,[0,20],y0,options); J=[];for h=1:length(t);w= jogger(t(h));J=[J;w'];endxmin = min(min(Y(:,1)),min(J(:,1)));xmax = max(max(Y(:,1)),max(J(:,1)));ymin = min(min(Y(:,2)),min(J(:,2)));ymax = max(max(Y(:,2)),max(J(:,2)));clf;hold on ;axis([xmin-10 xmax ymin-10 ymax]);title('The jogger and the Dog');for h = 1:length(t)-1,plot([Y(h,1),Y(h+1,1)],[Y(h,2),Y(h+1,2)],'-', 'Color', 'red', 'EraseMode ' , 'none');plot([J(h,1),J(h+1,1)],[J(h,2),J(h+1,2)],'-', 'Color', 'green', 'EraseMo de', 'none');drawnow;pause(0.1);endplot(J(:,1),J(:,2),':' );p = max(size(Y));cross(Y(p,1),Y(p,2),2)hold off;结果t=12.2761812635281,在 12.27 秒后狗追上慢跑者。
奔跑中的小狗星期天,我正在房间里玩小狗赛车游戏,爸爸走进来对我说既然你这么喜欢小狗赛车游戏,我就出一道关于小狗的数学题,你做做看。
我想:为了玩小狗赛车游戏,花费点脑细胞,值。
题目是这样的,在一次赛车活动中,跑进了一只狗,在赛道上拼命地往前跑,三辆赛车同时从同一起点出发,第一辆车6分钟追上小狗,第二辆车10分钟追上小狗,第三辆车12分钟追上小狗,已知第一辆每分钟跑400米,第二辆每分钟跑300米,求第三辆车的速度。
刚听完题目,我想这不容易吗,只要利用第一辆车的速度和追上小狗的时间,就能算出小狗距离出发点的距离,也就能算出第三辆车的速度了。
可一想,不对呀,小狗是在不停地跑的。
我思索片刻,想必须先算出小狗跑的速度。
第一辆车追上小狗时,跑了400×6=2400米,第二辆车追上小狗时,跑了300×10=3000米,它们相差的距离正也是小狗在这4分钟跑的距离,那么小狗跑的速度=(3000-2400)÷(10-6)=150米/分钟。
那么第三辆车追上小狗时,又比第二辆车多跑了150×2=300米,共跑了3000+300=3300米,第三辆的速度就为3300÷12=275米/分钟。
于是,我把思路讲给爸爸听,爸爸听了笑了笑说:“我再出一道关于小狗的数学题,这可是外国数学家出给我国著名的数学家苏步青做的。
”也许是第一道题的成功让我有了自信,我信心十足地说:“请出题!”题目是:甲、乙两人同时从两地出发,相向而行,距离是100千米。
甲每小时行6千米,乙每小时行4千米。
甲带着一只狗,狗每小时行10千米。
这只狗同甲一道出发,碰到乙的时候,它就掉头朝甲这边走,碰到甲时又往乙那边走,直到两人相遇。
这只狗一共走了多少千米?听完题目,我在纸上画了一个图,想按照前面一题的思路,先分段算出狗跑的路程,再求出所分路段的和,可是几次下来,小狗没跑累,我的头却被搞糊涂了。
爸爸在旁边看着我冥思苦想的样子,提示我说:“要从整体考虑。
在下面的题目中选做100分的题目,给出详略得当的答案。
一.通过举例简要说明数学建模的一般过程或步骤。
(15分)答:建立数学模型的方法大致有两种,一种是实验归纳的方法,即根据测试或计算数据,按照一定的数据,按照一定的数学方法,归纳出系统的数学模型;另一种是理论分析的方法,具体步骤有五步(以人口模型为例):1、明确问题,提出合理简化的假设:首先要了解问题的实际背景,明确题目的要求,收集各种必要的信息2、建立模型:据所做的假设以及事物之间的联系,构造各种量之间的关系。
(查资料得出数学式子或算法)。
3、模型求解:利用数学方法来求解上一步所得到的数学问题,此时往往还要做出进一步的简化或假设。
注意要尽量采用简单的数学公具。
例如:马尔萨斯模型,洛杰斯蒂克模型4、模型检验:根据预测与这些年来人口的调查得到的数目进行对比检验5、模型的修正和最后应用:所建立的模型必须在实际应用中才能产生效益,根据预测模型,制定方针政策,以实现资源的合理利用和环境的保护。
二.把一张四条腿等长的正方形桌子放在稍微有些起伏的地面上,通常只有三只脚着地,然而只需稍为转动一定角度,就可以使四只脚同时着地,即放稳了。
(1) 请用数学模型来描述和证明这个实际问题; (2)讨论当桌子是长方形时,又该如何描述和证明?(15分)答:模型假设:1.椅子四条腿一样长,椅脚与地面的接触部分相对椅子所占的地面面积可视为一个点。
2.地面凹突破面世连续变化的,沿任何方向都不会出现间断(没有向台阶那样的情况),即地面可看作数学上的连续曲面。
3.相对椅脚的间距和椅子腿的长度而言,地面是相对平坦的,即使椅子在任何位置至少有三条腿同时着地。
4.椅子四脚连线所构成的四边形是圆内接四边形,即椅子四脚共圆。
5.挪动仅只是旋转。
我们将椅子这两对腿的交点作为坐标原点,建立坐标系,开始时AC、BD这两对腿都在坐标轴上。
将AC和BD这两条腿逆时针旋转角度θ。
记AC到地面的距离之和为f(θ)。
慢跑者与狗1.问题的提出一个慢跑者在平面上沿椭圆以恒定的速率v=1跑步,设椭圆方程为:x=10+20cost, y=20+5sint.突然有一只狗攻击他. 这只狗从原点出发,以恒定速率w 跑向慢跑者,狗的运动方向始终指向慢跑者.分别求出w=20,w=5时狗的运动轨迹.2. 模型建立设时刻t 慢跑者的坐标为(X(t),Y(t)),狗的坐标为(x(t),y(t)).则X=10+20cost, Y=20+15sint, 狗从(0,0)出发,建立狗的运动轨迹的参数方程:3. 模型求解3.13.1.1w=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);3.1.2再取t0=0,tf=10,输入如下命令:[t,y]=ode45('eq3',[0,10],[0;0]);T=0:0.1:2*pi;X=10+20*cos(T);Y=20+15*sin(T);plot(X,Y,'-')plot(y(:,1),y(:,2),'r*')相应图形如下图一所示:⎪⎪⎪⎩⎪⎪⎪⎨⎧==-+-++-+=-+-++-+=0)0( ,0)0()sin 1520()sin 1520()cos 2010()cos 2010()sin 1520()cos 2010(2222y x y t y t x t w dt dy x t y t x t w dt dx图1. w=20时小狗与慢跑者的运动轨迹3.1.3在3.1.2所示命令中不断修改tf的值,二分法分别取tf=5,2.5,3.75,…,至3.15时,狗刚好追上慢跑者。
数学实验报告实验序号:实验一日期:实验序号:实验二日期:实验序号: 实验三 日期:班级 姓名 学号实验 名称架设电缆的总费用问题背景描述:一条河宽1km ,两岸各有一个城镇A 与B ,A 与B 的直线距离为4km ,今需铺设一条电缆连接A 于B ,已知地下电缆的铺设费用是2万元/km ,水下电缆的修建费用是4万元/km 。
实验目的:通过建立适当的模型,算出如何铺设电缆可以使总花费最少。
数学模型:如图中所示,A-C-D-B 为铺设的电缆路线,我们就讨论a=30度,AE (A 到河岸的距离)=0.5km ,则图中:DG=4-AC cos b -1/tan c ; BG=0.5km AC=AE/sin bCD=EF/sin c=1/sin c BD=BG D 22G则有总的花费为:W=2*(AC+BD )+4*CD ;我们所要做的就是求最优解。
实验所用软件及版本:Matlab 7.10.0实验序号: 实验四 日期:班级 姓名 学号实验 名称慢跑者与狗问题背景描述:一个慢跑者在平面上沿曲线25y x 22=+以恒定的速度v 从(5,0)起逆时钟方向跑步,一直狗从原点一恒定的速度w ,跑向慢跑者,在运动的过程中狗的运动方向始终指向慢跑者。
实验目的:用matlab 编程讨论不同的v 和w 是的追逐过程。
数学模型:人的坐标为(manx,many ),狗的坐标为(dogx,dogy ),则时间t 时刻的人的坐标可以表示为manx=R*cos(v*t/R); many=R*sin(v*t/R);sin θ=| (many-dogy)/sqrt((manx-dogx)^2+(many-dogy)^2)|;cos θ=| (manx-dogx)/sqrt((manx-dogx)^2+(many-dogy)^2)|;则可知在t+dt 时刻狗的坐标可以表示为:dogx=dogx(+/-)w* cos θ*dt; dogy=dogy(+/-)w* sin θ*dt; (如果manx-dogx>0则为正号,反之则为负号)实验所用软件及版本:Matlab 7.10.0实验序号:实验五日期:班级姓名学号两圆的相对滚动实验名称问题背景描述:有一个小圆在大圆内沿着大圆的圆周无滑动的滚动。
猎狗追兔问题的最简解法引言猎狗追兔问题是一个经典的数学问题,它涉及到猎狗追捕兔子的路径规划。
本文将探讨猎狗追兔问题的最简解法,通过分析猎狗和兔子的行为特点和数学模型,找到一种高效且简单的解决方案。
问题描述假设有一只猎狗和一只兔子,它们在一个平面上移动。
猎狗的速度恒定且大于兔子的速度,兔子可以在任意方向上移动。
猎狗的目标是尽快捕捉到兔子,而兔子的目标是尽可能逃离猎狗的追捕。
数学模型为了找到猎狗追兔问题的最简解法,我们需要建立一个数学模型来描述猎狗和兔子的运动规律。
假设猎狗的速度为V_d,兔子的速度为V_r,猎狗和兔子的初始位置分别为P_d和P_r。
猎狗的策略猎狗的目标是尽快捕捉到兔子,因此它应该始终朝着兔子的方向移动。
根据数学模型,猎狗每一时刻的位置可以通过以下公式计算:P_d(t) = P_d(0) + V_d * t * (P_r - P_d) / |P_r - P_d|其中,P_d(t)表示猎狗在时刻t的位置,P_d(0)表示猎狗的初始位置,P_r表示兔子的位置,|P_r - P_d|表示猎狗和兔子之间的距离。
兔子的策略兔子的目标是尽可能逃离猎狗的追捕,因此它应该选择能够最大程度延长与猎狗的距离的移动方向。
根据数学模型,兔子每一时刻的位置可以通过以下公式计算:P_r(t) = P_r(0) + V_r * t * (P_r - P_d) / |P_r - P_d|其中,P_r(t)表示兔子在时刻t的位置,P_r(0)表示兔子的初始位置,P_r表示兔子的位置,|P_r - P_d|表示猎狗和兔子之间的距离。
简化问题为了找到猎狗追兔问题的最简解法,我们可以做一些简化。
假设猎狗和兔子的初始位置相同,即P_d(0) = P_r(0),并且猎狗的速度远大于兔子的速度,即V_d >>V_r。
在这种情况下,猎狗几乎可以立即捕捉到兔子,因此我们只需要考虑猎狗和兔子的初始位置和速度差异。
最简解法根据上述简化问题的假设,我们可以得出猎狗追兔问题的最简解法:猎狗直接向兔子的位置移动,速度为V_d。
第一章第5题一个男孩和一个女孩分别在离家2km和1km且方向相反的两所学校里上学,每天同时放学后分别以2km/h和1km/h的速度步行回家。
一只小狗以6km/h的速度由男孩奔向女孩,又从女孩处跑向跑回男孩处,如此往返的奔跑,直至回到家中。
问小狗总共奔波了多少路程?解:由于男孩、女孩与小狗跑的时间一样,所以把时间设为t,则有2t+1t=3,得到t=1h。
所以小狗跑了6km/h*1h=6km。
第一章10题一位探险家必须穿过一片宽度为800 km的沙漠,他仅有的交通工具是一辆每升汽油可行驶10km的吉普车.吉普车的油箱可装10升汽油。
另外吉普车上可携带8个可装5升汽油的油桶,也就是说,吉普车最多可带50升汽油(最多能在沙漠中连续行驶500 km)。
现假定在探险家出发地的汽油是无限充足的.问这位保险家应怎样设计他的旅行才能通过此沙漠?他要通过沙漠所需的汽油最少是多少升?为了穿越这片800km宽的沙漠,他总共需要行驶多少公里路程。
总共要花费多少升的汽油?思路:1、若沙漠只有500公里或者更短,这时很简单,一次搞定。
2、若沙漠有550km,怎么办?需要保证的是:车到了离沙漠终点还有500km的地方,能恰恰加满油且不会有多余。
方案可为:600-550=50,从起点处加5*3(升)=15升油,开出50km,设一加油站,存下5升,剩下5升刚好使得汽车返回起点。
再在起点处加满50升油,到加油站时,只乘45升了,把存放在那儿的5升油加上。
则可跑出沙漠。
(这样共加油15+50=65,总路程为150+500=650km)3、再看2的情况,符合这种情况的沙漠的最大距离是多少呢:答案是500*(1+1/3)公里。
即在起点准备100升油,第一次装50升,跑了500/3公里后存放50*1/3升油,然后返回起点,这时车里的油也正好用完,然后再在起点处装50升,跑了550/3公里后,车内剩下(50*2/3)升油,再加上存放的50*1/3升油,恰好为50升油,则可跑出沙漠。
院系: 数学学院专业: 信息与计算科学年级: 2014级学生姓名: 王继禹学号: 2教师姓名: 徐霞6、6 习题3、一个慢跑者在平面上沿着她喜欢的路径跑步,突然一只狗攻击她,这只狗以恒定速率跑向慢跑者,狗的运动方向始终指向慢跑者,计算并画出狗的轨迹。
解:(1)模型分析建立:狗的轨迹:在任意时刻,狗的速度向量都指向它的目标慢跑者。
假设1:慢跑者在某路径上跑步,她的运动由两个函数X(t)与Y(t)描述。
假设2:当t=0时,狗就是在点(x0,y0)处,在时刻t时,它的位置就是(x(t),y(t))那么下列方程成立:(1)狗以恒定速率跑: X’2+y’2=w2(2) 狗的速度向量平行于慢跑者与狗的位置的差向量:将上述方程带入等式:,可得:再将λ代入第二个方程,可得狗的轨迹的微分方程:(2)程序及结果dog函数[dog、m]function [zs,isterminal,direction] = dog(t,z,flag) global w;% w=speed of the dogX=jogger(t);h = X-z;nh=norm(h);if nargin<3 || isempty(flag)zs=(w/nh)*h;elseswitch(flag)case'events'zs = nh-1e-3;isterminal = 1;direction = 0;otherwiseerror(['Unknow flag:' flag]);endend慢跑者的运动轨迹方程,水平向右[jogger、m]function s = jogger(t);s = [8*t;0];标记的函数[cross、m]function cross(Cx,Cy,v)Kx = [Cx Cx Cx Cx-v Cx+v];Ky = [Cy Cy+2、5*v Cy+1、5*v Cy+1、5*v Cy+1、5*v] plot(Kx,Ky);plot(Cx,Cy,'o');主程序:静态显示[main1、m]global wy0 = [60;70];w=10;options = odeset('RelTol',1e-5,'Events','on');[t,Y] = ode23('dog',[0,20],y0,options);clf;hold on;axis([-10,100,-10,70]);plot(Y(:,1),Y(:,2));J=[];for h=1:length(t),w = jogger(t(h));J=[J;w'];endplot(J(:,1),J(:,2),':');p = max(size(Y));cross(Y(p,1),Y(p,2),2)hold off;动态显示[main2、m]global w;y0=[60;70];w=10;options = odeset('RelTol',1e-5,'Events','on');[t,Y]=ode23('dog',[0,20],y0,options); J=[];for h=1:length(t);w= jogger(t(h));J=[J;w'];endxmin = min(min(Y(:,1)),min(J(:,1)));xmax = max(max(Y(:,1)),max(J(:,1)));ymin = min(min(Y(:,2)),min(J(:,2)));ymax = max(max(Y(:,2)),max(J(:,2)));clf;hold on;axis([xmin-10 xmax ymin-10 ymax]);title('The jogger and the Dog');for h = 1:length(t)-1,plot([Y(h,1),Y(h+1,1)],[Y(h,2),Y(h+1,2)],'-','Color','red','EraseMode ','none');plot([J(h,1),J(h+1,1)],[J(h,2),J(h+1,2)],'-','Color','green','EraseMo de','none');drawnow;pause(0、1);endplot(J(:,1),J(:,2),':');p = max(size(Y));cross(Y(p,1),Y(p,2),2)hold off;结果t=12、2761812635281,在12、27秒后狗追上慢跑者。
基本操作(任选三题)( 1)求当 x =1, y =2 时的z 值。
其中:(2)利用 for 循环求 1!+2!+3!…+20!的值。
(3)用 while 循环求 1~200 之间的整数之和。
(4)编写一个 M 文件,画出下列分段函数所表示的曲面。
( 5)用曲面图命令 surf 表现函数 的图像。
( 6)绘制颜色为蓝色,数据点用五角星标识的下述函数在(0,5)上的虚线图。
(7)编写一个 M 文件,画出下列分段函数所表示的曲面。
(8)、用plot 、fplot 绘制函数y=cos(tan(πx))图形 (9)、用ezplot 绘制函数exy-sin(x+y)=0在[-3,3]上图形。
(10)、在同一平面中的两个窗口分别画出心形线和马鞍面。
要求 (1)、在图形上加格栅、图例和标注 (2)、定制坐标 (3)、以不同角度观察马鞍面基本建模题(任选两题)问题一 : 任务分配问题:某车间有甲、乙两台机床,可用于加工三种工件。
假定这两台车床的可用台时数分别为800和900,三种工件的数量分别为400、600和500,且已知用三种不同车床加工单位数量不同工件所需的台时数和加工费用如下表。
问怎样分配车床的加工任务,才能既满足加工工件的要求,又使加工费用最低?13sin 25457.0145.175.375.0222-++=---y e x z xy x ⎪⎩⎪⎨⎧-≤+≤+<->+=+-------15457.011 7575.0154.0),(5.175.375.065.175.375.0222222y x e y x e y x e y x p y y x y x y y x xxey sin =22y x z +=⎪⎩⎪⎨⎧-≤+≤+<->+=+-------1 5457.011 7575.01 54.0),(5.175.375.065.175.375.0222222y x e y x e y x e y x p y y x y x y y x问题二: 某厂每日8小时的产量不低于1800件。
1.贷款问题小王夫妇计划贷款20万元购买一套房子,他们打算用20年的时间还清贷款。
目前,银行的利率是0.6%/月。
他们采用等额还款的方式(即每月的还款额相同)偿还贷款。
(1)在上述条件下,小王夫妇每月的还款额是多少?共计付了多少利息?(2)在贷款满5年后,他们认为他们有经济能力还完余下的款额,打算提前还贷,那么他们在第6年初,应一次付给银行多少钱,才能将余下全部的贷款还清?(3)如果在第6年初,银行的贷款利率由0.6%/月调到0.8%/月,他们仍然采用等额还款的方式,在余下的15年内将贷款还清,那么在第6年后,每月的还款额应是多少?(4)某借贷公司的广告称,对于贷款期在20年以上的客户,他们帮你提前三年还清贷款。
但条件是:(i)每半个月付款一次,但付款额不增加,即一次付款额是原付给银行还款额的1/2;(ii)因为增加必要的档案、文书等管理工作,因此要预付给借贷公司贷款总额10%的佣金。
试分析,小王夫妇是否要请这家借贷公司帮助还款。
解答:(1)贷款总月数为N=20*12=240,第240个月的欠款额为0,即。
利用式子(元),即每个月还款1574.70元,共还款(元),共计付利息177928.00元。
(2)贷款5年(即5*12=60个月)后的欠款额为,利用公式:,所以,(元)(3)元,即第六年初,贷款利率,所以余下的15年,每个月还款额为:(元)(4)按照借贷公司的条件(i)每半个月付款一次,但付款额不增加,即一次付款额是原付给银行还款额的,付款的时间缩短,但是前17年的付款总额不变。
帮忙提前三年还清需要资金数:。
对于条件(ii)佣金数:分析:因为预付佣金20000元,按照银行存款利率/月,17年的存款本息为即在第17年需要给付借贷公司的钱少于给付银行的钱。
所以建议请这家借贷公司帮助还款。
2.冷却定律与破案按照Newton冷却定律,温度为T的物体在温度为的环境中冷却的速度与温差成正比。
用此定律建立相应的微分方程模型。
一男孩和一女孩分别在离家2km和1km且方向相反的两所学校上学,每天同时放学后分别以4km和2km的速度步行回家。
一小狗以6km的速度又男孩处奔向女孩,又从女孩处奔向男孩,如此往返直至回到家中。
问小狗奔波了多少路程。
模型假设:对人,狗,学校及家做出一定的假设
1.人,狗,家,及学校相对于行进路程都较小,可以看作质点;
2.男孩和女孩的家是在同一点,且和两个学校在同一直线上;
3.狗和人在运动过程中都没有体力消耗,速度保持不变。
模型构成:
设男孩速度v1,女孩的速度v2,狗的速度v3,
运动过程如下:
模型求解:v1=4km/h,v2=2km/h,v3=6km/h,
由于2÷v1=0.5h=1÷v2,
故两人同时到家,当两人到家的时候,狗也刚好到达家中停止运动
所以狗运动的时间t=0.5h,
狗奔波奔波的路程s=v3×t=3km
如果男孩和女孩上学时小狗也往返奔波在他们之间,问当他们到达学校时小狗在何处。
回家时,无论小狗是从男孩处还是从女孩处开始跑,狗和人都是同时到达家中。
上学时是放学时的逆过程,所以小狗最后刚好到达学校。
由于狗初始方向不确定,所以小狗最后的位置不确定是在男孩的学校还是女孩的学校。
慢跑者与狗
1.问题的提出
一个慢跑者在平面上沿椭圆以恒定的速率v=1跑步,设椭圆方程为:x=10+20cost, y=20+5sint.突然有一只狗攻击他. 这只狗从原点出发,以恒定速率w 跑向慢跑者,狗的运动方向始终指向慢跑者.分别求出w=20,w=5时狗的运动轨迹.
2. 模型建立
设时刻t 慢跑者的坐标为(X(t),Y(t)),狗的坐标为(x(t),y(t)).则X=10+20cost, Y=20+15sint, 狗从(0,0)出发,建立狗的运动轨迹的参数方程:
3. 模型求解
3.1
3.1.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);
3.1.2
再取t0=0,tf=10,输入如下命令:
[t,y]=ode45('eq3',[0,10],[0;0]);
T=0:0.1:2*pi;
X=10+20*cos(T);
Y=20+15*sin(T);
plot(X,Y,'-')
plot(y(:,1),y(:,2),'r*')
相应图形如下图一所示:
⎪⎪⎪⎩⎪⎪⎪⎨⎧==-+-++-+=-+-++-+=0
)0( ,0)0()sin 1520()sin 1520()cos 2010()cos 2010()sin 1520()cos 2010(2222y x y t y t x t w dt dy x t y t x t w dt dx
图1. w=20时小狗与慢跑者的运动轨迹
3.1.3
在3.1.2所示命令中不断修改tf的值,二分法分别取tf=5,2.5,3.75,…,至3.15时,狗刚好追上慢跑者。
此时的图像为:
图2. w=20时小狗刚好追上慢跑者的运动轨迹
附:相应程序段如下:
[t,y]=ode45('eq3',[0,3.15],[0;0]);
T=0:0.1:2*pi;
X=10+20*cos(T);
Y=20+15*sin(T);
plot(X,Y,'r*')
plot(X,Y,'b*',y(:,1),y(:,2),'r*')
3.2
3.2.1
w=5时,建立m-文件eq4.m如下:
function dy=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);
3.2.2
再取t0=0,tf=10,输入如下命令:
[t,y]=ode45('eq4',[0,10],[0;0]);
T=0:0.1:2*pi;
X=10+20*cos(T);
Y=20+15*sin(T);
plot(X,Y,'b+',y(:,1),y(:,2),'r*')
相应图形如下图三所示:
图3.w=5时小狗与慢跑者的运动轨迹
3.2.3
在3.2.2所示命令中不断修改tf的值,二分法分别取tf=20,40,80,…, 可以看出狗永远追不上上慢跑者。
此时的图像为:
注:+椭圆为慢跑者的轨迹,*线为狗的轨迹,随时间增加,狗沿着一个小椭圆奔跑,永远追不上人。
图4.w=5时小狗永远追不上慢跑者的运动轨迹附:相应程序段如下:
[t,y]=ode45('eq4',[0,800],[0;0]);
T=0:0.1:2*pi;
X=10+20*cos(T);
Y=20+15*sin(T);
plot(X,Y,'b+',y(:,1),y(:,2),'r*')。