JOVANA
Library Glossary Getting Started Three Levels Fields How it works Mission
Join the mission
All guides

一階線性方程及其技巧

一條可靠的配方——積分因子——把每個一階線性方程都化成閉式解。隨後兩個著名代換,伯努利的和里卡蒂的,又把整族整族的非線性方程偷偷送回這台值得信賴的機器裡。

一種樣子,一個保證的答案

上一篇指南講過,可分離方程是一種幸運的巧合——變量恰好能拆開,一旦拆不開,這招就直接失效。這篇指南給你的,是遠為可靠的東西。一階線性方程是這整個台階裡唯一一個總能向一條固定配方投降的微分方程,每一次都行,無需猜測、無需運氣。只要你能把方程掰成它的樣子,基本上就大功告成。

標準形是 dy/dx + P(x) y = Q(x)。仔細讀它:未知量 y 單獨出現、只到一次冪,至多被一個 x 的函數相乘——絕不被 y 自己乘、絕不藏在正弦或根號裡。正是 y 的這種線性,才是閉式配方存在的全部緣由。右邊 Q(x) 是驅動項或源項,只依賴 x;它是驅動系統的輸入。若你的方程還不長這樣,你的頭一件事永遠是把它揉成這個確切的模板。

積分因子:把左邊變成一個導數

障礙在這裡。左邊 dy/dx + P(x) y 幾乎就是一個乘積的導數——卻差那麼一點。回想第一卷的乘積法則:(mu y) 對 x 的導數等於 mu (dy/dx) + (d(mu)/dx) y。把它和我們的左邊對照:只要那個光禿禿的 y 所帶的係數,恰好是 dy/dx 那一項係數的導數,兩項就會坍縮成一個利落的項。積分因子正是為了硬逼出這種坍縮而設計的乘子 mu(x)。

把整個標準形方程乘以 mu(x)。左邊變成 mu (dy/dx) + mu P y,而我們希望它等於 (mu y) 對 x 的導數 = mu (dy/dx) + (d(mu)/dx) y。讓兩個 y 項相符,就要求 d(mu)/dx = mu P——這是關於 mu 自身的一個小小可分離方程,其解為 mu(x) = e^{對 P(x) 積分}。那個指數就是那一勺魔法。有了它,左邊恰好是 (mu y) 對 x 的導數,方程讀作 d/dx(mu y) = mu Q。現在兩邊各積分一次——動用你早已信賴的原函數——你就到家了:mu y = 積分 mu Q dx + C,故 y = (1/mu)(積分 mu Q dx + C)。

dy/dx + P(x) y = Q(x)            standard form

mu(x) = e^( integral P(x) dx )   the integrating factor

multiply through by mu:
  d/dx ( mu * y ) = mu * Q(x)    left side is now ONE derivative

integrate once:
  mu * y = integral( mu * Q ) dx + C
  y = (1/mu) * ( integral( mu * Q ) dx + C )
完整的積分因子配方:構造 mu,相乘,坍縮成一個導數,積分一次。

走一遍——並讀懂答案

看 dy/dx + (1/x) y = x,在 x > 0 上成立。這裡 P = 1/x,故 mu = e^{對 1/x 積分} = e^{ln x} = x。乘以 mu = x:方程變成 d/dx(x y) = x^2,左邊正如所諾,成了單個導數。積分一次:x y = x^3/3 + C,於是 y = x^2/3 + C/x。一次乘法、一次積分,整族解就現身了——那個 C/x 項正是你對一階方程所期待的自由度,只有當你給出初始條件時才被釘死。

看看那個答案的結構,因為它是這條階梯後續一切的種子。C/x 這一塊解的是齊次版本(Q = 0),而 x^2/3 這一塊是對驅動 Q = x 的一個特解響應。每個線性解都這樣拆分:齊次部分加特解部分。當驅動關掉(Q = 0),答案純是 y = C/mu = C e^{-對 P 積分}——一個衰減或增長的指數,系統自行弛豫。把驅動打開,你只需把它驅動出的響應加上去。這種「齊次加特解」的分解,是後續全部更高階線性理論的脊梁。

