R代码如下:
# V为乌龟与兔子的运动速度之比,delta_T为瞬间移动
# eps为可以抓到的距离
trace <- function(v=2,delta_T=0.001,eps=0.01) {
plot(c(0,33,35,0),c(0,0,35,20),xlab='',ylab='')
text(0,20,labels='B',adj=c(0.3,-0.8))
text(33,0,labels='A',adj=c(0.3,-0.8))
text(0,0,labels='O',adj=c(-0.5,0.1))
# x为乌龟的坐标矩阵,y为兔子的坐标矩阵
x <- matrix(c(0,0),nrow=1)
y <- matrix(c(33,0),nrow=1)
a <- 0
b <- 0
time <- 20/delta_T
for (j in 1:time) {
# d为二者之间的距离,a为乌龟的新位置,b为兔子的新位置
d <- sqrt((x-y)^2+(x-y)^2)
a <- 0
a <- x + delta_T
b <- y + v*delta_T*(x - y)/d
b <- y + v*delta_T*(x - y)/d
# 若距离小于抓捕距离则离开循环
if(d < eps) break
# 将新位置加入到坐标矩阵中
x <- rbind(x,a)
y <- rbind(y,b)
}
# 绘制二者的追逐路线
lines(x,x,col=3)
lines(y,y,col=2)
if ( d < eps & j <= time) return(list(result='TRUE',x=x[],y=x[]))
else return(list(result='FALSE',dist=as.vector(d)))
}
trace() 路过学习一下 我记得这个是极限问题的经典 学习一下,谢谢 高人,佩服,厉害,可惜我看不懂。 太复杂了,这也能够想得到 楼主哲学家了,学习学习。 俺的理解,这个悖论归根结底涉及的是“无限是什么?”的问题。
按照微积分中的定理,无穷个正数相加之和有可能是有限值(数学术语即“该无穷数列是收敛的”),
例如1/2+1/4+1/8+1/16+1/32+..........=1。
回到悖论里头来,兔子到达乌龟上一个位置所花的时间是个越来越小的正数,按照悖论里的推理逻辑,(从数学上可证明)这些无穷个正数相加之和Y小时实际上是个有限值。
也就是说,当比赛进行了Y小时的时候,兔子与乌龟并驾齐驱了;
由于兔子速度大于乌龟,从Y小时往后,兔子终于超过了乌龟。
对于目前的人类智慧来说,“无限”是个奇妙、同时也是个难以准确定义的概念。
记得中学的时候看过一本《无限中的有限-极限的故事》的数学科普书,很有趣,可以找来看看。 呵呵,相对和绝对。 路过学习了,哈哈 这是函数极限问题,时间对距离的函数,时间趋于0时,距离离极限越近。西方后来产生微积分思想,从而超越了数学领先几个世纪的中国。 好东西,学习一下! 太专业了,貌似俺看不懂 我也迷惑过这个问题,但没有楼主思考得这么深,就放弃了。不管楼主思考的是不是对,还是值得肯定的。 路过学习一下
页:
1
[2]