网友 龙的传人ojbk 在 反相吧 发了一个 帖 《大吊们,看看这题》 https://tieba.baidu.com/p/6929653360 ,
帖 里 列了 一个 题 : “用 伽利略变换 和 能量守恒 推导 线性动量守恒定律 。”
我 尝试 解答了一下 。
如图, 有 2 个 小球, m1 和 m2 , m1 质量 为 m1, m2 质量 为 m2 , 初始时, m1 的 速度 是 V1₀, m2 的 速度 是 V2₀ ,
之后, m1 和 m2 之间 有 一个 力 F, 在 力 F 的 作用下 加速 运动, 经过 时间 t, m1 、m2 的 速度 为 v1 、v2 。
在 整个过程 中, F 的 大小 保持不变 。
根据 牛顿第三定律, m1 对 m2 施加 力 F, m2 也对 m1 施加 力 F, 反之亦然 。
初始时 m1 、m2 组成 的 系统 的 总动量 p = m1 * V1₀ - m2 * V2₀ ,
经过 时间 t 时, 根据 能量守恒, F 做 的 功 会 转换为 m1 、m2 的 动能,
对于 小球 m1, 有
1/2 * m1 * v1 ² = 1/2 * m1 * V1₀ ² + Fs
s = V1₀ * t + 1/2 * a * t ²
= V1₀ * t + 1/2 * F / m1 * t ²
Fs = F * ( V1₀ * t + 1/2 * F / m1 * t ² )
= F * V1₀ * t + 1/2 * F ² * t ² / m1
于是,
1/2 * m1 * v1 ² = 1/2 * m1 * V1₀ ² + F * V1₀ * t + 1/2 * F ² * t ² / m1
1/2 * m1 * v1 ² = 1/2 * m1 * ( V1₀ ² + 2 * F * V1₀ * t / m1 + F ² * t ² / m1 ² )
1/2 * m1 * v1 ² = 1/2 * m1 * ( V1₀ + F * t / m1 ) ²
v1 = V1₀ + F * t / m1 (1) 式
同理可得, 对于 小球 m2, 有
v2 = V2₀ + F * t / m2 (2) 式
此时, 系统 总动量 p = m1 * v1 - m2 * v2 = m1 * V1₀ + m1 * F * t / m1 - ( m2 * V2₀ + m2 * F * t / m2 )
= m1 * V1₀ + F * t - m2 * V2₀ - F * t
= m1 * V1₀ - m2 * V2₀
可以看到, 经过 时间 t 时 的 系统总动量 和 初始时 一样, 也就是 动量守恒 。
但 问题 是 这里 没有 用到 伽利略变换, 看起来 也 不适合 用 伽利略变换 。 因为 动量守恒 是 对 惯性系 说 的, 如果 以 小球 m2 为 参照系, 则 m1 相对于 m2 的 速度 一直在 增大, 系统 的 总动量 也是 一直在 增大, 就不守恒了 。
有意思 的 是, 在 二体 问题 中, 可以用 约化质量 将 一个 质点 等效 为 惯性系, 这样 可以用 牛顿第二定律 研究 另一个 质点 相对于 这个 质点 的 运动 。
因为 两个 质点 相互吸引, 彼此加速, 彼此间 的 相对运动 不满足 牛顿第二定律 。
因此 要用 约化质量 将 一个 质点 等效 为 惯性系, 才能 用 牛顿第二定律 研究 另一个 质点 相对于 这个 质点 的 相对运动 。
但 约化质量 这一招 对 动量守恒 无效 。 可以知道, 使用了 约化质量, 一个 质点 相对于 另一个 质点 的 动量 可大可小, 而 这也是 两个质点 组成 的 系统 的 总动量 , 也就是 系统 总动量 可大可小, 随着 二体 的 运动 而 变化, 这就不守恒了 。
但 你 可以用 角动量守恒 。 啊, 这 。
上面 推导 出 (1) 式 (2) 式 是 在 F 的 大小 不变 的 情况 下 。 如果 F 的 大小 随 时间 t 变化, 那么, 可以 将 (1) 式 (2) 式 看作 是 一个 微元 里 的 情形,
设 t1 、t2 是 2 个 时刻, t2 > t1 , 在 t1 到 t2 这段时间 内 F 大小 恒定, 设 小球 m1 在 t1 时 的 速度 为 v11, 在 t2 时 的 速度 为 v12,
根据 (1) 式, 有
v12 = v11 + F * ( t2 - t1 ) / m1
v12 - v11 = v11 + F * ( t2 - t1 ) / m1 - v11
= F * ( t2 - t1 ) / m1
= F / m1 * ( t2 - t1 )
令 v12 - v11 = ⊿ v1 , t2 - t1 = ⊿ t
⊿ v1 = F / m1 * ⊿ t
令 ⊿ t -> 0 , 则 ⊿ t = dt, ⊿ v1 = d ( v1 ) ,
d ( v1 ) = F / m1 * dt (3) 式
当 ⊿ t -> 0 时, ⊿ t 就变成 微分 dt, ⊿ t 内 的 事件 就 变成 微元 , (3) 式 就表示 这个 微元 , 也就是 微分时间 dt 内 发生 的 事件 。
对 (3) 式 两边积分 ,
ʃ d ( v1 ) = ʃ F / m1 * dt
ʃ d ( v1 ) = 1 / m1 * ʃ F dt
v1 = 1 / m1 * ʃ F dt , [ 0, t ] + C , C 为 积分常数 (4) 式
为了 确定 积分常数 C, 把 ʃ F dt 变成了 定积分, ʃ F dt , [ 0, t ] 表示 积分区间 [ 0, t ] 上 的 定积分 。
当 t = 0 时, v1 = V1₀ , ʃ F dt , [ 0, t ] = ʃ F dt , [ 0, 0 ] = 0 , 代入 (4) 式,
V1₀ = 1 / m1 * 0 + C
V1₀ = 0 + C
C = V1₀
将 C 代回 (4) 式,
v1 = 1 / m1 * ʃ F dt , [ 0, t ] + V1₀
v1 = V1₀ + 1 / m1 * ʃ F dt , [ 0, t ] (5) 式
同理可得, 对于 小球 m2, 有
v2 = V2₀ + 1 / m2 * ʃ F dt , [ 0, t ] (6) 式
这样, 当 经过 时间 t 时, 系统总动量 p = m1 * v1 - m2 * v2
= m1 * { V1₀ + 1 / m1 * ʃ F dt , [ 0, t ] } - m2 * { V2₀ + 1 / m2 * ʃ F dt , [ 0, t ] }
= m1 * V1₀ + m1 * 1 / m1 * ʃ F dt , [ 0, t ] - m2 * V2₀ - m2 * 1 / m2 * ʃ F dt , [ 0, t ]
= m1 * V1₀ + ʃ F dt , [ 0, t ] - m2 * V2₀ - ʃ F dt , [ 0, t ]
= m1 * V1₀ - m2 * V2₀
可以看到, 经过 时间 t 时 的 系统总动量 和 初始时 一样, 也就是 动量守恒 。
这是 在 F 的 大小 随 时间 t 变化 的 情况 下 的 推导结果, 也就是说, 当 F 的 大小 随 t 变化 时, 动量守恒 仍然 成立 。
接着 上面 分析, 二体, 角动量守恒 则 动量不守恒, 动量守恒 则 角动量不守恒 。 这里面 似乎 也 暗藏了 什么 玄机 ?
想了一下, 这是不是说, 可以用 动量守恒 来 解 二体问题 ?
角动量守恒 解 的 是 一个 质点 相对于 另一个 质点 的 运动, 动量守恒 可以用来 解 2 个 质点 相对于 第三方 参照系 的 运动, 第三方参照系 是 惯性系 。
在 直角坐标系 下, 可以将 m1 、m2 的 速度 分为 x 、y 分量, 同样 的, 动量 也可以 分为 x 、y 分量, x 方向 上 的 动量守恒, y 方向上 的 动量守恒 。
设 m1 的 坐标 是 ( x1, y1 ) , m2 的 坐标 是 ( x2, y2 ) , m1 的 速度 的 x 分量 为 v1_x , y 分量 为 v1_y , m2 的 速度 的 x 分量 为 v2_x , y 分量 为 v2_y ,
初始时, t = 0 , v1_x = V1₀_x , v1_y = V1₀_y , v2_x = V2₀_x , v2_y = V2₀_y ,
x 方向 的 总动量 p_x = m1 * V1₀_x + m2 * V2₀_x
y 方向 的 总动量 p_y = m1 * V1₀_y + m2 * V2₀_y
根据 动量守恒,
m1 * v1_x + m2 * v2_x = p_x
m1 * v1_y + m2 * v2_y = p_y
v2_x = ( p_x - m1 * v1_x ) / m2 (7) 式
v2_y = ( p_y - m1 * v1_y ) / m2 (8) 式
(7) 式 两边 对 dt 积分,
ʃ v2_x dt = ʃ ( p_x - m1 * v1_x ) / m2 dt
x2 = ʃ p_x / m2 dt - ʃ m1 / m2 * v1_x dt
x2 = p_x / m2 * t - m1 / m2 * ʃ v1_x dt
x2 = p_x / m2 * t - m1 / m2 * x1 + C , C 为 积分常数 (9) 式
设 m1 的 初始位置 为 ( X1₀, Y1₀ ) , m2 的 初始位置 为 ( X2₀, Y2₀ ) , 初始时 t = 0 , 代入 (9) 式 ,
X2₀ = p_x / m2 * 0 - m1 / m2 * X1₀ + C
X2₀ = 0 - m1 / m2 * X1₀ + C
C = X2₀ + m1 / m2 * X1₀
将 C 代回 (9) 式,
x2 = p_x / m2 * t - m1 / m2 * x1 + X2₀ + m1 / m2 * X1₀ (10) 式
同理, (8) 式 两边 对 dt 积分 可得
y2 = p_x / m2 * t - m1 / m2 * y1 + Y2₀ + m1 / m2 * Y1₀ (11) 式
列 m1 的 微分方程 ,
d ² x1 / dt ² = G * m2 / [ ( x2 - x1 ) ² + ( y2 - y1 ) ² ] * [ x2 - x1 ] / 根号 [ ( x2 - x1 ) ² + ( y2 - y1 ) ² ] (12) 式
d ² y1 / dt ² = G * m2 / [ ( x2 - x1 ) ² + ( y2 - y1 ) ² ] * [ y2 - y1 ] / 根号 [ ( x2 - x1 ) ² + ( y2 - y1 ) ² ] (13) 式
本来 还要 列 m2 的 2 个 微分方程, 类似 (12) 式 (13) 式 , 这样 4 个 方程 组成 方程组,
但 现在 根据 (10) 式 知道 x2 和 x1 的 关系, 根据 (11) 式 知道 y2 和 y1 的 关系, 只要 把 (10) 式 (11) 式 代入 (12) 式 (13) 式 就不用 列 m2 的 2 个 微分方程 了,
这样, 就 只要 2 个 微分方程 组成 方程组, 这也是 一种 简化 吧 。
也就是, 只要 m1 的 2 个 微分方程 (12) 式 (13) 式 作为 方程组 就可以, 当然, 要 代入 (10) 式 (11) 式 。
(10) 式 (11) 式 里 含有 t, 代入 (12) 式 (13) 式 后, (12) 式 (13) 式 又变得 复杂 了 一点 。
当然, (12) 式 (13) 式 这 2 个 方程 的 方程组 直接解 应该 也是 解不出来 的, 但 可以 来点 级数 、线性方程组 、隐函数 求导 什么的 来 表示一下, 线性一下, 逼近一下 。