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

振動:阻尼、強迫與共振

同一個二階線性方程,既支配著來回擺動的彈簧,也支配著收音機的調諧電路。用對節拍去推它,你就會遇見共振——正是這一現象讓酒杯鳴響、讓電台被選中,也曾一度把一座橋撕裂。

一個方程,兩台機器

把一個質量掛在彈簧上,往下拉,鬆手。牛頓第二定律說,質量乘加速度等於受力之和,而力有三種:彈簧按你拉伸的距離成比例地往回拉(-k x),一種阻力按速度成比例地與運動作對(-c dx/dt),以及你從外面施加的任何推力(F(t))。把它們匯齊,就得到 m d^2x/dt^2 + c dx/dt + k x = F(t)。這便是整篇指南的全部內容——一個二階線性方程,係數為常數,正是你在本級前面用特徵方程馴服過其齊次部分的那一類。

現在改造一台電路:一個線圈(電感 L)、一個電阻 R、一個電容 C 串成迴路,由電壓 V(t) 驅動。用基爾霍夫定律把各處的電壓降加起來,就得到 L d^2q/dt^2 + R dq/dt + q/C = V(t),其中 q 是電容上的電荷。仔細看——它是*同一個方程*。質量 m 變成了電感 L,阻力 c 變成了電阻 R,彈簧勁度 k 變成了 1/C,位移 x 變成了電荷 q。這不是鬆散的類比;兩個系統受完全相同的數學支配,所以你關於彈簧學到的每一條事實,同時也是關於電路的一條事實。這份省儉,正是線性常微分方程值得如此仔細研究的原因。

無人打擾的彈簧:自由振動

先去掉阻力,也去掉推力:m d^2x/dt^2 + k x = 0。整理一下,d^2x/dt^2 = -(k/m) x——加速度永遠指回中心,離得越遠,回拉越猛。特徵方程 m r^2 + k = 0 有一對純虛根 r = ±i omega_0,其中 omega_0 = sqrt(k/m),解為 x(t) = A cos(omega_0 t) + B sin(omega_0 t),一條永遠擺動下去的純正弦。常數 omega_0 就是固有頻率——你撥它一下、轉身離開後,系統自己鳴響的節拍。更硬的彈簧或更輕的質量鳴響得更快;這一個數,就是系統的簽名。

值得看清,為什麼實指數和餘弦在這裡是同一種動物。當特徵根算出來是複數 r = ±i omega_0 時,最自然的構件就是複指數 e^{i omega_0 t}。歐拉公式 e^{i theta} = cos(theta) + i sin(theta) 把它拆成一個餘弦和一個正弦,於是兩個實解 cos(omega_0 t) 和 sin(omega_0 t) 不過是同一個旋轉複數的實部和虛部。物理學家和工程師把複數形式一路保留到最後,只在最後一步取實部——這讓振幅與相位的代數幾乎變得不費吹灰之力,等強迫登場時你就會看到。

兩個常數 A 和 B,恰是二階方程總要攜帶的那份自由——回想前面講過的,階數數的是你必須提供多少條起始事實。在這裡,它們由質量從哪裡出發、運動得多快來定死,即 x(0) 與 dx/dt(0)。等價地,把解寫成單個平移過的餘弦 x(t) = R cos(omega_0 t - phi);這時 R 是振幅(擺多遠),phi 是相位(從一個週期的哪裡開始)。能量在被拉伸的彈簧(勢能)和運動的質量(動能)之間來回晃蕩,總量始終不變,因為還沒有任何東西去排乾它。

阻尼:能量去了哪裡

真實的彈簧會慢下來;真實的電路會散熱。把阻力放回去:m d^2x/dt^2 + c dx/dt + k x = 0,這就是阻尼諧振子。特徵方程是 m r^2 + c r + k = 0,它的判別式 c^2 - 4 m k 決定了系統性格的一切。求根公式給出 r = (-c ± sqrt(c^2 - 4mk)) / (2m),根據那個平方根下面的符號,會發生三種本質不同的情形。

  1. 欠阻尼(c^2 < 4mk):根為複數,r = -gamma ± i omega_d,其中 gamma = c/(2m)。解為 x(t) = R e^{-gamma t} cos(omega_d t - phi)——它仍在振盪,但被裹在一個不斷收縮的包絡 e^{-gamma t} 之內。撥響的吉他弦、逐漸停下的鞦韆。注意鳴響頻率 omega_d = sqrt(omega_0^2 - gamma^2) 比固有的 omega_0 略*低*;阻尼不僅讓它衰減,也讓它擺得稍慢一點。
  2. 臨界阻尼(c^2 = 4mk):判別式消失,兩根合併成一個重根 r = -c/(2m)。重根逼出一個帶有額外因子 t 的第二解,於是 x(t) = (A + B t) e^{-gamma t}。質量不越過中心、徑直滑回原位,而且關鍵在於它以*盡可能短的時間*做到這一點——這正是好的閉門器和汽車減震器被調到此處的原因,恰在振盪與爬行之間的刀鋒上。
  3. 過阻尼(c^2 > 4mk):兩根都是負實數,於是 x(t) = A e^{r1 t} + B e^{r2 t} 衰減下來,完全不振盪——系統像蜂蜜裡的勺子般慢慢滲回靜止,比臨界情形還要慢。一扇配了太強閉門器的紗門,要花上老半天才合攏。

無論哪種情形,注意這條統一的事實:只要有正的阻尼,齊次解就帶著一個衰減因子 e^{-gamma t},因而隨時間流逝*淡向零*。這個 x_h(t) 被稱作瞬態——它記得初始條件,短暫地鳴響一陣,然後便消失了。請記住這一點,因為它正是理解一個穩定推力會對系統做什麼的鑰匙。

