方向導數計算機:公式、步驟與完整範例解析
方向導數計算機能求出多變數函數在某個特定點上、沿著你所選定方向移動時的變化速度,而不只是沿著 x 軸或 y 軸的變化。它把函數的梯度與一個單位向量結合起來,回傳一個數值,告訴你函數沿著這條路徑是遞增、遞減,還是保持水平。本文將完整說明公式、手算步驟,以及兩個帶有真實數字的完整範例,讓你能親手驗證任何計算機的輸出結果,並進一步解釋梯度為什麼永遠指向增加最快的方向。
目錄
什麼是方向導數?
方向導數衡量的是多變數函數 f(x, y)——或 f(x, y, z)——在某一點上的瞬時變化率,也就是當你從該點沿著單位向量 u 所描述的特定方向移動時,函數值變化得有多快。偏導數只看平行於某一座標軸的移動,而方向導數讓你提出更一般化的問題:如果我從這一點沿著這個確切方向踏出一步,函數值的變化速度是多少?事實上,兩個一般的偏導數 f_x 與 f_y 只是方向導數的特例,分別對應 (1, 0) 與 (0, 1) 這兩個方向。 結果永遠是一個實數,而不是向量。正值代表沿方向 u 移動時函數遞增,負值代表遞減,零則代表函數沿著這個特定方向暫時保持水平——即使它在其他方向上仍在變化。
1. 它與偏導數的關係
f_x 與 f_y 只描述沿著 x 軸與 y 軸的變化。方向導數 D_u f 把這個概念推廣到你所選擇的任何方向 u,包括斜向的路徑。
2. 方向必須是單位向量
要讓公式給出真正「每單位距離」的變化率,u 的長度必須為 1。如果題目給的方向向量長度不是 1,就要先把它正規化。
3. 輸出是純量
D_u f 永遠是單一數值——沿方向 u 每移動一單位時 f 的變化速度——而不是向量或點。
方向導數是偏導數更靈活的兄弟——它適用於任何方向,而不只是沿著座標軸。
方向導數公式
對於可微函數 f(x, y),沿單位向量 u = (u₁, u₂) 方向的方向導數為 D_u f = ∇f · u = f_x·u₁ + f_y·u₂。對於三變數函數 f(x, y, z),公式延伸為 D_u f = f_x·u₁ + f_y·u₂ + f_z·u₃。梯度 ∇f 就是把所有一階偏導數在該點上求值後組成的向量。
1. 步驟 1 — 求梯度
兩個變數時計算 ∇f = (f_x, f_y),三個變數時計算 (f_x, f_y, f_z)。
2. 步驟 2 — 取得方向向量
從題目給定的方向向量 v 出發,例如 v = (3, 4)。
3. 步驟 3 — 把它正規化
先求出大小 |v| = √(v₁² + v₂² + ...),再把每個分量除以 |v|,得到單位向量 u = v ÷ |v|。
4. 步驟 4 — 計算內積
把梯度與 u 逐分量相乘後相加:D_u f = ∇f · u。
D_u f(x, y) = ∇f(x, y) · u——梯度與單位方向向量之間的內積。
方向導數計算機是怎麼運作的?
在背後,方向導數計算機執行的正是學生手算時的同樣四個步驟:先對函數做符號微分,求出 f_x、f_y,必要時還有 f_z;把給定點的座標代入每一個偏導數;把方向向量正規化成單位長度;最後計算梯度與該單位向量的內積。設計良好的計算機還會顯示梯度的大小,因為這個數值正好等於該點在所有方向中可能達到的最大變化率——用來檢驗你沿特定方向算出的結果是否合理,非常實用。 好的工具也會在你輸入的方向向量長度原本不是 1 時提出提示,讓你能明確看到正規化這一步,而不是因為省略它而默默得到一個「錯誤」答案。
1. 解析並微分
函數會先被解析,並一次算出它的符號偏導數。
2. 代入指定點
每個偏導數都會在你提供的 (a, b) 或 (a, b, c) 座標上求值。
3. 正規化並取內積
方向向量被縮放成長度 1,再與梯度做內積,得到最終的純量答案。
4. 顯示最大變化率
梯度本身的大小會與結果一併顯示,因為它代表該點可能達到的最陡增加率。
可靠的計算機一定會先把你的方向向量正規化,再做內積——省略這一步是錯誤答案最常見的來源。
逐步教學:手算方向導數
在進入完整範例之前,先把整個流程整理成一份檢查清單會很有幫助。無論函數或給定點怎麼變,每一道方向導數題目都遵循同樣的五個步驟。
1. 步驟 1
用一般的偏微分求出 f_x 與 f_y(三變數時再加上 f_z)。
2. 步驟 2
在題目給定的特定點上求出梯度的值。
3. 步驟 3
把給定的方向向量正規化,使它的長度為 1。
4. 步驟 4
計算梯度與單位向量的內積。
5. 步驟 5
解讀正負號:正代表遞增,負代表遞減,零代表在該方向上暫時保持水平。
每一次都是這五步:微分、代值、正規化、內積、解讀。
完整範例 1:求某一點的方向導數
求 f(x, y) = x²y + 3xy² 在點 (1, 2) 沿方向 v = (3, 4) 的方向導數。 首先求偏導數:f_x = 2xy + 3y²,f_y = x² + 6xy。在點 (1, 2):f_x = 2(1)(2) + 3(2²) = 4 + 12 = 16,f_y = 1² + 6(1)(2) = 1 + 12 = 13。因此 (1, 2) 處的梯度為 ∇f(1, 2) = (16, 13)。 接著把 v = (3, 4) 正規化。它的大小是 |v| = √(3² + 4²) = √25 = 5,所以單位向量為 u = (3/5, 4/5)。 最後計算內積:D_u f(1, 2) = 16(3/5) + 13(4/5) = 48/5 + 52/5 = 100/5 = 20。由於結果為正,代表當你從 (1, 2) 沿方向 (3, 4) 移動時,f 以每單位距離 20 個單位的速率遞增。
1. 微分
f_x = 2xy + 3y²,f_y = x² + 6xy。
2. 在 (1, 2) 求值
f_x(1, 2) = 4 + 12 = 16,f_y(1, 2) = 1 + 12 = 13,因此 ∇f(1, 2) = (16, 13)。
3. 把 v = (3, 4) 正規化
|v| = √(9 + 16) = 5,所以 u = (3/5, 4/5)。
4. 計算內積
D_u f = 16(3/5) + 13(4/5) = 100/5 = 20。
D_u f(1, 2) = 20——函數沿方向 (3, 4) 以每單位距離 20 個單位的速率遞增。
完整範例 2:三變數的方向導數
求 f(x, y, z) = x² + y²z 在點 (2, 1, 3) 沿方向 v = (1, -2, 2) 的方向導數。 偏導數為 f_x = 2x、f_y = 2yz、f_z = y²。在 (2, 1, 3):f_x = 2(2) = 4,f_y = 2(1)(3) = 6,f_z = 1² = 1。因此 ∇f(2, 1, 3) = (4, 6, 1)。 把 v = (1, -2, 2) 正規化:|v| = √(1² + (-2)² + 2²) = √(1 + 4 + 4) = √9 = 3,得到 u = (1/3, -2/3, 2/3)。 D_u f = 4(1/3) + 6(-2/3) + 1(2/3) = 4/3 - 12/3 + 2/3 = -6/3 = -2。負的結果代表當你從 (2, 1, 3) 沿方向 (1, -2, 2) 移動時,f 以每單位距離 2 個單位的速率遞減。
1. 微分
f_x = 2x,f_y = 2yz,f_z = y²。
2. 在 (2, 1, 3) 求值
f_x = 4,f_y = 6,f_z = 1,因此 ∇f(2, 1, 3) = (4, 6, 1)。
3. 把 v = (1, -2, 2) 正規化
|v| = √9 = 3,所以 u = (1/3, -2/3, 2/3)。
4. 計算內積
D_u f = 4/3 - 12/3 + 2/3 = -6/3 = -2。
像這裡的 -2 這種負的方向導數,代表函數沿著該方向移動時是遞減的。
為什麼梯度會指向最陡上升的方向?
由於 D_u f = ∇f · u = |∇f| |u| cos θ,而依定義 |u| = 1,公式可以化簡為 D_u f = |∇f| cos θ,其中 θ 是梯度與你所選方向之間的夾角。餘弦值恰好在 θ = 0 時達到最大值 1,也就是 u 與 ∇f 本身方向相同的時候。這代表任一點上可能達到的最大方向導數等於 |∇f|,而且正好在你沿著梯度移動時發生。 在範例 1 中,(1, 2) 處的梯度是 (16, 13),大小為 |∇f| = √(16² + 13²) = √(256 + 169) = √425 ≈ 20.62。這比我們沿 (3, 4) 算出的 20 更大,也很合理——(3, 4) 接近梯度方向,但並未完全與它對齊。若沿著完全相反的方向 -∇f 移動,則會得到最陡的下降,等於 -|∇f|。
1. 改寫內積
D_u f = ∇f · u = |∇f| |u| cos θ = |∇f| cos θ,因為 |u| = 1。
2. 找出最大值
θ = 0 時 cos θ = 1,因此最大的方向導數等於 |∇f|,並在 u 沿著梯度方向時達成。
3. 與範例 1 對照
|∇f(1, 2)| = √425 ≈ 20.62,確實大於沿著未對齊方向 (3, 4) 求得的 D_u f = 20。
4. 找出最小值
沿著 -∇f 移動會得到最陡的下降,等於 -|∇f|。
梯度不只是指向某個有用的方向——它精確地指向增加最快的方向,而它的長度就是那個最快的變化率。
計算方向導數時的常見錯誤
方向導數題目的錯誤大多來自漏掉或誤用某個小步驟,而不是微積分本身算錯。留意以下五個習慣,就能在得出最終答案之前攔下大部分的失誤。
1. 忘記正規化
把 (3, 4) 這樣的方向向量直接代進內積,卻沒有先除以它的長度 5,會讓答案差了一個倍率。
2. 在錯誤的點上求梯度
偏導數必須代入題目給的精確座標——沿用前一個範例中的點是很常見的失誤。
3. 把 f_x 和 f_y 弄反
把梯度寫成 (f_y, f_x) 而不是 (f_x, f_y),會讓分量與方向的配對錯位,悄悄毀掉整個內積。
4. 把角度誤當成單位向量
如果方向是以角度給定,必須先轉換成單位向量,例如 (cos θ, sin θ),才能與梯度做內積。
5. 漏掉負號
負的方向導數是有效且有意義的答案——它代表函數沿該方向遞減——而不是算術出錯的訊號。
最常見的單一錯誤:把 (3, 4) 這樣的方向向量直接代進內積,卻沒有先除以它的長度 5。
練習題
先自己試著解這兩題,再對照下方的答案檢查你的作法。 題目 A:求 f(x, y) = 3x² - 2xy + y² 在點 (1, -1) 沿方向 v = (4, 3) 的方向導數。 題目 B:求 f(x, y, z) = xyz 在點 (1, 2, 3) 沿方向 v = (2, 2, 1) 的方向導數。
1. 題目 A 的解答
f_x = 6x - 2y,f_y = -2x + 2y。在 (1, -1):f_x = 6 + 2 = 8,f_y = -2 - 2 = -4,因此 ∇f = (8, -4)。|v| = √(16 + 9) = 5,所以 u = (4/5, 3/5)。D_u f = 8(4/5) + (-4)(3/5) = 32/5 - 12/5 = 4。
2. 題目 B 的解答
f_x = yz,f_y = xz,f_z = xy。在 (1, 2, 3):f_x = 6,f_y = 3,f_z = 2,因此 ∇f = (6, 3, 2)。|v| = √(4 + 4 + 1) = 3,所以 u = (2/3, 2/3, 1/3)。D_u f = 6(2/3) + 3(2/3) + 2(1/3) = 4 + 2 + 2/3 = 20/3 ≈ 6.67。
檢查你的答案:梯度與單位向量的內積永遠應該是一個實數,而不是向量。
什麼時候會需要方向導數計算機?
只要某個量取決於一個以上的變數,而你關心的是穿過它的特定路徑、不只是沿著座標軸的移動,方向導數就會登場。多變數微積分課程用它來正式引入梯度;物理課程用它來描述溫度、壓力或位能場沿特定軌跡的變化;機器學習課程在解釋梯度下降為何沿著 -∇f 前進時,也會用到同一個內積的概念。計算機最實用的時機,是用來核對你已經自己列好式子的題目,尤其當函數項數很多、或給定點含有分數的時候。 如果想快速檢查作業,Solvify 的方向導數解題工具只需輸入函數、點與方向向量,就會完整呈現梯度、正規化與內積的計算過程,讓你逐行比對自己的每一個步驟。
1. 作業與考試練習
在考試前驗算微積分三或多變數微積分的習題。
2. 物理應用
分析溫度、壓力或位能場從某一點沿特定方向的變化情形。
3. 機器學習課程
把內積公式與梯度下降為何沿著 -∇f 前進連結起來。
4. 繁瑣或多變數的函數
當函數項數很多、或給定點含有分數或根式時,加快重複的算術運算。
計算機最好的用途是驗算,而不是取代——先動手把代數算過一遍,再確認算術。
相關文章
相關數學解題工具
智慧掃描解題
拍下任何多變數微積分題目的照片,立即取得梯度與方向導數的逐步拆解。
逐步詳解
每一個偏導數、正規化與內積都有詳細說明,而不只是最後的數字。
多科目支援
解決微積分、代數、統計學、物理、化學等各科題目。
