傅立葉級數的數學原理與係數定義
傅立葉級數的核心思想,是將任意週期函數或分段函數拆解為無數個正弦與餘弦波的線性組合。本計算器採用的傅立葉級數展開式約定如下:
f(x) ≈ a₀ / 2 + Σₙ₌₁^N [ aₙ cos(nω₀ x) + bₙ sin(nω₀ x) ]
其中,基頻 ω₀ = (2π) / T,而 T = b - a 代表週期的長度。在此約定下,常數項與各階諧波係數皆採用相同的積分因數 2 / T:
- 常數項係數:a₀ = 2 / T∫ₐᵇ f(x)dx
- 餘弦項係數:aₙ = 2 / T∫ₐᵇ f(x)cos(nω₀ x)dx
- 正弦項係數:bₙ = 2 / T∫ₐᵇ f(x)sin(nω₀ x)dx
計算器在輸出結果時,會於「公式與代入」區域顯示具體的計算過程,例如「T = period;ω₀ = 2π/T = omega 弧度/每 x 單位。」以及「a₀ = (2/T)∫ f(x)dx = a₀;常數項為 a₀/2 = constant。」。針對多個諧波,則會顯示「針對 n = 1…terms,分別對各區段進行積分,並將結果相加得到 aₙ 與 bₙ。」。
函數輸入規範與分段定義
使用者可以根據需求,選擇定義「單一週期內的函數」或使用「函數區段」來建立分段函數。
1. 預設範例
計算器提供多種常見的波形範例,包括「鋸齒波」、「方波」、「三角波」與「整流正弦波」。
2. 分段函數設定
若要定義複雜的分段函數,最多可新增至五個區段。使用者可點擊「新增區段」或「移除區段 ‹n›」來調整區段數量,並以「從」和「到」設定各區段邊界;「起點 a」與「終點 b」則用於設定整個週期。
3. 數學運算式語法
在輸入 $f(x)$ 運算式時,支援以下元素:
- 變數與常數:
x、pi、e。 - 運算子:
+、−、*、/、^、括號。乘法可寫為顯式(如2*x)或隱式(如2x)。 - 內建函數:
sin、cos、tan、exp、ln、log、sqrt、abs、min、max。
數值積分與穩定性檢查機制
本計算器並非求解符號解析解,而是採用「複合辛普森法則」進行數值積分來估算傅立葉係數。
為了確保數值計算的可靠性,計算器內建了雙倍解析度的穩定性檢查機制。系統會先以使用者設定的「辛普森子區間數」(必須為 200 到 4000 之間的偶數)進行第一次積分,隨後自動將子區間數加倍重新計算。
計算完成後,系統會比對兩次計算的係數差異,並回報最大係數變化量 δ:
- 穩定狀態:若變化極小,系統會顯示「已完成計算。在目前的顯示精確度下,雙倍解析度的係數檢查結果十分穩定。」。
- 警告狀態:若變化量較大,則會顯示「已完成計算,但當積分解析度加倍時,係數變化了 ${delta}$。請增加子區間數,或檢查函數是否有劇烈變化的特徵。」。
吉布斯現象與不連續點的收斂
當輸入的函數存在跳躍不連續點時(例如方波的邊緣),傅立葉級數在重建時會出現特殊的物理現象:
f(x)
^
| +---------+ <-- 傅立葉部分和 S_n(x) 在此處
| | | 會產生過衝與波紋(吉布斯現象)
| ----+ +----
+------------------------> x
- 吉布斯現象(Gibbs Phenomenon):在不連續點附近,重建的圖表會出現明顯的波紋與過衝。即使無限增加「諧波次數 N」,這些波紋的振幅峰值也不會消失,只會往不連續點靠攏。此時系統會提示:「區段間存在跳躍點。邊界附近的波紋可能是吉布斯現象,而非積分誤差。」。
- 不連續點的收斂值:在跳躍點上,傅立葉級數 Sₙ(x) 最終會收斂至該點左極限與右極限的算術平均值。
錯誤診斷與排除
在輸入參數或運算式時,若違反計算限制,系統會即時顯示對應的錯誤訊息:
| 錯誤訊息 | 觸發原因 |
|---|---|
| 請檢查運算式語法。 | 運算式中存在未閉合的括號、不合法的字元或運算子缺失。 |
| 函數在此週期內超出了實數定義域。 | 函數在指定區間內產生了複數值(例如對負數開根號 sqrt(-1) 或對負數取對數 ln(-1))。 |
| 函數在此週期內含有除以零的錯誤。 | 函數分母在週期範圍內等於零(例如 1/x 在 x=0 時)。 |
| 函數或係數超出了支援的數值範圍。 | 計算數值過大,超出了系統的浮點數處理極限。 |
| 請檢查週期、諧波次數與精確度的範圍。 | 諧波次數 N 未落在 1 到 30 之間,或辛普森子區間數非 200 到 4000 之間的偶數。 |
| 請檢查函數區段及其邊界。 | 分段函數的邊界設定重疊、邏輯錯誤或未完全覆蓋週期。 |
常見問題 FAQ
此計算器使用哪種傅立葉係數定義?
本計算器採用的公式為 f(x) ≈ a₀/2 + Σ [aₙ cos(nω₀ x) + bₙ sin(nω₀ x)],其中 ω₀ = 2π/T。因此,a₀、aₙ 與 bₙ 皆包含 2/T 因數。部分書籍會直接將平均值寫在 a₀ 中;在比對係數前,請先對照顯示的公式。
這些係數是精確值嗎?
不是。這些係數是透過複合辛普森法則計算出的數值積分。本計算器會以兩倍的解析度重複計算,並回報最大的係數變化量。微小的變化量代表顯示的位數具備高信賴度,但這並非正式的誤差界限。
為什麼圖表在跳躍點附近會出現波紋?
有限項的傅立葉和在不連續點附近會產生震盪。增加諧波次數能縮小受影響的區域,但無法消除特有的吉布斯現象(吉布斯過衝)。在跳躍點上,若滿足一般的收斂條件,級數會趨近於左極限與右極限的平均值。
我的輸入資料會被傳送到伺服器嗎?
不會。你的運算式與計算過程皆保留在此瀏覽器中,絕不會上傳。所有的數值積分與圖表繪製等處理程序,皆完全在你的個人裝置上本地端執行。