驅動它:瞬態對穩態

現在用你自己的節拍去推這個質量:取一個正弦力 F(t) = F_0 cos(omega t),以*你的*頻率 omega 驅動,而它未必與系統的固有頻率 omega_0 相符。完整解是齊次瞬態加上一個強迫特解部分,x(t) = x_h(t) + x_p(t)。求 x_p 最乾淨的工具是待定係數法:既然右端是一個頻率為 omega 的正弦,就猜 x_p 是一個*同一*頻率的正弦,x_p(t) = R cos(omega t - phi),再代回去解出振幅 R 與相位滯後 phi。

好處正是在這裡兌現的。瞬態 x_h 會衰亡(我們剛看到它帶著 e^{-gamma t}),於是過一陣子只剩下 x_p。這個倖存的部分就是穩態:系統已經忘了自己當初是怎麼開始的,現在只是*以驅動頻率 omega* 一路擺動,而非以它自己的 omega_0。這個結論確實有用——把任何阻尼線性系統驅動得足夠久,它就會鎖定到你的節拍上。早期那段混亂的運動,是系統固有的鳴響與你的推力相爭,那便是瞬態;最終那段乾淨的節拍,就是穩態。

穩態的振幅才是獎品。把猜測代入,得到 R = F_0 / sqrt((k - m omega^2)^2 + (c omega)^2)。把它當作驅動頻率 omega 的函數來讀:它告訴你,一推接一推,對給定的推力你得到多大的響應。輸出振幅與輸入之比——傳遞函數——正是工程師思考每一個濾波器、天線和減震座架的核心。再看看那個分母在哪裡變小:當 m omega^2 趨近 k,也就是 omega 趨近 omega_0 = sqrt(k/m) 時。那便是通往共振的門戶。

共振,以及它溫和的表親:拍

恰好以系統的固有頻率去驅動它,omega = omega_0,彈簧便在每一刻都與你的推力一拍即合:你總是順著它已經運動的方向往裡加能量,一推接一推又一推。在輕阻尼下,穩態振幅 R 膨脹到約 F_0/(c omega_0)——很大,且隨著阻尼 c 縮向零而無界地增長。這就是共振:一個微小的週期力,以恰好對的節拍施加,便堆起一個巨大的響應。正是它,讓一個恰在刻度頻率上的微弱無線電信號從空氣中被挑選出來、而其餘全被忽略;讓歌唱家的一個音符震碎酒杯;也正是被歸咎於塔科馬海峽大橋在垮塌前那狂野振盪的機制。

現在以*接近*但不恰好等於固有頻率去驅動它——omega 在 omega_0 附近,阻尼可忽略。把固有的鳴響與強迫響應疊加起來,兩個頻率幾乎相等的餘弦,一條三角恆等式便把它們的和變成一個以平均頻率快速振盪、卻包裹在一個以*差*頻 (omega_0 - omega)/2 緩慢起伏的包絡之內的波。振幅脹大又消退,脹大又消退。這就是[[beats|拍]]:當兩根稍微跑調的吉他弦一起發聲時,你聽見的那種一漲一落的搏動,那緩慢的「哇——哇——」聲,你把拍調得越來越慢,直到它消失、兩弦相合,便算調準了。拍是共振溫和的表親——系統與驅動來回交換能量,只因它始終差那麼一點跟不上步。

把它合起來,以及它通向何處

退一步看,整個故事就是一幅圖。完整的運動永遠是 x(t) = x_h(t) + x_p(t):一個瞬態,記著你的起始條件,並(在阻尼下)淡去;加上一個穩態響應,只要驅動還在,它就一直延續。自由、阻尼、強迫、共振、拍——它們不是五個互不相干的話題,而是同一個方程的五種讀法,區別只在於你打開了什麼。下面這幅圖一眼勾出這片地形。

m x'' + c x' + k x = F(t)        omega_0 = sqrt(k/m)   gamma = c/(2m)

  F = 0, c = 0   free          x = R cos(omega_0 t - phi)        rings forever
  F = 0, c > 0   transient     x = R e^{-gamma t} cos(omega_d t - phi)   fades
                   underdamped  c^2 < 4mk   (oscillates, decaying)
                   critical     c^2 = 4mk   (fastest return, no overshoot)
                   overdamped   c^2 > 4mk   (creeps back, no oscillation)
  F = F0 cos(omega t)          x = [transient] + [steady state at omega]
                   amplitude   R = F0 / sqrt((k - m omega^2)^2 + (c omega)^2)
                   omega ~ omega_0   R blows up -> RESONANCE
                   omega near omega_0, c~0   slow envelope -> BEATS
一個方程,一塊一塊地接通:關掉力,得自由與阻尼運動;打開力,得穩態;再把 omega 調向 omega_0,便遇見拍與共振。

通向這一切還有一條更利落的路,留待後面的指南完整展開:拉普拉斯變換把整個微分方程連同初始條件一起,化成關於變量 s 的尋常代數,傳遞函數 1/(m s^2 + c s + k) 在那裡直接現身,而共振則表現為極點向虛軸爬近。眼下,你搭起的這套手算圖景才是要留住的:猜一個正弦,讀出振幅與相位,盯住那個分母。

再往上一級,把整件事推廣開來:耦合兩個彈簧,或一整串彈簧,一個標量方程就變成一組耦合的線性常微分方程*系統*。你在這裡找到的固有頻率,會裂成若干個簡正模式,每個以自己的節奏鳴響,而一舉解出它們全部的優雅工具,正是矩陣指數 e^{A t}——下一篇指南的主題。本篇所講的一切,都是那朵更大的花的一維種子。