這不是教科書裡的玩具。完全一樣的方程 dq/dt + q/(RC) = V/R,描述電容通過電阻充電;mu = e^{t/(RC)} 給出熟悉的 q(t) = C_0 V (1 - e^{-t/(RC)}),平滑趨向滿電。換掉符號,它就是一個進出流的混合槽,或趨向漂移環境溫度的牛頓冷卻,或帶穩定補給的放射性衰變。只要某個量以「正比於自身再加一個外部推力」的速率變化,就是這個方程——而積分因子對它從不失手。

伯努利:暗中線性的非線性方程

正因為積分因子如此可靠,下一步自然就貪心起來:我們能不能把非線性方程拽進線性形式,讓同一台機器把它們做完?常常可以。最著名的例子是伯努利方程,dy/dx + P(x) y = Q(x) y^n。它看上去剛好夠不著——右邊那個孤零零的 y^n 是唯一的非線性瑕疵,正是這一項讓積分因子失去資格。(當 n 為 0 或 1 時方程本就線性,故排除這兩種情形。)

  1. 認出模式,讀出 n——右邊 y 的冪次。
  2. 代入 v = y^{1-n}。對它求導(用鏈式法則),使 dv/dx 恰好拽出抵消非線性項所需的 y^{-n} 因子。
  3. 方程化為關於 v 的線性方程:dv/dx + (1-n) P(x) v = (1-n) Q(x)。用它的積分因子求解,與上文完全一樣。
  4. 還原代換:把 v 換回 y^{1-n},解出 y,得到原變量下的答案。

一幅具體圖景:dy/dx + y = y^2,故 n = 2,令 v = y^{1-2} = 1/y。求導得 dv/dx = -y^{-2}(dy/dx),代入後方程坍縮成線性的 dv/dx - v = -1。它的積分因子是 e^{-x},解為 v = 1 + C e^x。還原:y = 1/v = 1/(1 + C e^x)——一條無可辨認錯的 S 形曲線。這絕非巧合。當 n = 2 時,刻畫有界增長的邏輯斯蒂方程本身就是一個伯努利方程,而這個代換正是求解它的一條乾淨途徑。

里卡蒂:閉式解用盡之處

再上一級,你就撞上里卡蒂方程,dy/dx = q_0(x) + q_1(x) y + q_2(x) y^2——一個常數項、一個線性項,外加那個洩露身份的 y^2。它看上去只比伯努利複雜一點點,但單單這一個二次項就改變了一切。僅憑係數沒有任何公式能給出它的通解;一般而言,里卡蒂方程根本無法用初等函數求解。這是一條誠實的數學前沿,是「可解的一階方程」這一整齊家族走到盡頭的地方。

兩條生路使它免於無望。其一,一個出色的變換:代換 y = -u'/(q_2 u) 把里卡蒂方程化為關於 u 的二階線性方程。於是一個非線性一階方程恰好等價於一個高一階的線性方程——這正是里卡蒂方程與二階線性理論及特殊函數糾纏在一起的原因,你將在下一級台階再度遇見它們。其二,一份不完整的饋贈:若你能設法猜出一個特解 y_1,那麼代換 y = y_1 + 1/v 就把餘下部分降為一個你能徹底解完的伯努利(實為線性)方程。

把這個論斷說精確,因為它很容易被誇大。「一般沒有初等解」不等於「沒有解」。里卡蒂方程總有貨真價實的解——存在性毫無疑問。只是它們未必能表達成初等函數的有限組合,正如 e^{-x^2} 的積分是一個真實、定義明確、卻沒有初等原函數的數。要把里卡蒂解釘死,你可能需要一個已知特解、一個特殊函數或一種數值方法——但解始終在那裡。

退後一步,看清這三者的弧線。積分因子直接解決每個線性方程。伯努利的代換把一個乾淨的非線性家族線性化,再交回那台機器。里卡蒂的二次項最終打破了魔咒——可即便在那裡,結構依然倖存:方程被提升為高一階的可解線性問題,或向一個幸運的猜測投降。這一級台階反復教給我們的,是真正的分界線並非「線性對非線性」,而是「有無隱藏結構」,而代換正是你去搜尋那種結構的方式。