
数学建模实验报告大小圆追击问题.doc
9页数学建模实验报告一.实验题目第一题:设一个小圆在大圆内无滑动的滚动,用变编程探讨小圆上或小圆内一点的运动轨迹问题分析:由题目条件可知,小圆在大圆内无滑动滚动,所以对于小圆与大圆的初始接触点来说,该点滑动的弧长即为小圆滚动的路程由此便可以联系小圆与大圆首先,分析目标点若对小圆上一点进行观察,对于任意两点,从它不再与大圆接触到再一次与大圆接触,其运动轨迹必然是相同的(仅讨论轨迹弧线的形状,初末位置不做要求)所以,我们可以以初始位置时的接触点来考察运动轨迹若对小圆内(非圆心)一点进行考察,则其轨迹必与其在小圆上的对应点相似故可以先计算出小圆上对应点的轨迹,然后缩放移动即可若对小圆圆心进行考察,则易知其轨迹必为一圆分析完成后,下面开始讨论轨迹的计算方法由于除圆心外,轨迹是类似于摆线的一条曲线,所以用参数方程进行求解具体做法是以大圆圆心为原点,建立一个直角坐标系由于小圆的初始位置与小圆上或小圆内一点的运动轨迹无关,所以,我们不妨设小圆与大圆初始位置时的接触点在轴正半轴上之后再以小圆的圆心建立一个直角坐标系对于这个坐标系里的任一点可以利用向量的计算方法,由于大圆圆心和小圆圆心连线的向量是可求的,所以可将该点投影到以大圆圆心建立的坐标系中。
在计算该点的参数方程时,可使用公式,为圆心角先求出该点在以小圆圆心为原点的坐标系中的参数方程,然后投影至另一坐标系中即可若观察的是圆上一点,则只需将原程序中的小圆半径换成该点到小圆圆心的距离即可具体计算过程如下:代码:h=0.1;q=0:h:20*pi;R=5;r=3;d=2;v=-R/r;xR=R*cos(q);yR=R*sin(q);xrh=(R-r)*cos(q);yrh=(R-r)*sin(q);xr=xh+d*cos(v*q+q);yr=yh+d*sin(v*q+q);plot(xh,yh,xx,yy,xz,yz);结果截图:绿色为大圆,半径10,蓝色为小圆圆心轨迹,小圆半径为3,红色为小圆上一点轨迹1062-2-G-8-84-202810绿色为大圆,半径5,蓝色为小圆圆心轨迹,小圆半径为3,红色为小圆内一点轨迹,到小圆圆心距离为2第二题:狗追人问题人按一固定轨迹运动,狗从某一点处追逐人,求狗的运动轨迹问题分析:本题采用以直代曲的方法求解先假设人的轨迹是一个圆,并确定人,狗的运动速度以及人,狗的初始位置然后假定在某段极小的时间间隔内,人的速度大小和方向均不变由于人的位置可求,狗的当前位置也已得到,于是可以算出狗的速度方向。
之后,以直线代替曲线,将内狗的运动轨迹画出并保存狗现在的位置,为下一次绘图做准备如此循环,直至不满足循环条件代码:d=4;R=5;x_dog=10;y_dog=0;x_man=5;y_man=0;v_dog=1;w_man=0.5;dt=0.05;t=0;holdon;axis([-10,10,-10,10]);grid;title(;while(t<=50)t=t+dt;x_man=R*cos(w_man*t);y_man=R*sin(w_man*t);plot(x_man,y_man,'r--',x_dog,y_dog,'g--');holdon;dog-x_man)dog_x_man)x_dog=x_dog+v_dog*dt*(x_man-x_dog)/sqrt((y_dog-y_man)入2+(x八2);y_dog=y_dog+v_dog*dt*(y_man_y_dog)/sqrt((y_dog_y_man)入2+(x八2);end结果截图:红色为人运动的轨迹,是一个的圆,人的初始位置为(,),每运动,绿色为狗运动的轨迹,狗的初始位置为(0)点,每运动距离为1追击路线模拟團10r——7——:;7——;——:——:7——7——:红色为人运动的轨迹,是一个,=的的圆,人的初始位置为(的,0,每运动,绿色为狗运动的轨迹,狗的初始位置为(,点,每运动距离为。
红色为人运动的轨迹,是一个的圆,人的初始位置为(5),每运动,绿色为狗运动的轨迹,狗的初始位置为(,)点,每运动距离为。












