• 从 功 W = Fs 推导出 动量守恒


    网友   龙的传人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 个 方程 的 方程组 直接解 应该 也是 解不出来 的,   但 可以 来点 级数 、线性方程组 、隐函数 求导 什么的 来  表示一下, 线性一下, 逼近一下 。

     

     

     

     

     

     

     

     

     

     

     

  • 相关阅读:
    Linux之find命令
    Android WebView如何加载assets下的html文件
    Android 静默安装
    Android listview下拉刷新 SwipeRefreshLayout
    AndroidManifest.xml 详解
    Android 查看内存使用状况
    Android invalidate() 和 postInvalidate()的区别
    Android动画之Interpolator和AnimationSet
    实现Fragment的切换和ViewPager自动循环设置切换时间
    android 实现橡皮擦效果以及保存涂鸦的功能
  • 原文地址:https://www.cnblogs.com/KSongKing/p/13623902.html
走看看 - 开发者的网上家园