數學觀念

反函數一次搞懂:倒著還原步驟,別忘了定義域

2026年9月26日閱讀時間 2 分鐘
反函數一次搞懂:倒著還原步驟,別忘了定義域

一間工作坊收取 8 美元的預約費,然後使用工作檯每小時再收 5 美元。三個小時要花 23 美元。如果收據上寫著 23 美元,你預約了幾個小時?

往前算,是把小時數乘以 5 再加 8。往回算,是把收據上的金額減 8 再除以 5。這個往回算的規則就是反函數。它用同樣的關係,回答了一個不同的問題。

代數通常還應付得來。需要注意的是,往回算的規則是否只給出一個答案,以及它被允許接受哪些數。

先還原最後一步

以工作坊為例,把費用寫成

f(x)=5x+8f(x) = 5x + 8

反函數必須先拿掉預約費,再還原每小時的費用:

f−1(x)=x−85f^{-1}(x) = \frac{x-8}{5}

驗算收據:f−1(23)=(23−8)/5=3f^{-1}(23) = (23-8)/5 = 3。如果先除以 5,就會把預約費攤到每小時的費用裡,得到錯誤的答案。

ff 的輸入是小時數;f−1f^{-1} 的輸入是美元。重複使用字母 xx,並不表示它代表同樣的量。它只是那個函數所接受的任何東西的佔位符。

對這個模型來說,負的小時數沒有意義。原來的定義域是 x≥0x \geq 0,值域是 f(x)≥8f(x) \geq 8。因此反函數接受至少 8 美元的費用。單從代數來看,你可以代入 3 美元,但算出的負小時數超出了這個模型的範圍。

反函數與倒數是不同的運算

f−1f^{-1} 中的上標看起來像是負的次方。在函數記號中,它代表的是反函數的名稱。它並不是要你去除以 f(x)f(x)。

對於同一條工作坊的規則:

f−1(x)=x−85,1f(x)=15x+8f^{-1}(x)=\frac{x-8}{5}, \qquad \frac{1}{f(x)}=\frac{1}{5x+8}

第一個是從費用還原出小時數。第二個是費用的倒數,這是另一個用途不同的量。OpenStax 的反函數章節明確說明了這個記號上的區別。

你也可以把反函數叫做 gg。寫成 g(f(x))=xg(f(x))=x,就不用上標,恰好說明了你需要的:先套用費用的規則,再還原出原來的小時數。

用代數求反函數

大家熟悉的程序是:寫下 y=f(x)y=f(x),互換 xx 與 yy,再解出 yy。互換它們記錄了角色的改變:舊的輸出變成新的輸入。

來看一個新的例子:

y=2x−73y = \frac{2x-7}{3}

互換變數:

x=2y−73x = \frac{2y-7}{3}

乘以 3,加 7,再除以 2:

3x=2y−73x = 2y-7 3x+7=2y3x+7 = 2y y=3x+72y = \frac{3x+7}{2}

所以反函數是 f−1(x)=(3x+7)/2f^{-1}(x)=(3x+7)/2。每一步都在還原原來規則中的一個運算,從最後的除以 3 開始。

Paul's Online Math Notes 給出了同樣的一般程序,以及含根式與分式函數的例題。無論式子長什麼樣子,在整理的過程中都要追蹤被排除的輸入。乘以分母並不會讓一個被禁止的值變成合法。

兩個方向都要檢查

測試一個數可以抓出算術錯誤,但它無法證明兩條規則在每個地方都互相還原。要在它們所述的定義域上使用合成函數。

以上面的例子來說,把原來的規則代入反函數:

f−1(f(x))=3(2x−73)+72=2x−7+72=xf^{-1}(f(x)) = \frac{3\left(\frac{2x-7}{3}\right)+7}{2} = \frac{2x-7+7}{2}=x

再把反函數代入原來的函數:

f(f−1(x))=2(3x+72)−73=3x+7−73=xf(f^{-1}(x)) = \frac{2\left(\frac{3x+7}{2}\right)-7}{3} = \frac{3x+7-7}{3}=x

這裡兩個定義域都是所有實數。如果遇到根號、對數或分數,要把定義域和檢查寫在一起。化簡後的式子,可能藏著約分之前就已經存在的限制。

如果合成還是覺得陌生,請先從我們的函數指南開始:內層規則的輸出,變成外層規則的輸入。括號要從裡面往外讀。

為什麼二次函數需要限制定義域

假設 f(x)=(x−2)2f(x)=(x-2)^2。f(1)f(1) 和 f(3)f(3) 都等於 1。如果有人給你輸出 1,光憑規則無法告訴你他們用的是哪個輸入。

