- 主题:哪个桶里的水先放完?AI回答不一样 (转载)
结论是什么呢?A快还是B快,还是AB一样快啊
【 在 laomm 的大作中提到: 】
: 但是普通的练习题出过推导伯努利方程的题目
: 不过根据伯努利方程,确实跟自由落体是一样的,这也体现了自然之美
--
FROM 114.254.172.*
没想到B一直领先这么久,我还猜测二者会在中位线处再次出现液面平齐,之后A才会领先。
【 在 DragonDon 的大作中提到: 】
: A快;
: 一句话解释就是:由于桶的形状,相同体积下,A的液面必然高于B,也就是流速更快,流完时间更短
: 液面变化如下:(AI帮助仿了个真)
: ...................
--
FROM 114.254.172.*
没有严谨的微分方程求解还是有疑问。“由于桶的形状,相同体积下,A的液面必然高于B”很像是AI的话语,但这只在中位线以上成立,过中位线之后就不成立了。对一个圆柱体,设其高为h,底面为s1,开孔为s,可以通过微积分算出水流时间t=(s1/s)sqrt(2h/g)。假如有2个底面积分别为s1和s2,s1>s2,高度都是h的两个圆柱体上下叠放成一个整体容器,底部开口仍为s。这个容器水流完的时间是否是t1+t2=sqrt(2h/g)(s1+s2)/s?。如果是的话,则将该容器倒置,其水流完时间必然仍不变。
顺便能否介绍一下AI的仿真过程吗?
【 在 DragonDon 的大作中提到: 】
: A快;
: 一句话解释就是:由于桶的形状,相同体积下,A的液面必然高于B,也就是流速更快,流完时间更短
: 液面变化如下:(AI帮助仿了个真)
: ...................
--
FROM 114.254.172.*
谢谢,方便时可以贴一下仿真代码学习一下。
本题确实是A快。逻辑推理如下:
假设最终B先流完,由于一开始B下降的液面就比A快那么一丢丢,造成A的出水流速高于B,由于整个过程是连续的,很难想象在B一开始领先,最后仍然领先的过程中会出现A的液面能追上B的情况,也就是全过程A的液面都是高于B的,但这会导致A的出水速度全程大于B,在体积相同时反而后流完,矛盾。故B不可能先流完。
假设AB是同时流完的,同样由于一开始A是落后的,但要同时流完必然会出现一个时刻AB液面是相同高度的,显然这个同高时刻不能出现在中途,因为一旦出现在中途,接下来的趋势就是A超过B,并领先。所以AB液面等高只能出现在最后一个时刻。观察这最后时刻前的一个短暂时间,由于A形状决定了接近等高液面前,体积要比B部分小很多。这就要求越是接近最后时刻,越要求出现A的液面要比B低才能实现小体积和大体积同时流完,这与前面假设矛盾。
综上,只有A快才不会出现逻辑矛盾。
前面的分析是基于出水速度只与高度差相关,但单纯通过伯努利方程推出这个结论还是有问题的,毕竟上液面的下降速度并不是0,甚至不能忽略不计。
【 在 DragonDon 的大作中提到: 】
: “由于桶的形状,相同体积下,A的液面必然高于B”这句话不是出自AI,而且这句话在中位线以下也是成立的。
: 任何时候,如果B体积和A体积相同了,都会导致其液面高度更低(观测形状可以得出这个结论),那马上会使得B流得比A慢,由于这个原因,B其实永远无法和A的体积相同(除了起始时刻)
: 理解上,你可以把B的体积看出两个部分:和A体积相同的部分加上一个增量,根据叠加性,B流空的时间也可以看成是这两个部分流空时间之和。由于前面的理由,和A相同部分流空的时间必然大于A流空的时间,那和的流空时间更大于A流空的时间。
: ...................
--
修改:tsuld FROM 114.254.172.*
FROM 114.254.172.*
谢谢你的代码,非常棒!
借着你的核心公式dh/dt= - (A_out * sqrt(2 * g * h)) / A_surface 进行一下积分操作,中间改几个表示方式,引入上底面与侧壁夹角α的余切来替换 (r_t - r_b) / H,引入出口圆孔半径r_o来替换A_out。改写后dh/dt表达式并分离变量可得dh*(r_b+ctg(α)*h)^2=-r_o^2*sqrt(2gh)*dt,对该式两侧分别对dh和dt积分可求得t的表达式:t*sqrt(2g)*r_o^2=2*H^(1/2)*r_b^2+(2/5)*(ctg(α)^2)*H^(5/2)+(4/3)*r_b*ctg(α)*H^(3/2),对于B桶而言,只需要将r_b换成r_t,ctg(α)换成-ctg(α)即可。整理后发现,A的流完时间比B小等价于2/3<1。A快的结论成立。
【 在 DragonDon 的大作中提到: 】
: function dhdt = taper_ode(t, h, r_t, r_b, H, A_out)
: g = 9.81;
: % 计算当前高度 h 的半径 r
: ...................
--
修改:tsuld FROM 114.254.172.*
FROM 114.254.172.*