二元函數 是 z = f ( x, y ) , 或者 f ( x, y, z ) = 0 ,
比如, z = f ( x, y ) , 有 2 個 自變量 x, y, 有 1 個 因變量 y, 這是 二元函數 。
或者, f ( x, y, z ) = 0 , 這種, 跟 z = f ( x, y ) 也 差不多, 可以叫 二元隱函數 。
不過 , f ( x, y, z ) = 0 是 一個方程, 和 x, y 對應 的 z 可能 不止一個, 這是 和 z = f ( x, y ) 的 區別 。
比如 , 球面 x ² + y ² + z ² = r ² , r 為常量 , 是一個 方程, 也是 隱函數 。
z = 根號 ( r² - x ² - y ² ) 就是 半個球面, 另外 半個球面 是 z = - 根號 ( r ² - x ² - y ² ) 。
總之呢, 把 ( x, y ) 的 集合 看作 p 的 集合, p 是一個 ( x, y, 0 ) 處 的 點, 0 是 z 坐標 。
z = f ( x, y ) 可以看作 寫成 z = f ( p ) ,
給 p 指定 一個 定義域, 這個 定義域 是 xy 平面 上 的 一個 區域, 也 可以說 是 一個 平面圖形,
則 在 定義域 內, z = f ( p ) 的 極值點 在哪里, 有幾個 ?
z = f ( p ) 是 定義域 上方(下方) 的 曲面, 極值點 就是 曲面 上 的 峰頂 和 谷底 。
這個 問題 也和 霍奇猜想 有關 。
z = f ( p ) 的 定義域 是 二維平面 上 的 一個 區域, 這種 函數 稱為 二維自變量 函數 。 這種 函數 的 自變量 是一個 元組 ( x, y ) , p = ( x, y ) 。
同理, 可以有 三維自變量 函數, 比如 a = f ( p ) , p = ( x, y, z ) 。
還可以有 四維自變量函數, 五維自變量函數, …… , n 維自變量函數 。
z = f ( p ) 是 一個 二維自變量函數, 也是 一個 二元函數, 用哪個叫法都可以 。
z = f ( p ) 是 三維坐標系 里 的 一個 曲面, 可以想象, 以 xy 平面 為 “底面”, 曲面 在 z 方向上 高低起伏, 就像是 喀斯特地貌 上 的 一個個 小山峰, 這些 小山峰 的 頂點 就是 極值點 。
用 直觀 和 邏輯 分析一下, 可以知道, 作一些 平面, 垂直於 xy 平面, 這些 平面 過 小山峰 的 頂點 和 曲面 相交, 得到 的 相交線 稱為 垂面交線, 垂面交線 也是 函數曲線 。 對於 每條 垂面交線, 小山峰 的 頂點 就是 垂面交線 的 極值點 。
即, 曲面 的 極值點 也是 過 該 極值點 的 每一條 垂面交線 的 極值點 。
進一步, 可以發現, 如果 曲面 上 的 一點 不是 極值點, 則 過 該點 任意 取 兩條 垂面交線, 該點 必然 不會同時 是 這兩條 垂面交線 的 極值點 。
反過來, 可以說, 過 曲面 上 的 一點 取 任意 兩條 垂面交線, 若 該點 對 兩條 垂面交線 都是 極值點, 則 該點 是 曲面 的 極值點 。
也可以說, 過 曲面 上 的 一點 取 任意 兩條 垂面交線, 若 該點 是 兩條 垂面交線 的 極值點, 則 該點 是 曲面 的 極值點 。
這可以 稱為 二元函數極值定理 。
二元函數極值定理 表示 曲面 上 兩條 垂面交線 可以 決定 曲面 的 極值點, 曲面 上 兩條 垂面交線 相交, 若 交點 是 兩條 垂面交線 的 極值點, 則 交點 是 曲面 的 極值點 。
垂面 垂直於 xy 平面, 可以平行於 xz 平面 或 yz 平面 。 我們可以讓 兩個垂面 一個 平行於 xz 平面, 一個 平行於 yz 平面, 此時, 二元函數極值定理 可以寫成 偏導數 的 形式 :
對於 二元函數 z = f ( x, y ) , 若 ( X₀, Y₀ ) 處 的 偏導數 ∂ z / ∂ x = 0 且 ∂ z / ∂ y = 0 , 則 ( X₀, Y₀ ) 處 是 曲面 的 極值點 。
也可以 嚴格一點 表達, 對於 二元函數 z = f ( x, y ) , 當 x = X₀, y = Y₀ 時, 若 偏導數 ∂ z / ∂ x = 0 且 ∂ z / ∂ y = 0 , 則 ( X₀, Y₀, z ) 是 極值點 。
嗯 …… 看來 偏導數 還是 有點用的 。
進一步, 可以推想, 對於 n 元函數, 極值條件 和 上述 的 二元函數 的 情形 也是 類似 的, 可以 表達為 :
對於 n 元函數, y = f ( x1, x2, x3, …… , xn ) , 若 在 ( X1, X2, X3, …… , Xn ) 處, 滿足 以下 方程組 :
∂ y / ∂ x1 = 0
∂ y / ∂ x2 = 0
∂ y / ∂ x3 = 0
……
∂ y / ∂ xn = 0
則 ( X1, X2, X3, …… , Xn ) 處 是 y 的 極值點 。
這 稱為 n 元函數極值定理 。
應該指出, 滿足 二元函數極值定理 和 n 元函數極值定理 的 點 不一定 是 極值點, 也有可能是 駐點 (又稱為平穩點、穩定點或臨界點), 可以參考 一元函數 駐點(又稱為平穩點、穩定點或臨界點) 的 概念 。
可以 用 一個 圖 簡單 的 看一下 一元函數 的 極值點 和 駐點 :
三維曲面 和 高維曲面 上 的 駐點 的 情形 比 二維曲線(一元函數) 的 駐點 更復雜一些 。 可以把 z = sin x + sin y 的 曲面 畫出來 看看 。
我在 《關於 牛頓 一個晚上 搞定 最速降線》 https://www.cnblogs.com/KSongKing/p/12944582.html 的 文末 留 的 那道題 也可以看作 一個 二元函數極值問題 。
那道題 是 這樣 :
如圖, 光線 從 A 點 出發, 沿 AC 以 速度 v1 到達 C 點, 沿 CD 以 速度 v2 到達 D 點, 沿 DB 以 速度 v3 到達 B 點,
A 點坐標 是 ( 0, 3h ) , B 點 坐標 是 ( L, 0 ) , C 點 坐標 是 ( xc, 2h ) , D 點 坐標 是 ( xd, h ) , h 、L 為 常量 。
問 C 點 D 點 的 橫坐標 xc 、xd 是 多少 時, 光 從 A 到 B 的 時間 最短 ?
這個題 在 本文 里 命名為 題 (1) 。
可以用 二元函數極值 的 思路 來 做這個題 :
可以把 A 、B 、C 、D 四 個 點 的 坐標 改為 ( Xa, Ya ) 、( Xb, Yb ) 、( xc, Yc ) 、( xd, Yd ) , xc, xd 為 變量, Xa, Ya, Xb, Yb, Yc, Yd 為 常量 。
為了便於敘述, 把 A 點 、B 點 、 C 點 、 D 點 的 y 坐標 記為 Ya, Yb, Yc, Yd, 原來 是 3h, 0, 2h, h , 實際上, 到最后, 會發現 結論 和 y 坐標 的 具體取值 沒有關系 。
設 光 從 A 沿 AC - CD - DB 路徑到達 B 的 時間 為 t ,
t = AC / v1 + CD / v2 + DB / v3
= 根號 [ ( xc - Xa ) ² + ( Yc - Ya ) ² ] / v1 + 根號 [ ( xd - xc ) ² + ( Yd - Yc ) ² ] / v2 + 根號 [ ( Xb - xd ) ² + ( Yb - Yd ) ² ] / v3
t = 根號 [ ( xc - Xa ) ² + ( Yc - Ya ) ² ] / v1 + 根號 [ ( xd - xc ) ² + ( Yd - Yc ) ² ] / v2 + 根號 [ ( Xb - xd ) ² + ( Yb - Yd ) ² ] / v3 (1) 式
光 從 A 到 B 的 時間最短 就是 t 取 最小值, 這是 t 的 極值問題 。
(1) 式 中 xc, xd 為 自變量, t 為 因變量, 其它 為 常量 。 求 xc, xd 取什么值時, t 取極值 。
t 是 xc 、xd 的 函數, 記為 t = f ( xc, xd ) , 這是一個 二元函數 。
根據 二元函數極值定理, 可以列方程組 :
∂ t / ∂ xc = 0 1-1 式
∂ t / ∂ xd = 0 1-2 式
為了便於敘述, 這個 方程組 稱為 方程組 (1), 方程組 (1) 的 解 就是 t 的 極值條件 。
1-1 式 可得 :
∂ { 根號 [ ( xc - Xa ) ² + ( Yc - Ya ) ² ] / v1 + 根號 [ ( xd - xc ) ² + ( Yd - Yc ) ² ] / v2 + 根號 [ ( Xb - xd ) ² + ( Yb - Yd ) ² ] / v3 } / ∂ xc = 0
∂ { 根號 [ ( xc - Xa ) ² + ( Yc - Ya ) ² ] / v1 } / ∂ xc + ∂ { 根號 [ ( xd - xc ) ² + ( Yd - Yc ) ² ] / v2 } / ∂ xc + ∂ { 根號 [ ( Xb - xd ) ² + ( Yb - Yd ) ² ] / v3 } / ∂ xc = 0
∂ { 根號 [ ( xc - Xa ) ² + ( Yc - Ya ) ² ] / v1 } / ∂ xc + ∂ { 根號 [ ( xd - xc ) ² + ( Yd - Yc ) ² ] / v2 } / ∂ xc + 0 = 0
∂ { 根號 [ ( xc - Xa ) ² + ( Yc - Ya ) ² ] / v1 } / ∂ xc + ∂ { 根號 [ ( xd - xc ) ² + ( Yd - Yc ) ² ] / v2 } / ∂ xc = 0
1 / v1 * 1/2 * 1 / 根號 [ ( xc - Xa ) ² + ( Yc - Ya ) ² ] * ( 2 xc - 2 Xa ) + 1 / v2 * 1/2 * 1 / 根號 [ ( xd - xc ) ² + ( Yd - Yc ) ² ] * ( 2 xc - 2 xd ) = 0
1 / v1 * ( xc - Xa ) / 根號 [ ( xc - Xa ) ² + ( Yc - Ya ) ² ] + 1 / v2 * ( xc - xd ) / 根號 [ ( xd - xc ) ² + ( Yd - Yc ) ² ] = 0
1 / v1 * ( xc - Xa ) / 根號 [ ( xc - Xa ) ² + ( Yc - Ya ) ² ] - 1 / v2 * ( xd - xc ) / 根號 [ ( xd - xc ) ² + ( Yd - Yc ) ² ] = 0
1 / v1 * ( xc - Xa ) / 根號 [ ( xc - Xa ) ² + ( Yc - Ya ) ² ] = 1 / v2 * ( xd - xc ) / 根號 [ ( xd - xc ) ² + ( Yd - Yc ) ² ] (2) 式
因為
( xc - Xa ) / 根號 [ ( xc - Xa ) ² + ( Yc - Ya ) ² ] = sin θ1
( xd - xc ) / 根號 [ ( xd - xc ) ² + ( Yd - Yc ) ² ] = sin θ2
所以, (2) 式 可化為 :
sin θ1 / v1 = sin θ2 / v2
同理, 1-2 式 可得 sin θ2 / v2 = sin θ3 / v3 , 於是
sin θ1 / v1 = sin θ2 / v2 (3) 式
sin θ2 / v2 = sin θ3 / v3 (4) 式
這就是 方程組 (1) 的 解 , 也就是 t 的 極值條件, 也就是 本題 答案, 當 滿足 (3) 式 (4) 式 時, 光 從 A 到 B 的 時間 最短 。
其實 極值點 的 意義 是 峰值 谷值, 極值點 可能 不止 一個, 極值點 也不一定 是 最大值 最小值, 但 這些問題 我們暫不考慮, 在 下文 里 也一樣 。
接下來, 我們來解 最速降線 問題 。 這個課題 在 本文 命名為 題 (2) 。
如圖, 已知 A 、B 兩點, A 、B 的 位置 確定 。 A 點 坐標 是 ( Xa, Ya ) , B 點 坐標 是 ( Xb, Yb ) 。
和 伯努利推導法 一樣, 在 A 、B 之間 的 y 方向 上 分為 等高 的 n + 1 層, , n -> 無窮,
由 機械能守恆 可知, 小球 從 A 點 滾落, 在 ( x, y ) 處 的 速度 v = V ( x, y ) = 根號 [ 2 g ( Ya - y ) ] ,
在 每一層 的 分界線 取一個 點, 可得 n 個 點 P1, P2, P3 …… Pn , 按 A, P1, P2, P3 …… Pn, B 這樣 的 順序 把 這些點 連起來, 可以 構成 一條 從 A 到 B 的 路徑, 稱為 APB 。
讓 小球 沿 APB 路徑 從 A 滾動 到 B, 求 當 P1, P2, P3 …… Pn 點 的 x 坐標 是 多少時, 小球 從 A 到 B 的 時間 最短 。
記 P1, P2, P3 …… Pn 的 坐標 為 ( x1, y1 ), ( x2, y2 ), ( x3, y3 ) …… ( xn, yn ) ,
規定 小球 從 A 到 P1 的 速度 是 V ( x1, y1 ) , 從 P1 到 P2 的 速度 是 V ( x2, y2 ) , 從 P2 到 P3 的 速度 是 V ( x3, y3 ) …… 以此類推 。
總之 就是 小球 從 第 n - 1 個 點 滾到 第 n 個 點 的 速度 是 V ( xn, yn ) 。
小球 最后 從 Pn 滾動 到 B 的 速度 是 V ( Xb, Yb ) 。
記
v1 = V ( x1, y1 )
v2 = V ( x2, y2 )
v3 = V ( x3, y3 )
……
vn = V ( xn, yn )
vb = V ( xb, yb )
設 小球 沿 APB 路徑 從 A 滾動 到 B 的 時間 為 t,
t = AP1 / v1 + P1P2 / v2 + P2P3 / v3 + …… + PnB / vb
AP1 / v1 = 根號 [ ( x1 - Xa ) ² + ( y1 - Ya ) ² ] / v1
P1P2 / v2 = 根號 [ ( x2 - x1 ) ² + ( y2 - y1 ) ² ] / v2
P2P3 / v3 = 根號 [ ( x3 - x2 ) ² + ( y3 - y2 ) ² ] / v3
……
PnB / vb = 根號 [ ( Xb - xn ) ² + ( Yb - yn ) ² ] / vb
Xa, Ya, Xb, Yb 為 常量, y1, y2, y3 …… yn 為 常量, x1, x2, x3 …… xn 是 變量 。
可以看到 , t 是 x1, x2, x3 …… xn 的 函數, 可以記為 t = f ( x1, x2, x3 …… xn ) , 是一個 多元函數 。
小球 從 A 到 B 的 時間最短 就是 t 的 極值, 根據 n 元函數極值定理 , 可以 列方程組 :
∂ t / ∂ x1 = 0 2-1 式
∂ t / ∂ x2 = 0
∂ t / ∂ x3 = 0
……
∂ t / ∂ xn = 0
這個方程組 稱為 方程組 (2) 。
先 化簡 2-1 式 ,
∂ t / ∂ x1 = 0
∂ { AP1 / v1 + P1P2 / v2 + P2P3 / v3 + …… + PnB / vb } / ∂ x1 = 0
∂ ( AP1 / v1 ) / ∂ x1 + ∂ ( P1P2 / v2 ) / ∂ x1 + ∂ ( P2P3 / v3 ) / ∂ x1 + …… + ∂ ( PnB / vb ) / ∂ x1 = 0 (5) 式
因為 P2P3, v3, P3P4, v4, P4P5, v5 …… PnB, vb 和 x1 無關, 所以
∂ ( P2P3 / v3 ) / ∂ x1 = 0
∂ ( P3P4 / v4 ) / ∂ x1 = 0
∂ ( P4P5 / v5 ) / ∂ x1 = 0
…… = 0
∂ ( PnB / vb ) / ∂ x1 = 0
於是, (5) 式 得 :
∂ ( AP1 / v1 ) / ∂ x1 + ∂ ( P1P2 / v2 ) / ∂ x1 + 0 + …… + 0 = 0
∂ ( AP1 / v1 ) / ∂ x1 + ∂ ( P1P2 / v2 ) / ∂ x1 = 0
∂ { 根號 [ ( x1 - Xa ) ² + ( y1 - Ya ) ² ] / v1 } / ∂ x1 + ∂ { 根號 [ ( x2 - x1 ) ² + ( y2 - y1 ) ² ] / v2 } / ∂ x1 = 0
因為 v1 = V ( x1, y1 ) = 根號 [ 2 g ( Ya - y1 ) ] , 可以看到, v1 和 x1 無關, 或者說, 對於一個 確定 的 y1, 無論 x1 如何變化, v1 不變, 所以, 相對於 x1, v1 為 常量, 可以 提到 偏導符號 ∂ { } 外面 來 。 v2 也是 同樣 。
接下來 的 推導過程 和 方程組 (1) 的 1-1 式 類似, 同理可得 :
1 / v1 * ( x1 - Xa ) / 根號 [ ( x1 - Xa ) ² + ( y1 - Ya ) ² ] = 1 / v2 * ( x2 - x1 ) / 根號 [ ( x2 - x1 ) ² + ( y2 - y1 ) ² ]
sin θ1 / v1 = sin θ2 / v2
方程組 (2) 的 其它 方程 同理 可得 :
sin θ2 / v2 = sin θ3 / v3
sin θ3 / v3 = sin θ4 / v4
sin θ4 / v4 = sin θ5 / v5
……
sin θn / vn = sin θb / vb
即 sin θ1 / v1 = sin θ2 / v2 = sin θ3 / v3 = …… = sin θn / vn = sin θb / vb = C , C 為常量
寫成通式 sin θ / v = C , C 為常量
啊, 這, 算是 證明了 最速降線 的 每個 微元 都 滿足 斯涅耳定理(折射定律) ?
再來看一個題 , 這個題 在 本文 命名為 題 (3) 。
如圖, A 、B 兩點 固定, C 、D 兩點 位置任意, 按 A 、C 、D 、B 的 順序 把 4 個 點 連起來, 可以構成一條 從 A 到 B 的 路徑, 稱為 ACDB 。
問 C 、D 的 位置 為何 時, 路徑 ACDB 最短 ?
設 ACDB 長度 為 L, A、B、C、D 的 坐標 為 ( Xa, Ya ) 、( Xb, Yb ) 、( xc, yc ) 、( xd, yd ) 。
L = AC + CD + DB
= 根號 [ ( xc - Xa ) ² + ( yc - Ya ) ² ] + 根號 [ ( xd - xc ) ² + ( yd - yc ) ² ] + 根號 [ ( Xb - xd ) ² + ( Yb - yd ) ² ]
L = 根號 [ ( xc - Xa ) ² + ( yc - Ya ) ² ] + 根號 [ ( xd - xc ) ² + ( yd - yc ) ² ] + 根號 [ ( Xb - xd ) ² + ( Yb - yd ) ² ]
Xa, Ya, Xb, Yb 為 常量, xc, yc, xd, yd 為 變量 。
L 是 xc, yc, xd, yd 的 函數, 可以記為 L = f ( xc, yc, xd, yd ) , 是 一個 四元函數 。
根據 n 元函數極值定理, L 的 極值條件 是 以下 方程組 :
∂ L / ∂ xc = 0 3-1 式
∂ L / ∂ yc = 0 3-2 式
∂ L / ∂ xd = 0 3-3 式
∂ L / ∂ yd = 0 3-4 式
這個 方程組 稱為 方程組 (3) 。
化簡 3-1 式 :
∂ { 根號 [ ( xc - Xa ) ² + ( yc - Ya ) ² ] + 根號 [ ( xd - xc ) ² + ( yd - yc ) ² ] + 根號 [ ( Xb - xd ) ² + ( Yb - yd ) ² ] } / ∂ xc = 0
∂ { 根號 [ ( xc - Xa ) ² + ( yc - Ya ) ² ] } / ∂ xc + ∂ { 根號 [ ( xd - xc ) ² + ( yd - yc ) ² ] } / ∂ xc + ∂ { 根號 [ ( Xb - xd ) ² + ( Yb - yd ) ² ] } / ∂ xc = 0
∂ { 根號 [ ( xc - Xa ) ² + ( yc - Ya ) ² ] } / ∂ xc + ∂ { 根號 [ ( xd - xc ) ² + ( yd - yc ) ² ] } / ∂ xc + 0 = 0
∂ { 根號 [ ( xc - Xa ) ² + ( yc - Ya ) ² ] } / ∂ xc + ∂ { 根號 [ ( xd - xc ) ² + ( yd - yc ) ² ] } / ∂ xc = 0
1/2 * 1 / 根號 [ ( xc - Xa ) ² + ( yc - Ya ) ² ] * ( 2 xc - 2 Xa ) + 1/2 * 1 / 根號 [ ( xd - xc ) ² + ( yd - yc ) ² ] * ( 2 xc - 2 xd ) = 0
( xc - Xa ) / 根號 [ ( xc - Xa ) ² + ( yc - Ya ) ² ] + ( xc - xd ) / 根號 [ ( xd - xc ) ² + ( yd - yc ) ² ] = 0
( xc - Xa ) / 根號 [ ( xc - Xa ) ² + ( yc - Ya ) ² ] - ( xd - xc ) / 根號 [ ( xd - xc ) ² + ( yd - yc ) ² ] = 0
( xc - Xa ) / 根號 [ ( xc - Xa ) ² + ( yc - Ya ) ² ] = ( xd - xc ) / 根號 [ ( xd - xc ) ² + ( yd - yc ) ² ]
sin θ1 = sin θ2
同理, 3-2 式 可得 : cos θ1 = cos θ2
3-3 式 可得 : sin θ2 = sin θ3
3-4 式 可得 : cos θ2 = cos θ3
於是, 方程組 (3) 的 解 是 :
sin θ1 = sin θ2 (6) 式
cos θ1 = cos θ2 (7) 式
sin θ2 = sin θ3 (8) 式
cos θ2 = cos θ3 (9) 式
(6) 式 (8) 式 表示 C 、D 和 A 、B 在 一條直線上, 且 C 、D 在 A 、B 之間 。
(7) 式 (9) 式 也表示 C 、D 和 A 、B 在 一條直線上, 且 C 、D 在 A 、B 之間 。
(6) 式 和 (7) 式 等價, (8) 式 和 (9) 式 等價 。
所以, 結論是, 當 A 、B 、C 、D 在 一條直線上, 且 C 、D 在 A 、B 之間 時, 路徑 ACDB 最短 。
當然, 這個 結論 是 顯而易見 的, 兩點之間直線最短 嘛 。
接下來, 看看 曲面 上 的 短程線 。 短程線 就是 曲面 上 2 點 間 距離 最短 的 線(曲線 / 路徑) 。 這個課題 在 本文 命名為 題 (4) 。
設有 曲面 P, 曲面函數 是 z = P ( x, y ) , 曲面 上 有 A 、B 兩點, 位置確定 。 A 、B 坐標 是 ( Xa, Ya, za ) 、( Xb, Yb, zb ) ,
其中, za = P ( Xa, Ya ) , zb = P ( Xb, Yb ) , Xa, Ya, Xb, Yb 為 常量 。
在 曲面 上 取一些點 : P1, P2, P3 …… Pn , 按 A, P1, P2, P3 …… Pn, B 的 順序 把 A 、B 和 這些點 連起來, 構成 一條 路徑, 稱為 APB 。
APB 是 一條 折線, 長度 記為 L 。
L = AP1 + P1P2 + P2P3 + …… + PnB
= 根號 [ ( x1 - Xa ) ² + ( y1 - Ya ) ² + ( z1 - za ) ² ] + 根號 [ ( x2 - x1 ) ² + ( y2 - y1 ) ² + ( z2 - z1 ) ² ] + 根號 [ ( x3 - x2 ) ² + ( y3 - y2 ) ² + ( z3 - z2 ) ² ] + …… + 根號 [ ( Xb - xn ) ² + ( Yb - yn ) ² + ( zb - zn ) ² ]
其中, z1 = P ( x1, y1 ), z2 = P ( x2, y2 ), z3 = P ( x3, y3 ) …… zn = P ( xn, yn )
所以, L 是 x1, y1, x2, y2, x3, y3 …… xn, yn 的 函數, 可以記為 L = f ( x1, y1, x2, y2, x3, y3 …… xn, yn ) , 是 一個 多元函數 。
當 n 為 一個 確定 的 自然數 時, 可以來求 最短 的 APB, 即 確定出 P1, P2, P3 …… Pn 的 位置, 使得 APB 最短 。
求 最短 的 APB 就是 求 L 的 極值 , 根據 n 元函數極值定理, 可以 列方程組 :
∂ L / ∂ x1 = 0 4-1 式
∂ L / ∂ y1 = 0 4-2 式
∂ L / ∂ x2 = 0
∂ L / ∂ y2 = 0
∂ L / ∂ x3 = 0
∂ L / ∂ y3 = 0
……
∂ L / ∂ xn = 0
∂ L / ∂ yn = 0
這個 方程組 稱為 方程組 (4) 。
化簡 4-1 式 :
∂ ( AP1 + P1P2 + P2P3 + …… + PnB ) / ∂ x1 = 0
∂ ( AP1 ) / ∂ x1 + ∂ ( P1P2 ) / ∂ x1 + ∂ ( P2P3 ) / ∂ x1 + …… + ∂ ( PnB ) / ∂ x1 = 0
因為 P2P3, P3P4, P4P5 …… PnB 和 x1 無關, 所以
∂ ( P2P3 ) / ∂ x1 = 0
∂ ( P3P4 ) / ∂ x1 = 0
∂ ( P4P5 ) / ∂ x1 = 0
…… = 0
∂ ( PnB ) / ∂ x1 = 0
於是
∂ ( AP1 ) / ∂ x1 + ∂ ( P1P2 ) / ∂ x1 + 0 + …… + 0 = 0
∂ ( AP1 ) / ∂ x1 + ∂ ( P1P2 ) / ∂ x1 = 0
∂ { 根號 [ ( x1 - Xa ) ² + ( y1 - Ya ) ² + ( z1 - za ) ² ] } / ∂ x1 + ∂ { 根號 [ ( x2 - x1 ) ² + ( y2 - y1 ) ² + ( z2 - z1 ) ² ] } / ∂ x1 = 0 (10) 式
同理, 4-2 式 可得 :
∂ { 根號 [ ( x1 - Xa ) ² + ( y1 - Ya ) ² + ( z1 - za ) ² ] } / ∂ y1 + ∂ { 根號 [ ( x2 - x1 ) ² + ( y2 - y1 ) ² + ( z2 - z1 ) ² ] } / ∂ y1 = 0 (11) 式
方程組 (4) 其它 方程 可得到 類似 (10) 式 (11) 式 的 結果, 所以 方程組 (4) 的 化簡結果 是 :
∂ { 根號 [ ( x1 - Xa ) ² + ( y1 - Ya ) ² + ( z1 - za ) ² ] } / ∂ x1 + ∂ { 根號 [ ( x2 - x1 ) ² + ( y2 - y1 ) ² + ( z2 - z1 ) ² ] } / ∂ x1 = 0
∂ { 根號 [ ( x1 - Xa ) ² + ( y1 - Ya ) ² + ( z1 - za ) ² ] } / ∂ y1 + ∂ { 根號 [ ( x2 - x1 ) ² + ( y2 - y1 ) ² + ( z2 - z1 ) ² ] } / ∂ y1 = 0
……
∂ { 根號 [ ( xn - xm ) ² + ( yn - ym ) ² + ( zn - zm ) ² ] } / ∂ xn + ∂ { 根號 [ ( Xb - xn ) ² + ( Yb - yn ) ² + ( zb - zn ) ² ] } / ∂ xn = 0 , m = n -1
∂ { 根號 [ ( xn - xm ) ² + ( yn - ym ) ² + ( zn - zm ) ² ] } / ∂ yn + ∂ { 根號 [ ( Xb - xn ) ² + ( Yb - yn ) ² + ( zb - zn ) ² ] } / ∂ yn = 0 , m = n -1
這個 方程組 就是 曲面短程線方程組 。 方程組 (4) 有 2n 個 方程, 曲面短程線方程組 也有 2n 個 方程, 兩者一一對應 。
曲面短程線方程組 有 2n 個 未知數 : x1, y1, x2, y2, x3, y3 …… xn, yn ,
把 曲面函數 z = P ( x,y ) 代入 曲面短程線方程組, 可以 解出 x1, y1, x2, y2, x3, y3 …… xn, yn , 也就是 得到了 P1, P2, P3 …… Pn 的 位置,
把 A, P1, P2, P3 …… Pn, B 連起來, 得到 折線 APB , APB 是 A 、B 兩點間 節點數 為 n 的 折線 中 最短 的 那一條 。 或者說, APB 是 A 、B 兩點間 節點數 為 n 的 最短折線 。
這里 組成 折線 的 線段 是 直線線段, 這些 線段 的 端點 在 曲面 上, 但是 線段 不在 曲面 上, 像是一些 架在 曲面 上的 橋梁 。
當 n -> 無窮 時, 折線 APB 就成了 光滑曲線, 就是 短程線, 當然, 光滑曲線 是 在 曲面 上 的 。
曲面短程線方程組 有 2n 個 未知數, 2n 個 方程, 是 一個 多元方程組, 要 怎么解 呢 ? 用 計算機 解 吧, 哈哈 。 大概 應該是用 計算機 數值方法 來 解 。
當 n 為 有限大小 的 自然數 時, 方程 的 解 是 n 個 點 P1, P2, P3 …… Pn , 把 A, P1, P2, P3 …… Pn, B 連起來 就可以得到 近似的 短程線 。
這可以用於 離散繪制, 比如 計算機模擬繪制 。
剛剛也說了, 曲面短程線方程組 得到 的 解 是 一些點 P1, P2, P3 …… Pn , 理論上, 連接 這些 點 的 線段 是 直線線段,
但 模擬繪制 時, 連接 A, P1, P2, P3 …… Pn, B 的 線段 不一定 是 直線線段, 可以 近似 的 選擇 曲面 上 的 曲線線段,
比如, 連接 P1, P2 , 可以 選擇 P1, P2 之間 在 曲面 上 的 一條 曲線線段, 大概的, 盡量 讓 這條 曲線線段 短一點 就行 。
計算機 數值方法 解 n 元方程組, 當 n 很大時, 計算量(時間復雜度) 很大, 即使 用 跨越步進法, 計算量 還是會很大 。 但有一點好處是, 數值方法 解 n 元方程組 可以 使用 並行計算, 就是說 可以 分解 為 多個 小任務 並行計算 。 未來, 大規模並行計算 是 計算 的 基礎架構, 也是 一個 主流, 也是 普及 的, 可以用 大規模並行計算 或 網格計算 等 來 解 n 元方程組, 這就 很爽 了, 哈哈 。
以 P1 、P2 、P3 表示 相鄰 的 3 個 點, P1 、P2 、P3 的 坐標 為 ( x1, y1, z1 ) 、( x2, y2, z2 ) 、( x3, y3, z3 ) , 則 曲面短程線方程組 可以 寫成 通式 :
∂ { 根號 [ ( x2 - x1 ) ² + ( y2 - y1 ) ² + ( z2 - z1 ) ² ] } / ∂ x2 + ∂ { 根號 [ ( x3 - x2 ) ² + ( y3 - y2 ) ² + ( z3 - z2 ) ² ] } / ∂ x2 = 0 (12) 式
∂ { 根號 [ ( x2 - x1 ) ² + ( y2 - y1 ) ² + ( z2 - z1 ) ² ] } / ∂ y2 + ∂ { 根號 [ ( x3 - x2 ) ² + ( y3 - y2 ) ² + ( z3 - z2 ) ² ] } / ∂ y2 = 0 (13) 式
其中, z1 = P ( x1, y1 ), z2 = P ( x2, y2 ), z3 = P ( x3, y3 ) 。
(12) 式 (13) 式 就是 曲面短程線微元方程組, 這個 方程組 的 意義 是, 在 曲面 P 上, 由 P1 、P2 兩個點, 可以決定 P3 。 P1, P2, P3 連成 的 折線 稱為 P1P2P3, 在 曲面 上 可以 任意 取 一個 點 Px, 按 P1, Px, P3 的 順序 把 3 個點 連起來, 得到 的 折線 稱為 P1PxP3, 由於 Px 的 位置任意, 所以, P1PxP3 這樣 的 折線 有 無數條, P1P2P3 是 這些 折線 中 最短 的 。
也可以說, P1P2P3 是 P1, P3 間 用 2 條 直線線段 連起來 構成 的 折線 中 最短 的 那一條 。
同樣, 可以由 P1, P3 決定 P2, 也可以由 P2, P3 決定 P1, 得到 的 P1P2P3 都是 P1PxP3 中 最短 的 。
(12) 式 (13) 式 中 代入 曲面函數 y = P ( x, y ) 求偏導 化簡 后, 得到的是 2 個 方程, 這 2 個 方程 中 有 6 個 未知數 x1, y1, x2, y2, x3, y3 ,
已知 x1, y1, x2, y2 可以求 x3, y3 , 這是 由 P1, P2 決定 P3 。
已知 x1, y1, x3, y3 可以求 x2, y2 , 這是 由 P1, P3 決定 P2 。
已知 x2, y2, x3, y3 可以求 x1, y1 , 這是 由 P2, P3 決定 P1 。
但是, 由 (12) 式 (13) 式 對 x2, y2 求偏導 決定了, 把 P1, P2, P3 連成 折線 的 順序 是 P1, P2, P3 , 這樣 連起來 得到的 折線 P1P2P3 才具有 “最短” 的 意義, 也就是 P1, P3 間 通過 2 條 直線線段 構成 的 折線 中 最短 的 那一條 的 意義 。
進一步, 在 曲面 上, 可以 任選 2 個 點 P1, P2, 由 (12) 式 (13) 式 可以 得到 P3, 再由 P2, P3 通過 (12) 式 (13) 式 得到 P4, 再由 P3, P4 得到 P5, …… 一直到 Pn ,
把 P1, P2, P3, P4, P5 …… Pn 連起來 得到 一條 折線, 稱為 P1Pn, P1Pn 是 P1, Pn 間 節點數 為 n - 2 的 最短折線 。 這里 的 節點數 是 P1, Pn 間 的 節點數, 不包括 P1, Pn 2 個點, 所以, P1, Pn 間 的 節點數 是 n - 2 。
(12) 式 (13) 式 這種方程 不是 一般意義 上 的 微分方程, 可以稱為 微元方程, 具有 離散性質 。 在 一些時候, 微元方程 可能 轉化為 微分方程, 比如 上文 的 題 (1) 、題 (2) 、題 (3) 。
看一下 曲面短程線方程組 的 實際應用, 以 球面 為例, 在 曲面短程線方程組 中 代入 球面函數 y = 根號 ( r ² - x ² - y ² ) , 可以得到 球面短程線方程組 。
在 曲面短程線微元方程組 中 代入 球面函數 y = 根號 ( r ² - x ² - y ² ) , 可以得到 球面短程線微元方程組 。
最后, 留一道題, 這題 在 本文 命名為 題 (5) 。
這題 是 最速降線 的 空間版, 在 三維空間 里, 有 A 、B 兩點, 建立一個 三維坐標系 xyz, z 軸 是 豎直方向( 和 重力方向 平行) 。
A 和 B 在 豎直方向 上 不在 一個平面 上, 這是 和 二維版 最速降線 的 區別, 二維版 的 最速降線 A 和 B 在 重力方向 上 在 同一個平面 。
A 點 比 B 點 高 , 問 小球 從 A 沿着 怎樣 的 曲線 滾動 到 B 所用 的 時間 最短 ? 當然, 這條 曲線 就是 A 、B 間 的 最速降線, 也是 空間 中 的 最速降線 。