Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
初级会员
注册日期: 2007-06-25
帖子: 3
声望力: 0 ![]() |
![]()
一个慢跑者在平面上沿椭圆跑步,该慢跑者在时间t时刻的坐标为: x=10+20cost,y=20+5sint ,突然有一只狗攻击他. 这只狗从原点出发,以恒定速率20跑向慢跑者,狗的运动方向始终指向慢跑者.求出狗的运动轨迹.
请大家帮忙! |
![]() |
![]() |
![]() |
#2 |
初级会员
注册日期: 2007-06-20
帖子: 17
声望力: 18 ![]() |
![]()
这个问题有点意思,大家都来想想
|
![]() |
![]() |
![]() |
#3 |
普通会员
注册日期: 2007-05-19
帖子: 51
声望力: 19 ![]() |
![]()
速度20是一直永远无法咬到人的笨狗~
|
![]() |
![]() |
![]() |
#4 |
普通会员
注册日期: 2007-05-19
帖子: 51
声望力: 19 ![]() |
![]()
额~
早上敲错一个步长~ 所以算错了~ 果然不是笨狗~ 很快可以咬到人了~ 运行下面程序可知: clear t=0; d0=0.1; r=0.01; s=20; gx=0;gy=0; for i=1:1000 rx(i)=10+20*cos(t+r*(i-1)); ry(i)=20+5*sin(t+r*(i-1)); d(i)=sqrt((rx(i)-gx(i))^2+(ry(i)-gy(i))^2); if d(i)<d0; break end x=rx(i)-gx(i); y=ry(i)-gy(i); gx(i+1)=r*s*x/sqrt(x^2+y^2); gy(i+1)=r*s*y/sqrt(x^2+y^2); gx(i+1)=gx(i)+gx(i+1); gy(i+1)=gy(i)+gy(i+1); end plot(gx,gy,rx,ry) |
![]() |
![]() |