zoukankan      html  css  js  c++  java
  • 一体方程 二体方程 三体方程

    我在  《人造卫星轨道 和 天体轨道 原理》    https://www.cnblogs.com/KSongKing/p/11867972.html     中 提出了  一体问题 在 直角坐标系 下 的 微分方程组 :

     

    d²x / dt²  =   - G M / (x² + y²) 3/2次方  *  x

    d²y / dt²  =   - G M / (x² + y²) 3/2次方  *  y

     

    在 《极坐标系 下的 牛顿第二定律》    https://www.cnblogs.com/KSongKing/p/11986031.html     中 提出了 一体问题 在 极坐标系 下 的 微分方程 :

     

    d²ρ / dt²  =  -  G M / ρ²  +  ( ρ dθ / dt sin dθ  +  dρ / dt cos dθ - dρ / dt  ) / dt   

     

    在 《大神们 看看 这个 微分方程 怎么解》   https://www.cnblogs.com/KSongKing/p/12199255.html    中 又 提出了 另一种思路,  提出了 一体问题(二体问题) 的 线速度 微分方程 :

     

    dv切 = v切 cos dθ - v径 sin dθ - v切

     

    在 《大神们 看看 这个 微分方程 怎么解》  中 还提到了  教科书 解 二体问题 的 方法 和 我 的 方法 的 对比 :

    教科书 上 的 二体问题 解法 是 以 角动量守恒 为 前提,  推出 开普勒第一定律,   即 运动质点 的 轨迹 是 椭圆,  再结合 万有引力 机械能守恒 微积分方法 来 求出 二体运动方程  。

     

    本文 的 意图 是 不考虑 角动量守恒,  从 运动规律 入手,  先 解出 线速度 变化规律,   再结合 万有引力 机械能守恒 微积分方法 来 求出 二体运动方程  。

     

    线速度 变化规律  应该是 二体问题 的 一个 突破口,      当然,  先得把 方程 解出来    。

     

    以上 是 一体问题,   也可以说是 二体问题,     因为 二体问题 可以 通过 约化质量  转化为 一体问题  。   什么 是 约化质量 呢  ?

     

    设 有 2 个 质点 A 、B,    质量为 M 、m,     两者 在 引力 作用下 运动,  相对于 第三方参照系,   速度 为 V 、v,  加速度 为  A 、a ,   两者间 的 引力 为  F,  根据  牛顿第二定律 :

     

    A = F / M

    a = F / m    

     

    如果 以 A 为 参照系,  根据 伽利略变换,   B 相对于 A 的 加速度  a ′  =   A + a,     即    a ′  =   F / M   +   F / m    ,

     

    我们可以引入一个 虚拟 的 质量  m约  ,   这样,   a ′  可以表示成    a ′  =   F / m约         ,       于是 ,

     

    F / m约   =   F / M   +   F / m 

    1 / m约   =   1 / M   +   1 / m

    1 / m约   =   ( m + M )  /  M m

    m约   =   M m  /  ( m + M ) 

     

    m约   =   M m  /  ( M + m )        就是  B  相对于 A 的 约化质量,    以 m约 作为 B 的 质量,  则 可以 把 A 看作  是 惯性系 ,  这样 就把 二体问题 转化成了 一体问题   。

    通过 约化质量   把  二体 转化为 一体 后,   就可以用  一体 的 方法 方程 来 研究 二体    。

     

    接下来 我们 来 看 三体,   简单起见,      以 二维情形 为例,      在  二维直角坐标系 下 ,

    设  三个质点 的 质量 为  m1, m2, m3 ,      x 方向 速度 为  v1_x, v2_x, v3_x ,   y 方向 速度 为  v1_y, v2_y, v3_y  ,  x 坐标 为  x1, x2, x3 ,  y 坐标 为   y1, y2, y3       。

     

    三体方程组 :

     

    m1 *  d²x1 / dt²  =   G * m1 m2 / [ (x2 - x1) ² + (y2 - y1) ² ] * (x2 - x1) / [ (x2 - x1) ² + (y2 - y1) ² ] 开方     +      G * m1 m3 / [ (x3 - x1) ² + (y3 - y1) ² ] * (x3 - x1) / [ (x3 - x1) ² + (y3 - y1) ² ] 开方

    m1 *  d²y1 / dt²  =   G * m1 m2 / [ (x2 - x1) ² + (y2 - y1) ² ] * (y2 - y1) / [ (x2 - x1) ² + (y2 - y1) ² ] 开方     +      G * m1 m3 / [ (x3 - x1) ² + (y3 - y1) ² ] * (y3 - y1) / [ (x3 - x1) ² + (y3 - y1) ² ] 开方

    m2 *  d²x2 / dt²  =   G * m2 m1 / [ (x1 - x2) ² + (y1 - y2) ² ] * (x1 - x2) / [ (x1 - x2) ² + (y1 - y2) ² ] 开方     +      G * m2 m3 / [ (x3 - x2) ² + (y3 - y2) ² ] * (x3 - x2) / [ (x3 - x2) ² + (y3 - y2) ² ] 开方

    m2 *  d²y2 / dt²  =   G * m2 m1 / [ (x1 - x2) ² + (y1 - y2) ² ] * (y1 - y2) / [ (x1 - x2) ² + (y1 - y2) ² ] 开方     +      G * m2 m3 / [ (x3 - x2) ² + (y3 - y2) ² ] * (y3 - y2) / [ (x3 - x2) ² + (y3 - y2) ² ] 开方

    m3 *  d²x3 / dt²  =   G * m3 m1 / [ (x1 - x3) ² + (y1 - y3) ² ] * (x1 - x3) / [ (x1 - x3) ² + (y1 - y3) ² ] 开方     +      G * m3 m2 / [ (x2 - x3) ² + (y2 - y3) ² ] * (x2 - x3) / [ (x2 - x3) ² + (y2 - y3) ² ] 开方

    m3 *  d²y3 / dt²  =   G * m3 m1 / [ (x1 - x3) ² + (y1 - y3) ² ] * (y1 - y3) / [ (x1 - x3) ² + (y1 - y3) ² ] 开方     +      G * m3 m2 / [ (x2 - x3) ² + (y2 - y3) ² ] * (y2 - y3) / [ (x2 - x3) ² + (y2 - y3) ² ] 开方

     

    这样写  三体方程组 不容易看懂,  可以 写成 文字式 的 方程,  就容易看懂了,  文字式 的 方程 相当于 计算机 程序  里 的  伪代码   。

     

    m1 * a1_x  =   m2 对 m1 的 引力 的 x 分量     +     m3 对 m1 的 引力 的 x 分量

    m2 * a1_y  =   m2 对 m1 的 引力 的 y 分量     +     m3 对 m1 的 引力 的 y 分量

    m2 * a2_x  =   m1 对 m2 的 引力 的 x 分量     +     m3 对 m2 的 引力 的 x 分量

    m2 * a2_y  =   m1 对 m2 的 引力 的 y 分量     +     m3 对 m2 的 引力 的 y 分量

    m3 * a3_x  =   m1 对 m3 的 引力 的 x 分量     +     m2 对 m3 的 引力 的 x 分量

    m3 * a3_y  =   m1 对 m3 的 引力 的 y 分量     +     m2 对 m3 的 引力 的 y 分量

     

    a1_x , a1_y   是  m1  在 x , y 方向 上 的 加速度,        a2_x , a2_y   是  m2  在 x , y 方向 上 的 加速度,       a3_x , a3_y   是  m3  在 x , y 方向 上 的 加速度   。

     

    可以看到,   二维平面 上 的 三体方程组 是   6 个 方程,   是  3 个 质点 在 x , y  2 个 坐标 上 的 的 运动方程,  所以是  3 * 2 = 6   个 运动方程  。

     

    对于 三维空间,   还要 增加 z 坐标 上 的 运动方程,   每个 质点  对应一个 z 坐标 运动方程,  3 个 质点 就需要 增加 3 个 z 坐标 运动方程, 

    所以,    三维空间  上 的  三体方程组 是   6 + 3 = 9 个 运动方程  。

    也可以说,   在 三维空间 上,  每个 质点 在 x , y , z   坐标 上 每个 坐标 有一个 运动方程,  x, y, z  3 个 坐标 就 对应 3 个 运动方程,  

    也就是说,   在 三维空间 上,  一个 质点  对应 3 个 运动方程,  3 个 质点  就 对应  3 * 3 = 9    个  运动方程   。

     

    二维平面 上   三体方程组 的 解 是 :          v1_x, v2_x, v3_x ,     v1_y, v2_y, v3_y  ,    x1, x2, x3 ,     y1, y2, y3

    即  3 个 质点 在 时刻 t 时 的   位置 和 速度,  一共   12 个 变量,     这 12 个 变量 都是 积分,

    所以,  也可以说,  二维平面 上    三体方程组 的 解 是 12 个 积分 。

     

    对于 三维空间,  还要增加  z 坐标 的 速度 和 位置 :     v1_z , v2_z , v3_z   ,     z1 , z2 , z3        。

    z 坐标 的 速度 和 位置 一共 是  6 个 变量,  加上 二维平面 的 12 个 变量,     三维空间 上 的 三体方程组  的 解 是  12 + 6 = 18  个 变量,  也可以说 是  18 个 积分    。

     

    也可以说,     在 三维空间 上,  一个 质点  对应 的 速度 位置 是  6 个变量 :     v_x ,  v_y , v_z  ,    x , y , z      ,

    3 个 质点  对应   3 * 6 = 18  个 变量   。

     

     

    三体方程组 怎么解 ?        我们 看看 一体方程组 怎么解 就知道了 。  在 本文开头,  我们 提出了  一体 在 直角坐标系 下 的 方程组 :

     

    d²x / dt²  =   - G M / (x² + y²) 3/2次方  *  x      (1) 式

    d²y / dt²  =   - G M / (x² + y²) 3/2次方  *  y      (2) 式

     

    最简单 的 思路 是 代入消元法,    和 解 初等代数方程组 一样,     先把  (1) 式 里 的 x 解出来,  x 是一个 y 的 表达式,  应该是 三角函数 自然对数 等 初等函数 的 组合,   把  x  代入 到   (2) 式 ,      这样   (2) 式 就 只有   y 一个 未知数,   再 从 (2) 式 中 把 y 解出来 ,  就可以了  。

     

    注意,  在 从 (1) 式 中 解 出 x 时,  是 解 微分方程,  会 进行 微分积分 计算,   此时,   应 将 y 看作 常量  ,  这样来解   。

     

    把  y 看作 常量  ?           这 是 偏导数 和 偏微分 方程 ?       呵呵,   你说呢  ?

     

    偏导数 是 怪胎,      偏微分方程 毫无意义 。

     

    这样 能 解出   一体方程组 和 三体方程组 吗?         大家 自己 去 试试 就知道了  ,  哈哈哈哈       。

     

    我后来 想了一下,    解这个 微分方程组    解 (1) 式  不能 把   y 看作 常量,      x y 相互影响, 一起变化,  所以,  x y  对于 (1) (2) 式   都是 和 微分 相关 的 变量 ,   不能 把  y 看作 常量 来解 (1) 式,  也不能 把  x 看作 常量 来解 二式   。

     

    对于 微分方程组,     大概 要用 定性分析 的 方法 来 解,      就是 尝试 凑一个  或者一些 函数 看 能否 满足 方程组    。

    这里收录 一篇 文章 《微分方程组解法举例》  https://wenku.baidu.com/view/b79b5df1f90f76c661371a55.html    ,    可以参考   。

     

     

    坊间 流传的 说法 是  三体问题 无解,    三体问题 可不可解 ?    我在 《我写了一个 n-体 模拟程序, 大伙来看看吧》  https://www.cnblogs.com/KSongKing/p/11626271.html        中 提出了   “K氏 n-体 猜想”  :

     

    可以发现,   n-体 运行 一小段时间以后,   就会 发生 碰撞, 或者 相互 无限远离 。     可以 通过 多次 的 演示测试 观察,  通常,  n-体 开始运行后 没有 明显 的 周期性, 并且 在 很短 的 时间 内 就 达到 了 “结局” ,   所谓 结局 就是 质点 发生 碰撞,  未 碰撞 的 质点 相互 无限远离 。

    据此,  我们 可以推测,    如果 存在 一个 稳定运行 的 n-体 的 话,  那么 这个 n-体 应该是 周期性 的 。

    稳定运行 是指 质点 不发生 碰撞 。

    进一步, 也可以这样说,   如果 一个 n-体 是 不可碰撞 的,  那么,  这个 n-体 是 周期性 的 。

    我将 这个 推测 命名 为 “K氏 n-体 猜想”  。

     

    如果  K氏 n-体 猜想  成立,  那么 大刘(刘慈欣) 写的 《三体》 小说 里 三体人 居住 的 三体恒星系统 的 三体问题 就是 可以解的 。

     

    三体恒星系统 存在了 很长时间,   没有 发生 碰撞,  所以 应该是 周期性 的,  既然 是 周期性 的, 就可以 观察 规律 和 预测  。

     

     

     

    2020-05-31     补充 :

    三体 虽然 对 初始条件 敏感,  但 在 数学上,  给定一个 初始条件,  三体 的 解 是 存在的,  3 个 质点 在 某个 时间 t 的 速度 、位置 是 可以确定的 。

    至少在 一段 有限 的 时间 内 是 这样 。

    数学 找不到 办法 来 找到 这个 解,    也没有办法 把 这个 解 表示出来 。

    三体 的 解,  以 一个 质点 在 时刻 t 的 位置 (比如 x 坐标)  来 说,   没有 固定 的 单调性, 所以 不能 表示 为 代数方程,  也没有 周期性, 所以 不能 表示为 周期函数,   具体 的 说 是 包含 三角函数 的 函数 。

    但是,  按照 傅里叶级数 的 宣告,    一个 非周期函数 也可以 表示 为 傅里叶级数,   把 定义域 看作一个 周期 就可以  。

    所以,  即使 三体 的 解 没有 周期性,  也 无论 多么 奇形怪状,   都 可以 表示 为 傅里叶级数  。

    可以 简化一点,   在 一段 有限的时间 内,   三体 的 解 可以 表示 为 傅里叶级数   。

    三维空间 的 三体 的 解 包含  18 个 分量,   一个 质点 有 速度 、位置,   速度 有 x, y, z  3 个 方向 的 分量,  位置 也有 x, y, z  3 个 方向  的 分量,  一个 质点 一共 2 * 3 = 6 个 分量,   三 个 质点 有 3 * 6 = 18 个 分量  。

    每个 分量 可以用 一个  傅里叶级数 来 表示,   当然,  18 个 分量 就是由 18 个 傅里叶级数 来 表示  。

     

  • 相关阅读:
    codevs 1115 开心的金明
    POJ 1125 Stockbroker Grapevine
    POJ 2421 constructing roads
    codevs 1390 回文平方数 USACO
    codevs 1131 统计单词数 2011年NOIP全国联赛普及组
    codevs 1313 质因数分解
    洛谷 绕钉子的长绳子
    洛谷 P1276 校门外的树(增强版)
    codevs 2627 村村通
    codevs 1191 数轴染色
  • 原文地址:https://www.cnblogs.com/KSongKing/p/12075154.html
Copyright © 2011-2022 走看看