为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > 3人绕三角形追逐问题的数学模型和matlab仿真

3人绕三角形追逐问题的数学模型和matlab仿真

2011-07-01 5页 pdf 217KB 102阅读

用户头像

is_107288

暂无简介

举报
3人绕三角形追逐问题的数学模型和matlab仿真 大学生论坛 《钔 陡 院 瓠 )2007年第4期 — 个多人追逐问题的数学模型和matlab仿真 黄会明 (铜陵学院,安徽 汪 燕 铜陵 244ooo) 摘 要:追逐 问题是现实生活 中的常见问题 ,本文就三人绕正三角形 的追逐 问题建立起 了两个数学模型 :一个充分应用运 动的周期性首先给出了三人共边的充要条件 ,然后直接给出在一个周期 内三人共边 的次数及起止时刻,另一个则 利用初等数论的方法给 出了三人共边的另一个充要条件 ;利用 matlab长于计 算和强大的绘 图功能,本文分别 给出 了求...
3人绕三角形追逐问题的数学模型和matlab仿真
大学生论坛 《钔 陡 院 瓠 )2007年第4期 — 个多人追逐问的数学模型和matlab仿真 黄会明 (铜陵学院,安徽 汪 燕 铜陵 244ooo) 摘 要:追逐 问题是现实生活 中的常见问题 ,本文就三人绕正三角形 的追逐 问题建立起 了两个数学模型 :一个充分应用运 动的周期性首先给出了三人共边的充要条件 ,然后直接给出在一个周期 内三人共边 的次数及起止时刻,另一个则 利用初等数论的给 出了三人共边的另一个充要条件 ;利用 matlab长于计 算和强大的绘 图功能,本文分别 给出 了求解两个模型的 matlab程序 ,通过 动画仿真演示三人绕正三角形 的追逐模 型,并给 出三者共边 的时间起止 点和 共边的次数。 关键词:追逐问题;数学模型;matlab程序;动画演示 中图分类号 :O156.1 文献标识码 :A 文章编号 :1672—0547(2007)04—01 19—05 1.引言及问题 当前数学建模竞赛在世界各 国开展得如火如荼 ,我国 也不例外。数学建模竞赛涉及到 自然科学、技术、经济、 管理等领域的方方面面,数学模型能为这些领域 中的很多 问题提供有力的数学上 的解答 .这正是数学建模竞赛 的生 命力之所在。本文解决 了如下一类多人追逐 问题,并实现 了 maflab仿真。甲乙丙三人绕着正三角形 ABC跑道(见图 1), 甲自顶点 B出发 。乙自顶点 C出 发,丙 自顶点 A出发,以同向(反时 针方 向)前进.设三 角形每边长 100米,甲每秒跑 10米 。乙每秒跑 8米 。丙每秒跑 5米。问在什么时 候开始三人第一次在三角形 的同 一 边上跑?什么时候第二次?第三 次?并推出什么时候第 20次? B(甲) 图 l C(乙) 本文为该 问题建立了两个数学模型 :一个利用运动的 周期性直接给 出在一个周期 内三人共边 的次数及起止时 刻 :另一个则利用初等数论的方法给出了三人共边的充要 条件 。并利用 matlab长于计算和强大 的绘图功能 。分别给 出了求解两个模型的 matlab程序 。通过动 画仿真演示三人 绕正三角形的追逐模型.并给出三者共边 的时间起止点和 共边的次数。 2.数学模型 易知,甲乙丙三人绕正三角形追逐运动是周期运动 ,我 们首先求其最小正周期 T。设在一个周期内。甲、乙、丙分别 绕正三角形 ABC奔跑的圈数为 k p,其中 k P为正整 数 ,则由时间速度位移关系。得 300k 300/ 300P 下 ■ , (1) 】0 8 5 ’ L1 使得(1)式成立 的最小正 整数只 能是 k=10,/=8,p=5, 所 以最小正周期 T_300s。 关于三人追逐共边 的问题 。只要我们把第一个周期内 的共边情况讨论清楚了.三人追逐共边的问题也就迎刃而 解 了。 首先我们给出如下两个结论: 定理 1 条件如问题所述.则甲乙丙在追逐过程中不 相逢于三角形上任何一点。 证明 前面我们 已经说明 。在所给条件下 甲乙丙追逐 运动是周期运动 。最小正周期 为 T=300s。所以我们只需讨 论第一个周期 内的情形就够了。在一个周期内,甲路程为 Sl=10x3OO=30OOm。刚好从顶点 B出发沿正三角形 ABC跑了 10圈回到 B,乙路程为 S2=8x300=2400m,刚好从顶点 C出发 沿正三 角形 ABC跑 了 8圈回到 C。丙路程 为 S~=5x300=1500m,刚 好 从 顶 点 A 出 发 沿 正 三 角 形 ABC跑了 5圈回到 A。假设 甲乙 丙相逢于正三 角形 ABC上反 时 针方向距离顶点 C m处 (见图 2),则 0~
明甲乙丙既不 相逢于 C点也不相逢于任何一点。 对上述问题证明的 matlab程序。 %甲的速度 是 10m/S,乙的速度是 8m/S,丙的速度 是 5m/s %此程序是验证甲乙丙在三边上任何一点都不相逢。 clear v=[]; for p=0:5 1=8·p,5; k=2 p; 、,=[v,(300·k-600·p-300=500·1-800·P一1600/3=1200 ·k-1500·1+4oo)]; end %若 v为 O说 明方程组无解 、,==、, 定理 2 条件如问题所述 。则 (1)甲乙在追逐过程 中相逢且只能相逢于顶点 A; (2)乙丙在追逐过程中不相逢于任何一顶点 ; (3)丙甲在追逐过程 中相逢且只能相逢于顶点 C; 证明:(1)证 明甲乙只能相逢于顶点 A。在一个周期 内 ,甲路程 为 Sl=10x300=3000m,刚好 从顶点 B出发沿正 三角 形 ABC跑 了 1O圈 回 到 B,乙 路程 为 =8x300= 2400m.刚好从顶点 C出发沿正三角形 ABC跑了 8圈回到 C。假设甲乙相逢于正三角形 ABC上反时针方向距离顶点 A m处(见图 3),则 0~x<300。假设甲跑 了k圈到达相逢 点 .乙跑了 Z圈到达相逢点 。则 k.Z为整数。且分别取值为 k--O, 1,2,3,4,5,6,7,8,9;l--0,1,2,3, 4。5,6,7;此 时 甲所 走 路 程 为 300k+200 . 乙所 走 路 程 为 3001+100+x。由路程 速度 的关 系.我们可得如下方程: 3oo,+】oo+ 8 B(甲) 图 3 C(乙) 。 。。 。。’ —— ‘‘ 。。 。’ ’⋯ - 3oo.i}+2oo+ l0 对 k,Z用穷举法 ,解得 x--0,这表明甲乙只能相逢于顶 点 A。 同理可证明(2)(3)成立。 模型一 由上述定理,甲乙丙三人不能在任意点上相 逢,所以,稍加分析即知,甲乙丙在运动过程中共边当且仅 当下述情形之一发生 : (一 )甲乙丙两两不相逢 ,此时根据三人在同一条边的 位置又有 6种情形 : (1)甲进、乙中、丙出; (2)甲进、丙中、乙出; (3)乙进、甲中、丙出; (4)乙进、丙中、甲出; 一 12O 一 (5)丙进 、甲中、乙出; (6)丙进 、乙中、甲出; (--)甲乙相逢 ,此时根据三人在同一 条边的位置又有 2种情形: (1)甲乙进 ,丙出; (2)N进,甲乙出; (--)乙丙相逢 ,此时根据三人在 同一条边 的位置又有 2种情形: (1)乙丙进 ,甲出; (2)甲进,乙丙 出; (四)丙甲相逢 ,此时根据 ----.K在同一条边的位置又有 2种情形 : (1)丙甲进 ,乙出; (2)乙进 ,丙甲出。 根据对第一个周期内以上 12种情形稍加分析(为了使 问题易于分析,对于甲 乙丙共边时有一进一出、一进两出、 两出一出三种情况 的出现 。由于此刻三者虽共边但运动方 向不同,故不考虑该共边起止时间相同的点),可得在一个 周期内甲乙丙共边 当且仅 当下述情形之一发生: (1)甲进入该边时乙丙还没有走出该边,此时共边的起 止时刻分别就是甲进入该边的时刻和 乙走出该边的时刻; (2)甲丙 同时进入该边时 乙还没有走出该边 ,此时共边 的起止时刻分别就是甲丙进入该边的时刻和甲乙走出该边 的时亥U: (3)甲丙同时进入该边时乙还没有走出该边 ,此时共边 的起止时刻分别就是甲丙进入该边的时刻和乙走出该边的 时亥U: (4)甲乙丙不相逢 ,乙进 入该 边时甲丙还没有走出该 边 .此时共边的起止时刻分别就是乙进入该边的时刻和甲 丙或甲走出该边的时刻 ; (5)甲乙丙不相逢 ,丙进入该边 时甲乙还没有走出该 边 .此时共边的起止时刻分别就是丙进入该边的时刻和甲 走 出该边的时刻 ; 根据模型一 的描述我们得到在第一个周期内三者的共 边情形 : (1)在 担 ×3s这一时刻 ,甲进入 BC边 ,此 时乙丙 尚未出该边 ,乙出该边的时刻是 t: ×3s,所以甲 乙丙第 一 次共 BC边,起止时刻 为[ ×3, ×3]; (2)在 at= x4s这一时刻 ,甲丙同时进入 CA ,此时 乙尚未出该边 ,甲乙出该边的时刻 t= ×5s是 ,所以甲乙 丙第二次共 cA边 ,起止时刻为[ ×4, ×51; (3)在 t= ×16s这一时刻 ,甲丙同时进 CA ,此时 乙尚未 出该边 ,乙出 CA边 的时刻 ,即 t: ×13s,所以甲 乙丙第三次共 cA边,起止时刻为[ ×16, ×13]; 维普资讯 http://www.cqvip.com l:御 陡 浇 {f;)2007年第4期 (4)在 t: x17s这一时刻 ,乙进入 BC边 ,此时甲丙 尚未出该边,甲丙出该边的时刻是t=等 ×22s,所以甲乙丙 第四次共 Bc边 ,起止时刻为[ ×17, ×22]; (5)在 xlSs这一时刻 ,乙进入 CA边 ,此 时甲丙 尚未出该边 ,甲出该边的时亥u是 t= ×23s,所以甲乙丙第 五次共 cA边,起止时刻为[ ×18,1IO 0×23]; (6)在[110 0×23 ,300]这段时间内,甲乙丙不会有共边 的情形发生。 下面我们证明这一论 断的正确性 。在 担 x23s时 刻。甲乙丙所在位置如 图 4,此时沿运动方向,乙在 甲前 240m。甲乙共边的一个必要条件是在运动 方向上甲距离乙 小于 lOOm,所以根据相对运动性 ,要达到这一必要条件甲 需要的时间须多于兰坠 :70(s);丙在甲前 250m,甲丙 共边的一个必要条件是在运动方向上甲距离丙小于 100m, 所以根据相对运动性 ,要达到这一必要条件甲需要的时间 须多于 :3o(s);同理 乙在丙前 290m,所以根据相 对运动性 。要达到必要条件需要 的时间须 多于 (s);要使 甲乙 丙三者共线 。必须同时满足上述 三种情况。则三者再次共边的时 间应该大于 7 ,而 [ 10 0x23 , · u B 30o]这段时间只有 70s,所 以在 这段时间内不会共边。 图4 C 综上所述。我们得到如下的一般性结果 : (1)在一个周期内共有 5次共边 ,第 k个周期第 1次共 边的起止时刻为 l 300( 1) 百1oo(“2),30o( 1) 1oo(“2)l,当 1,2时; l 300( 1)+11~(1+13),300( 1)+ 100【,“Io)],当 时; I 300(k-1)+ 100(.“I3),30o(k-1)+ (“l8)I,当 ,5时。 (2)记 n=5k+l,1≤Z≤5,则 /I.第次共边的起止时刻正好 是第 k+1个周期第 1次共边的起止时刻。 模型二 首先 .以ilz~_ 角形 ABC顶点 B (甲所 在 的 位置)为坐标原点 ,边 BC所 在的直线为 轴建立坐标系 (见初始状态图)。甲乙丙在 t 时刻的路程分别为s。(t)=lOt, s2(t)=8t,s3(t)= ;对 甲而 言,我们给 BC,CA,AB分别 初贻状态 (1)甲乙丙共边BC当且仅当[ 】~O(mod3), [ ------2fro0d3)且[ ~1(mod3); (2)甲乙丙共边CA当且仅当【 】s1(- 3), [ ------O(m0d3)且[ 】一2(m。d3); f300k+200<10t<300(k+1) {300l+100<8t<300l+200 I300p<5t<300p+1O0 根据 k。l,p的取值所对应的 t的取值范围如下: J30k+20O qm~oor(n/5);r=rem(n。5); if r==0 fl=300·(q-1)+18008;tr=150·(q-1)+2300/10; eheif r= 1 tl--300’q+300/10;tr=300‘q+300/8; elseif r==.2 tl=300‘q+400/10;tr=-300‘q+500/10; elseif r==3 tl--300‘q+1600/10;tr=-300‘q+1300/8; else tl--300’q+1700/8;tr=-300‘q+2200/10; end disp([ 第 num2str(n) 次共边 的起止 时刻为 [ num2str (d) 。 num2str(tr) ] ]) end 下面我们给出模型二的 matlab程序 。该程序利用 mat— lab强大的绘图功能,用形象的动画仿真演示追逐过程 ,并 且给出了第一个周期内的共边的次数及相应的起止时刻 。 %模型二的 maflab 程序一 动画演示追逐过程. %追逐模型的程序——动 画演示追逐过程. clear all;close all format long;%数据用 lang格式 ,只是为了起止时刻记录的 更精确一点 %初始状态 :等边三角形,甲乙二人 的位置. x=[O 100 500];)r=[O0 50·sqrt(3)0]; plot(x。Y。qinewidth',3); text(O。-4, );text(99。-4,,C );text(49。90。 ); a 8([一10 110-10 95]);hold on . - 122 -- %甲及其所在的位置. hi--plot(O,O);set(hl,"color ,,r ,"marker , 0 ,"erase ,"xor 。 "LineWidth ,6); %乙及 其所 在 的位 置. h2=plot(100,O); set(h2,"color ,,m 。"m~ll"ker 。1l ,"erase , "xor ,1_Jinewidth 。4); h3=plot(50,50★sqrt(3));set(h3,"color 。,g ,"marker ,,p , "erase , " xor ,1_JinewidtIl ,5); title(~秒后开始追逐 (圆圈代表 甲,六角星代表 乙,五角星 代表丙 ) );hold off;pause(3) %下面动画演示追逐过程(一个周期的情形). dt=l/48;t--O:dt:300%一个周期为 T=150秒. s=zeros(3,1);c=[];ss=[];next=l; x1=[];y1=[];x2=[];y2=[];x3=[];y3=[]; for i=l:length(t) s(1)=10-t(i); s(2)=8★t(i);s(3)=5★t(i); k=floor(s/!O0);l=s-k★100; as(:,i)-l;p=mod(k,3); axis([一10 110—10 953); %对甲的描述. ifp(1)--0 xl(i)-l(1);yl(i)=0; set(hl。"Xdata',xl(i),"Ydata',yl(i)); drawnow elseif p(1)= 1 xl0)=100-1(1)·cos(pi/3);yl(i)-l(1)·sin(pi/3); set(hl,"Xdata',xl(i),"Ydata',yl(i)); drawnow else ‘ x1(i)--50-1(1)·sin(pi/6); yl(i)--50‘sqrt(3)-l(1)·cos(pi/6); set(hl,"Xdata ,xl(i),"Ydata 。yl(i)); drawnow end %对乙的描述. ifp(2)=---O x2(i)=100-1(2)·cos(pi/3);y2(i)::l(2)·sin(pi/3); set(h2。"Xdata 。x2(i)。"Ydata 。y2(i)); drawnow elseifp(2)w~ l x2(i)=50-1(2)·sin(pi/6); y2(i)--50·sqa(3)-l(2)·cos(pi/6); set(h2,"Xdata 。x2(i),"Tdata 。y2(i)); drawnow else x2(i)-l(2);y2(i) O; set(h2。"Xdata 。x2(i),"Ydata 。y2(i)); drawnow end %对丙的描述 维普资讯 http://www.cqvip.com <局订陡 鹰 最 )2007年第4期 if p(3)--O x3(i)=(100--1(3)) cos(pi/3); y3(i)=(100-1(3))·sin(pi/3); set(h3,"Xdata',x3(i),"Ydata',y3(i)); drawnow elseif p(3)=:1 x3(i)=1(3);y3(i)=0; set(h3,"Xdata',x3(i),"Ydata",y3(i)); drawnow else x3(i)=100-1(3) eos(pi/3);y3(i)=1(3)·sin(pi/3); set(h3,"Xdata',x3(i),"Ydata',y3(i)); drawnow end title([ 当前时刻 ,num2str(t(i)),,s , (圆圈代表 甲,六角 星代表乙,五角星代表丙) ], Color , ); if(p(1)~----O&p(2)=2&p(3)= l I p(1)一 1&p(2)— &p(3)一2 ⋯I p(2)= l&xl(i)--50&yl(i)==50·sqrt(3)&x3(i)--O&y3(i) ==oI xl(i)~ lOO&yl(i)~----0& x2(i)~---O&y2(i)--O& x3(i)~ lOO&y3(i)==O ⋯ Ixl(i)--50&yl(i)一50 sqrt(3)& x2(i)==50&y2(i)--50 sqrt(3)& x3(i)~----O&y3(i)---O ⋯ lp(2)一1&】【1(i)==o&y1(i)==0&】【3(i)一50&),3(i)一50·sqrt (3))& rem(t(i),50)---0 e(next)=t(i); next=next+l; end pause(dO; end %一个周期内共边 的次数统计 。及相应的起止时刻. nmbrs=l;nat--[]; mt(1)=e(1);%第一个周期内第一次共边的起始时刻. for i=l:length(e)-I if e(i+1) (i)>1 nmbrs=nmbrs+l; rot=[mt c(i)e(i+1)];%第 i次共边终止时刻 c(i),第 i+1次共边起点时刻 e(i+1). end end rot(2·nmbrs)=e(end);%第一个周期内最后一次共边 的终 止时刻. mt _ final=[]; fori=l:nmbrs mLfinal=[rot_final;rot(2·i-1)rot(2·i)]; end nmbrs %一个周期内共边的次数. mt final %第一个周期内第一次至最后 一次共边 的起止 时刻. 程序 二的运行结果 为一个周期 内共边次数 为 nmbrs= 5。相应的共边 的起止时刻为 mr_final=1.Oe+O02· 0-37479166666667 0.499791 66666667 1.62479166666667 2.19979166666667 2.250《×××X×X}(×××} 2.2S 979166666667 从上面 的结果我们 不禁惊 叹于 maflab强大的数值计 算功能 :30、40、160、212.5和 225这五个值都为真实值而非 近似值。 3.讨论 对于引言 中提到的追逐问题 。我们建立了两个模型。模 型一给出了完整的解答 ,运动的周期性用得淋漓尽致 ,一个 周 期 内的共 边 的次 数和 起止 时刻 交待得 都很 清 楚。模型二表述简单 ,运 用初等 数论 知识 建立模 型 .能够较易地 推广到多 人 绕正 多边 形追逐 的情 形 :但模型二没 有明确 交 待 共边 的起 止时刻 和 没 有给 出相逢的判断 。即留 下了三个模糊 的东西 :一 是共边的起止 时刻 .二是 时段 [0,t]内共 边 的 次 数 .三是相逢前后都有共 边 。应算一 次共边 ,模 型 二却将其一分为二。虽然 这三 个 问题 都 可通 过计 算机程序给 以解决 。但 由 于计算机运算的近似性 起 止时刻 只是 近似 的数 字解。本文为引言中提到 的追逐 问题 所建 立 的两 追逐到第 13.5417s时刻的图像 追逐到第 30.5417s时刻的图像 个模型 ,都是一种理想化 的结果 ,即甲乙丙三人体质无差异 地绕正三角形做持续的匀速运动 ,没有考虑人 的生命特征 , 所以理论上的结果将与实际情况有所不符。 Matlab语言具有极 强的数值计算功能和绘图功能.是 工程计算、系统仿真等领域具有广泛应用性的软件【l】。本文 没有用 maflab的仿真工具箱 simulink.也没有用动 画命令 getframe和 movie(这两个命令一般很难看到它们的使用方 法的介绍)t2a。 参考文献: [1]薛定宇,陈阳泉.高等应用数学问题的matlab求解[M].北 京:清华大学出版社,2006. [2]胡 良剑,孙晓君.matlab数学试验[M].北京:高等教育出版 社,2006,107_113. . 123 . 维普资讯 http://www.cqvip.com
/
本文档为【3人绕三角形追逐问题的数学模型和matlab仿真】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索