這個函數在所有實數上不是一對一的。往回的關係會對大多數輸入給出兩個答案,因此它不會是函數。

透過把原來的定義域限制在 x≥2x \geq 2,選擇右邊的那一支。現在反向的計算就沒有歧義了:

y=(x−2)2,x≥2y=(x-2)^2, \qquad x \geq 2

因為 x−2x-2 是非負的,取算術平方根得到 y=x−2\sqrt{y}=x-2。互換變數的名稱,寫成

f−1(x)=2+x,x≥0f^{-1}(x)=2+\sqrt{x}, \qquad x \geq 0

反函數接受非負的數,並傳回至少為 2 的數。驗算 f−1(9)=5f^{-1}(9)=5,然後 f(5)=9f(5)=9。

如果你改為把原來的定義域限制在 x≤2x \leq 2,反函數就是 2−x2-\sqrt{x}。這是兩個不同的受限函數的反函數。你不能附上正負號,就把結果稱為單一個反函數。

這個區別在一元二次方程式中同樣重要:一個方程式可以有兩個解,而函數必須對每一個被允許的輸入指派一個輸出。

在圖形上讀出反函數

如果 f(4)=9f(4)=9,原函數的圖形包含 (4,9)(4,9),而它的反函數包含 (9,4)(9,4)。互換坐標,就是把點對對角線 y=xy=x 鏡射。

這也解釋了水平線檢驗。如果一條水平線與原圖形相交兩次,一個輸出就有兩個輸入。互換坐標之後,這兩個點會落在同一條鉛直線上,一個輸入就會有兩個輸出。

用上面的拋物線試試。高度 1 的水平線在 x=1x=1 和 x=3x=3 處相交。去掉左邊的那一支,它就只相交一次。現在這個圖形含有足夠的資訊,可以倒著推回去。

反函數的定義域就是原來的值域,所以先從縱向讀原圖形開始。一個輸出只出現在某個特定高度以上的圖形,不可能有接受低於該高度的數的反函數。

三個簡短的練習檢查

一次函數的規則: 求 f(x)=7−2xf(x)=7-2x 的反函數。從 7 中減去,再除以 2:f−1(x)=(7−x)/2f^{-1}(x)=(7-x)/2。在這個情形下,反函數的式子和原來的不同。驗算 f(2)=3f(2)=3 與 f−1(3)=2f^{-1}(3)=2。

立方: 求 g(x)=x3+6g(x)=x^3+6 的反函數。取立方保留了足夠的資訊來區分負的與正的輸入,所以不需要限制分支。反函數是 g−1(x)=x−63g^{-1}(x)=\sqrt[3]{x-6},對每一個實數輸入都成立。

平方: 求 h(x)=x2+6h(x)=x^2+6 在 x≥0x \geq 0 上的反函數。反函數是 h−1(x)=x−6h^{-1}(x)=\sqrt{x-6},定義域為 x≥6x \geq 6。忘了最後這個條件,答案就不完整。

在檢查每個答案之前,先寫出定義域。然後驗證一次數值的來回,以及兩個代數的合成。這樣就構成一次有效的簡短練習,可在 Math Zen 中進行:用函數的練習,同時練習往前的規則、往回的規則,以及各種限制。

同樣的想法連結了指數與對數。指數取一個次方並產生一個數;它的對數則還原出那個次方。一旦你知道輸入代表什麼,以及哪些輸出是可能的,反函數就變成一個你可以推理出來的問題。

常見問題

反函數的作用是什麼?
它接收原函數的輸出,並傳回產生這個輸出的輸入。當每一個輸出都恰好來自一個輸入時,這個函數在它的值域上就有反函數。
怎麼求反函數?
寫下 y = f(x),把 x 和 y 互換,再解出 y。然後寫明反函數的定義域,並檢查兩個函數以任一順序合成時,在適當的定義域上都會傳回原來的輸入。
反函數就是倒數嗎?
不是。反函數是把函數還原;倒數是用 1 除以它的輸出。對於 f(x) = 5x + 8,反函數是 (x - 8)/5,而倒數是 1/(5x + 8)。
為什麼 x 的平方需要限制定義域?
平方會對相反的輸入給出相同的答案,所以光憑輸出無法辨認輸入。把原來的定義域限制在非負數,得到的反函數是平方根;限制在非正數,得到的反函數是負的平方根。
反函數的圖形之間有什麼關係?
把每一個點的坐標互換。點 (a, b) 會變成 (b, a),也就是把圖形對 y = x 做鏡射。原來的值域會變成反函數的定義域。

動手練一練

相關文章