我在 《人造衛星軌道 和 天體軌道 原理》 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 個 傅里葉級數 來 表示 。