《 刻舟求鱼 (配图)》这篇2016年底的博文在科学网引发了热烈的讨论,到2017年元旦节日大家还在切磋。参加实质讨论的博主包括(但不限于)马红孺(上海交通大学教授), 尤明庆 (河南理工大学教授),张海涛 (物理专业),姬扬 (中国科学院半导体研究所研究员),文克玲(清华大学物理系),王虹宇(鞍山师范学院教授),张云 (湖南第一师范讲师),应行仁 (系统科学与系统工程),徐晓 ,李铭(凝聚态物理),温海龙(保定市农业科学研究所)(这个名单顺序任意收集),真可谓专家云集、盛况空前。国外也有物理专业人士参与评论。这么多对物理力学感兴趣的学者聚集在一起,真得感谢科学网给我们提供了这个平台。我应该是对相关讨论进展情况比较熟悉的,所以我做一个总结。
一. 刻舟求鱼问题及定性物理图像
一个人在小船上从船尾跳到船头,并且设水对船的阻力正比于船的速度,忽略空气阻力,船最后停在何处?这是刻舟求鱼的问题描述。
人在空中时,船往后退,但是由于期间船受到阻力,动量减少,人落到船头后,船又往前走。这是一个定性的物理图像。
问题是,船这个后退再前进的过程中到底走了多远,光从上面这个物理图像是无法定量判断的,需要根据外力运用牛顿力学进行计算。在我们的问题里,船受到的阻力为 $f = - k\ v_b$ , k 为常数, $v_b$ 为船速。伽利略曾说自然的语言是数学,有了这个给定的力的形式,下面的任务是运用 F=ma 算出结果。
有的同学说,实际水阻力形式很复杂,有无穷多未知因素,$f = - k v_b$ 不成立;人从后跳到前面,船吃水深度变化,阻力系数不同,等等。我的回应是,如果会算这个问题就算,先走再跑。我在 《刻舟求鱼之实验验证 (配图)》讲了,问题这么写只是为了生动点。薛定谔猫是为了生动,没有人会以为一只整猫会有量子效应。我可以把船造成完美的流线型,船远远 重于人,固定在水平导轨上, 船上下不能动,人用滚动的重球代替,等等。所以,纠缠题目本身没有意义。你如果说大鱼游过来把小船顶翻了,或者说船速太快,阻力不确定等等,还不如干脆老实承认不会用牛顿第二定律计算这个给定问题的结果。
二. 刻舟求鱼的牛顿第二定律
知道外力,知道牛顿第二定律,我们的任务就是正确运用了。牛顿在300多年前告诉我们,系统的动量变化(率)等于外力。令人与船的总动量为 $ p = p_{ren} + p_{boat} $ ,根据 Newton's second law:
$\frac{dp}{dt} = -k\ v_b = -k \frac{d x_b}{dt} $
其中$x_b (t)$ 是船的坐标。因此,
$dp = - k\ dx_b$ .
两边积分,得出对于任意时间 t,
$p(t) - p (0) = -k (x_b(t) - x_b(0)) $
初始条件是,时间为0, 船坐标 $x_b(0) =0$。当 k 不为零,$x_b(t) = - p(t)/k$。
最终人船静止, $p=0$。因此,最终 $x_b =0$. 也就是说船回到原处。
从这个推导可以看出,其实这个最终结果与人的运动过程无关,是跑也好,跳也好,爬也好,来回兜圈子也好,最终船都会回到原处。这包括人跳到船头又跳回船尾的情况。当然,既然从后面跳到前面船最终复位,再跳回来也会复位。
对牛顿第二定律不熟悉的同学可能对上面的方程存在疑问,想把人、船单独考虑,当然结果是一样的。设人对船的作用力是 $F_{rb}(t)$, 那么根据牛顿第三定律,船对人的作用力 $F_{br}(t) = - F_{rb} (t) $,我们列出人与船的方程:
人:$m_{r} \frac{dv_r}{dt} = F_{br} (t) $
船: $m_b \frac{dv_b} {dt} = F_{rb} (t) - k \frac{dx_b}{dt}$
初始条件: $v_b(0) = v_r (0) =0, x_b(0)=0$ .
对上面的方程对时间积分,我们有得出:
$m_{r} v_r(t) = \int_0^t F_{br}(t) dt$,
$m_b v_b(t) = \int_0^t F_{rb}(t) dt - k x_b(t) $
方程想加,并利用 $F_{br}(t) = - F_{rb} (t) $,得出:
$m_r v_r(t) + m_b v_b(t) = -k\ x_b(t)$ .
最终人船静止,上面方程左边为零,得出
$ k x_b=0$.
k 不为零,则 $x_b=0$。
注意,上面人-船之间的相互作用过程(只要最终人船合一)完全是任意的,狄拉克$\delta$函数式瞬间起跳着船也好,弹簧牵着慢慢上升降落也罢,最终结果都是船回原处。
三. 瞬间起跳降落的计算
上面的结果对于任意过程都是适用的,但是我们并不知道船位置与时间的关系。这如同中学物理里计算一个球从一个无摩擦弯曲轨道上滑下,你能根据从高度计算球到达某一点的速度,但不知道达到这一点的时间。对于人+船的问题,要计算船的位置随时间的变化,我们必须知道人船之间相互作用的形式。最简单的形式就是瞬间起跳,瞬间着船。读者可能说,瞬间起跳,速度在零时间内变成有限,加速度无穷大,力无穷大,而人腿肌肉产生的力量是有限的,不可能。那么,把人装在弹射器里弹出去吧,要是加速大太大,人扛不住,换上只 chicken 好了。或者,这个人是钢筋铁骨、脚上装着强力弹簧。记住,这个问题说人在船上跳的问题只是为了生动。如果还说,再怎样力也不是无限大。我们只能说,你可以用一个更为实际的模型算。为了简化计算起见,正如Apple79 博士在黄秀清博文下首次指出,我们假定冲量是狄拉克 delta 函数 。
$x_b(t) = - \frac{m_b V_0}{k} (1- e^{-kT/m_b} ) e^{-k\ t/(m_b+m_r)} $
正如 apple79 博士在评论中指出,上面的结果只有一个时间尺度 M/k。这是问题中唯一可以用于判断时间长短的量。
这个计算里用到了起跳前后瞬间、着船前后瞬间的动量守恒。这是一个显然的事情。系统动量的变化等于 外力的冲量。作用时间为零,外力(船受到的阻力)有限,因此外力冲量为零。
$m_b \frac{d v_b}{dt} = I \delta(t - T)$,
$m_r \frac{d v_r}{dt} = -I \delta(t - T) -k v_b $
从 $t = T -\epsilon$, 到 $t=T +\epsilon$ 积分, 取 $\lim_{\epsilon \to 0}$,
$m_b v_b(T+\epsilon) - m_b v_b (T-\epsilon) = I $,
$m_r v_r(T+\epsilon) - m_r v_r (T-\epsilon) = -I $.
因此,$m_b v_b(T+\epsilon) + m_r v_r(T+\epsilon) = m_b v_b(T-\epsilon) + m_r v_r(T-\epsilon) $。
四. 目前的状况总结
马红孺老师把这道题拿去给高一学生解决,有多人差不多得到了小船复位的结果,说明学生对这个题是理解的。张海涛读高中的公子也算出复位的结论。我还收到一个科学网学生读者的电子邮件,也得到了同样的结果。
徐晓经过多次计算,最终得出(三)的结果,但他分析认为如果考虑有限作用时间,则船不能复位。从我们上面(二)看出,如果结果没有复位,肯定计算错误。
黄秀清似乎不认可上面的全部结果,但未给出任何计算。黄秀清提出一个“新颖”观点,认为需要考虑水对船的的“静摩擦力”。
至此,科学网物理专业的人士除黄秀清外基本达成一致。
(各位观点如果与上面不同,请指出)
补充链接
徐晓的回应:《刻舟:文字讲解岳东晓博士的基本错误》
李铭 : 岳东晓《刻舟求鱼》的讨论该结束了
https://blog.sciencenet.cn/blog-684007-1024834.html
上一篇:
计算与物理直觉--与陶勇老师交流下一篇:
【新年快乐】秀清贤弟,老岳于心慰甚!