基于线性规划的高校排课系统的研究
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2012年第七届湖南工学院数学建模竞赛
承诺书
我们仔细阅读了第五届湖南工学院数学建模竞赛的竞赛规则。
我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与本队以外的任何人(包括指导教师)研究、讨论与赛题有关的问题。
我们知道,抄袭别人的成果是违反竞赛规则的, 如果引用别人的成果或其他公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出。
我们郑重承诺,严格遵守竞赛规则,以保证竞赛的公正、公平性。如有违反竞赛规则的行为,我们愿意承担由此引起的一切后果。
我们的参赛报名号为:
参赛队员(签名) :
队员1:蒋傅礼
队员2:陈磊
队员3:张魁晋
2012年第七届湖南工学院数学建模竞赛
编号专用页
参赛队伍的参赛号码:(请各个参赛队提前填写好):竞赛统一编号(由竞赛组委会送至评委团前编号):
竞赛评阅编号(由竞赛评委团评阅前进行编号):
2012年第七届湖南工学院数学建模竞赛题目基于微分方程的昆虫运动轨迹模型
摘要
本文建立了一个关于昆虫运动轨迹的微分方程模型,通过求解微分方程得到昆虫的运动轨迹方程,由昆虫的轨迹方程与圆盘边界相交处(-15,0)即为昆虫的离开点。
同时本文还运用matlab软件对昆虫运动轨迹和圆盘的圆周之间的图像进行了比较,更进一步对模型的结果进行了分析与检测,并对模型进行适当的推广。
关健字:微分方程,matlab,轨迹方程
一. 问题重述及分析
有一水平放置的直径为30厘米的圆盘,正在按每分钟四周的匀角速度旋转,离圆盘较远但在同一水平面上有一点光源在发光,一只昆虫在距离光源最远处的圆盘边,头对光源,这时它立即惊起按每秒1厘米的速度爬行,爬行中头总是对着光源。试建立昆虫运动的微分方程,并问昆虫在圆盘边得哪点处离开圆盘?
问题基本分析:
本问题通过建立微分关系模型来解决实际问题。建立平面直角坐标系,通过对昆虫运动轨迹的分析,昆虫始终都是对着光源运动,当昆虫的运动轨迹与圆盘边缘相交时即昆虫在此处离开圆盘,由此建立数学模型。
二.模型的基本假设与符号约定
(1):基本假设
1.假设圆盘的中心为坐标原点;
2.假设昆虫本身的尺度大小对我们要研究的问题可以忽略,因此可以把昆虫看成质点来对待;
3.假设圆盘的转速始终均匀;
4.假设昆虫的运动方向始终指向光源。
(2):符号约定
三.模型建立与求解
选取直角坐标系与极坐标系,取圆盘中心为原点,昆虫开始在(15,0)处,光源在(0,∝-)处,圆盘逆时针方向旋转,如下图所示:
假设在时间t 时刻,昆虫位于(y x ,)即(θ,r ),由匀速圆周运动知识知:
角速度 : 15
26042602π
ππω=
⨯⨯==n (1) 切线方向的线速度 : 15
2π
ωr r v == (2)
首先,线速度在水平与垂直方向上的分量为:
θπ
sin 15
2r v x =
(3) θπ
cos 15
2r v y =
(4) 由直角坐标与极坐标转换公式θθsin ,
cos r y r x == 故昆虫运动的速度在水平与垂直方向的分速度分别为:
y r v V dt dx x x 1521sin 15211πθπ--=--=--== (5) x r v V dt dy y y 152cos 1520πθπ==+== (6)
由(6)/(5)得:
xdx dy y y x
dt dx dt dy dx dy 152)1521(15
21152ππππ=--⇔--== (7)
对上式方程左右两边积分得:
A
C y x C y y x C x y y =+=++=++⇔+=-
-2222222122)215
()215(230302302πππππ 故 A y x =++22)215
(π
(8)
当0=t 时,有初始值:0,15==y x ,解得有:
2224225
225)215(π
π+=++y x (9)
即可得昆虫的运动是沿着圆心在(π215,0-),半径为241
115π
+的圆作匀速圆周运
动。
四.模型的计算结果检测及分析
本题所要求的是求昆虫在圆盘边哪点处离开圆盘。 由昆虫的运动轨迹方程与圆周的方程得:
⎪⎪⎩
⎪
⎪⎨⎧=++=++2254225225)215(22222
y x y x ππ
二者的方程交于(-15,0)点,由此可知昆虫从这点离开圆盘。
由上述方程写出matlab 程序和由程序得出二者之间的轨迹图像分别如下:
R1=15
Theta=linspace(pi,0,1000);%改变范围可控制圆的那一部分被画出来。 x=cos(Theta)*R1; y=sin(Theta)*R1;
line(x,y,'Color','red','LineWidth',1.5); hold x0=0;
y0=-15/(2*pi);
R0=15*sqrt(1+1/(4*pi^2));
Theta=linspace(pi,0,1000);%改变范围可控制圆的那一部分被画出来。 x =x0+cos(Theta)*R0; y = y0+sin(Theta)*R0;
line(x,y,'Color','black','LineWidth',0.5); grid
legend('圆盘的圆周','昆虫的运动轨迹') gtext('昆虫的进入点') gtext('昆虫的离开点')