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

導數:瞬時變化率

在某一個精確的瞬間,而不是在一段時間裡,一個東西變化得有多快?看著平均變化率一點點收緊到單獨一個點,最後變成**導數**——也就是曲線在你所站之處的斜率。

從平均速度到某一瞬間

想像你從家開車去 60 公里外的一家店,花了一個小時。你的平均速度是 60 公里/時——總路程除以總時間。但這個單一的數字把途中真正發生的一切都藏了起來:你加過速、為紅燈減過速,也許還徹底停過。導數要回答的問題更尖銳:不是「平均有多快?」,而是「就在此刻、在這一個瞬間到底有多快?」——也就是你的車速表顯示的那個數。

誠實的竅門在這裡。一個瞬間沒有時長,所以你沒法用距離去除以零時間。換個做法:你在一個極小的時間窗裡測平均變化率——比如在時刻 t 和緊隨其後的一刻 t+h 之間——然後讓這個時間窗一點點縮到幾乎為零。這些平均值會朝著同一個數穩定下來,而這個「穩定下來」正是一個極限。導數就是這個極限。

差商與切線

現在把腦海裡的那條路換成函數 f 的圖像。在曲線上取一個橫座標為 x 的點,再在它右邊一點點、橫座標為 x+h 的地方取第二個點。過這兩點畫一條直線——一條割線。它的斜率就是「豎直變化量除以水平變化量」:(f(x+h) - f(x)) / h。這個分式叫做差商,它其實就是穿上了圖像外衣的平均變化率。

現在讓第二個點朝第一個點滑過去,也就是讓 h 縮到 0。割線隨之轉動,在極限處它只在一個地方貼著曲線:切線。這條切線的斜率就是導數。用符號寫:f'(x) = lim h->0 (f(x+h) - f(x)) / h。這一個公式,就是你後面一切內容賴以建立的定義。

f'(x) = lim h->0  ( f(x+h) - f(x) ) / h

        rise        f(x+h) - f(x)
slope = ----  =  ------------------
        run               h
導數是差商的極限——當第二個點滑近時割線斜率趨近的值。

動手算一個:f(x) = x^2

我們就老老實實地、用手按定義算一遍,把這層神祕感揭開。取 f(x) = x^2,照著步驟走。代數運算很溫和,看著那些 h 互相抵消,正是這整件事的關鍵所在。

  1. 寫出差商:( f(x+h) - f(x) ) / h = ( (x+h)^2 - x^2 ) / h。
  2. 把分子展開:(x+h)^2 = x^2 + 2xh + h^2,於是分子變成 2xh + h^2(x^2 抵消了)。
  3. 除以 h(這一步合法,因為此時 h 還不是 0):(2xh + h^2) / h = 2x + h。
  4. 現在取 h->0 的極限:2x + h -> 2x。所以 f'(x) = 2x。

把答案當成一句話來讀:對於拋物線 y = x^2,在任意點 x 處的陡峭程度是 2x。在 x = 0 處斜率為 0(碗底是平的);在 x = 3 處斜率為 6(正陡峭地往上爬)。一個公式 f'(x) = 2x,就一口氣告訴了你每一處的切線斜率。

光滑、尖角,與一次數值驗算

導數只存在於曲線足夠光滑、能畫出唯一一條清晰切線的地方。這個性質叫做可微性。函數在哪裡可微,它在那裡就一定也連續——沒有跳躍也沒有缺口——因為你沒法跨過一個斷口去取一個有意義的極限。但反過來不成立:一個函數可以是連續的,卻仍然沒有導數。

經典的例子是 f(x) = |x|,也就是絕對值的 V 字形,在 x = 0 處。它在那裡完全連續——圖像從不離開紙面。但它有一個尖銳的尖角:從左邊悄悄靠近,斜率是 -1;從右邊悄悄靠近,斜率是 +1。差商的兩個單側極限對不上,所以極限不存在,於是也就沒有唯一的切線。在尖角處,導數乾脆就沒有定義。

def numeric_derivative(f, x, h=1e-6):
    # approximate f'(x) with a tiny but nonzero h
    return (f(x + h) - f(x)) / h

f = lambda x: x**2
print(numeric_derivative(f, 3))   # ~ 6.0, matching f'(x) = 2x at x = 3
電腦沒法取真正的極限,於是它挑一個小小的 h,直接算差商——結果非常接近精確答案 2x。