复合函数与反函数
假设你在手机上输入一张照片。第一步,软件把照片压缩;第二步,它调亮颜色;第三步,它再把处理后的图片保存下来。你最后看到的结果,并不是某一步单独完成的,而是几道操作按顺序接起来的结果。
复合函数研究的就是这种“接起来”。一个输入先交给内层函数,内层产生的输出马上变成外层函数的输入。至于反函数,它问的是相反方向的问题:机器已经吐出一个结果了,我们能不能顺着过程倒回去,唯一找出最初的输入?
这两个主题表面上一个向前、一个向后,真正要练的却是同一种本领:别只盯着最后的式子,要沿途看清每一层的输入、输出和允许范围。
复合函数:把一台机器接到另一台机器后面
先给两个函数:
g(x)=x2−3,f(u)=2u+1
这里故意把外层函数的自变量写成 u。这样更容易看清:u 只是一个临时位置,它等着接收前一步的输出。输入 x 先经过 g,变成
u=g(x)=x2−3,
再把这个完整结果交给 f:
f(u)=2u+1.
于是两步接在一起就是
f(g(x))=2(x2−3)+1=2x2−
我们把这个新函数记作
(f∘g)(x)=f(g(x)).
f∘g 读作“f 复合 g”。符号里 f 写在左边,真正动手却要从离 x 最近的 g 开始。你可以给自己一句很短的提醒:先里后外,顺着括号走。
括号在这里是在规定操作顺序。f(g(x)) 的意思是“把 g(x) 整块放进 f 的输入位置”,不是 f(x,也不是先算 。
拿 x=2 试一下,过程会更直观:
2g22−3=
所以 (f∘g)(2)=3。
如果交换顺序,事情就变了:
(g∘f)(x)=g(f(x))=(2x+1)2−3.
同样取 x=2:
2f5g
一个结果是 3,另一个是 22。这不是算术失误,而是在提醒你:复合描述的是有先后的过程,通常
f∘g=g∘f.
下面的交互页可以拖动 x,同时观察两条流水线。把定义域检查按钮也打开,看看中间输出为负数时,为什么平方根那一步会停下来。
三层复合也还是从里面开始
如果还有第三个函数 h,那么
(f∘g∘h)(x)=f(g(h(x))).
计算顺序是先 h,再 g,最后 f。只要每一步都有定义,分组方式不会改变最终结果:
f∘(g∘h)=(f∘g)∘h.
不过别把“分组不影响结果”误听成“顺序可以交换”。它们不是一回事。像“先穿袜子再穿鞋”和“把这两步看成一个穿戴流程”,分组可以换个说法,袜子和鞋的先后却不能乱。
定义域要一路追踪,不能等化简完再猜
一看到复合函数,不少人会立刻代入、展开、约分,最后才看定义域。这个习惯很危险。定义域不是式子旁边补写的一条备注,它决定这条计算路线能不能真正走通。
对 f(g(x)) 来说,有两道关口:
- x 必须先能进入内层函数 g;
- 中间结果 g(x) 必须还能进入外层函数 f。
写成集合就是
Df∘g={x∈Dg∣g(x)
例 1:外层是根式
设
f(u)=u−1,g(x)=x
内层 g(x) 对所有实数都有定义,第一道关口没有拦住任何 x。但外层 f(u) 要求根号里的量不能为负:
u−1≥0,
也就是 u≥1。现在把中间输出 u=g(x)=x2−4 放进这个条件:
x2−4≥1.
继续解:
x2≥5,
所以
x≤−5或x≥5
因此
Df∘g=(−∞,−5
这里最容易犯的错,是只说“g 的定义域是全体实数”,然后就停了。别忘了,g 的输出还要继续旅行。
例 2:内外两层都有限制
设
f(u)=u−31,g(x)=x
第一道关口来自 g 的分母:
x=1.
第二道关口来自 f。外层不能接收 u=3,所以要求
g(x)=3.
代入中间输出:
x−12x=3.
在已经知道 x=1 的前提下,两边同乘 x−1:
2x=3x−3,
得到
x=3.
两道限制合起来,定义域是
R∖{1,3}.
注意 x=1 与 x=3 被排除的原因不同:x=1 连内层都进不去;x=3 能算出 g,却会在外层的分母处撞墙。
例 3:约掉的因式,不会替你修好原来的断点
设
f(u)=u−1u2−1,g(x)=
f 的定义域先排除 u=1。因此复合时必须满足
g(x)=x+1=1,
也就是 x=0。
再代入并化简:
f(g(x))=(x+1)−1(x+1)
最后一行看起来像一条对所有实数都有定义的直线,可原来的计算在 x=0 时分母确实为零。所以正确结论是
(f∘g)(x)=x+2,x=0.
化简只能改变表达式的外观,不能把原来没有定义的输入“补回来”。判断定义域时,要保留原函数和原计算路线留下的限制。
你可以把定义域检查固定成一个小清单:
- 内层有没有分母、偶次根号或其他输入限制?
- 内层输出要满足外层的哪些条件?
- 化简时有没有约掉因式,从而把旧限制藏起来?
- 最终写答案时,是否把所有条件取了交集?
分解复合函数:把复杂式子拆成几步操作
有时题目反过来,只给你一个完整函数,让你找出它是由哪些简单函数复合而成的。别急着背某种固定拆法。先问一句:如果真的拿一个数来算,我手上会依次做什么?
例如
F(x)=3x−1.
你不可能先开平方,再去算 3x−1。实际动作是先得到 3x−1,再对整个结果开平方。因此可以取
g(x)=3x−1,f(u)=u
于是
F(x)=f(g(x)).
顺便把定义域也读出来。外层开平方要求
3x−1≥0,
所以 F 的定义域是 [31,∞)。
再看一个层数更多的函数:
H(x)=(x2+15)4.
把计算动作拆开,可以写成
p(x)=x2+1,q(u)=u
于是
H=r∘q∘p,
也就是
H(x)=r(q(p(x))).
代回去核对:
p(x)=x2+1,
q(p(x))=x2+15,
r(q(p(x)))=(x2+15)
完全回到原式,拆分才算过关。这里 x2+1≥1,永远不为 0,所以中间的除法对所有实数都能继续,H 的定义域是 R。
从 x 出发,圈出第一次要整体算出的表达式。它通常就是内层函数的输出。
暂时把这整块换成一个新字母,如 u 或 v,再看外面还做了什么。
分解往往不唯一。例如 3x−1 可以拆成两层,也可以拆成“乘 3、减 1、开平方”三层。哪一种更好,取决于接下来要做什么。研究定义域时,把根号前的整块看成内层最方便;讨论每一步操作时,拆细一些更清楚。
反函数:从结果唯一找回起点
现在把方向转过来。
原函数 f 把输入 a 送到输出 b:
f(a)=b.
如果看到 b 时,我们能够确定它只来自一个 a,就可以定义反函数把 b 送回去:
f−1(b)=a.
这就是反函数最核心的意思:交换输入和输出的角色,并且这次交换仍然必须满足函数的规则——每个允许输入只能得到一个输出。
当 f 与 f−1 确实互为反函数时,两次操作会互相撤销:
f−1(f(x))=x,x∈Df,
以及
f(f−1(y))=y,y∈Rf.
这里的范围不能省。第一式从原函数的定义域出发;第二式从原函数的值域出发。换句话说,反函数的定义域就是原函数的值域,反函数的值域就是原函数的定义域:
Df−1=Rf,R
f−1(x) 里的 −1 不是“负一次方”。反函数 f 与倒数 是两件完全不同的事。
一个熟悉的来回过程:温度换算
把华氏温度 F 转成摄氏温度 C,可以写成
c(F)=95(F−32).
如果结果 C 已知,要找回原来的 F,就解方程
C=95(F−32).
两边乘 59:
59C=F−32,
再加 32:
F=59C+32.
所以
c−1(C)=59C+32.
取 C=20 检查:
c−1(20)=59⋅20+32=68.
再送回原函数:
c(68)=95(68−32)=95
这一来一回正好回到起点。
不是每个函数都能反过来
反函数存在的关键不是式子复杂不复杂,而是输出能不能认出自己的唯一来源。
如果
f(a1)=f(a2)
总能推出
a1=a2,
就说 f 是一对一函数,也叫单射。说白了,不同输入不能挤到同一个输出上。
平方函数在全体实数上就过不了这一关,因为
22=(−2)2=4.
只告诉你输出是 4,你无法判断原输入是 2 还是 −2。若硬把关系反过来,就会让输入 4 同时对应 2 和 −2,这不再是函数。
水平线检验为什么有效
图像上的点 (x,y) 表示 f(x)=y。固定一个输出 y=k,就是在图上画水平线 y=k:
- 若水平线与图像最多交一次,这个输出最多只有一个来源,函数是一对一的;
- 若某条水平线交两次或更多次,同一个输出就有多个来源,反关系不能成为函数。
这里别和竖线检验混了:
- 竖线检验问“原图是不是函数”,同一个 x 不能对应两个 y;
- 水平线检验问“原图能不能拥有反函数”,同一个 y 不能来自两个 x。
严格说,如果题目把函数写成 f:A→B,还想让反函数在整个 B 上都有定义,那么除了“一对一”,还要保证 B 里的每个元素都真的被 f 输出过。这样的函数称为双射。在多数中学题里,我们直接把反函数的定义域取成原函数的实际值域,于是重点就落在一对一上。
限制定义域,给平方函数选一条单行道
完整的 y=x2 左右两支会产生重复输出。但如果只保留右半支 x≥0,函数严格递增,每个非负输出只有一个来源:
f:[0,∞)→[0,∞),f(x)=x2.
这时反函数是
f−1(x)=x,x≥0.
为什么没有 ±x?因为反函数必须给出唯一结果,而且原函数已经限制 x≥0,所以找回来的原输入只能取非负的那一个。
如果改为只保留左半支 x≤0,同样能通过水平线检验,不过找回来的输入必须非正:
f−1(x)=−x,x≥0.
方程 z2=9 有两个解 z=±3,而符号 9 只表示非负平方根 。求受限平方函数的反函数时,正负号由原函数保留的是哪一支决定。
求反函数:不是机械交换字母,而是解回原输入
求反函数最稳妥的想法只有一句:把输出当作已知量,解出原来的输入。
例 1:线性函数
求
f(x)=3x−5
的反函数。
先写 y=3x−5。这里 x 是原输入,y 是原输出。
只做交换和求解还不够,代回复核更可靠:
f−1(f(x))=3(3x−5)+5=
同时
f(f−1(x))=3⋅3x+5−
两个方向都回到输入,所以答案成立。
例 2:分式函数,范围也要跟着算
设
f(x)=x+32x−1,x=−3.
令
y=x+32x−1.
先消去分母:
y(x+3)=2x−1.
把含 x 的项放到一边:
yx−2x=−1−3y.
提取 x:
x(y−2)=−(1+3y).
于是
x=2−y1+3y.
所以
f−1(x)=2−x3x+1,x
为什么反函数要排除 2?一方面它会让反函数分母为零;另一方面,原函数也永远不可能输出 2。若强行令
x+32x−1=2,
就会得到 2x−1=2x+6,也就是荒唐的 −1=6。因此原函数的值域是 R∖{2},这正是反函数的定义域。
再验一个方向。设
t=f−1(x)=2−x3x+1.
那么
2t−1=2−x2(3x+1)−(2−x)
而
t+3=2−x3x+1+3(2−x)=
所以
f(f−1(x))=t+32t−1
例 3:受限二次函数
求
h(x)=(x−2)2+1,x≥2
的反函数。
令
y=(x−2)2+1.
先移项:
y−1=(x−2)2.
现在到了最容易写错正负号的地方。因为原定义域给出 x≥2,所以 x−2≥0,只能取非负平方根:
x−2=y−1.
于是
x=2+y−1.
因此
h−1(x)=2+x−1.
原函数最小值是 1,值域为 [1,∞),所以反函数的定义域是 [1,∞);反函数输出原来的输入,值域为 [2,∞)。
检查时要用到 x≥2:
h−1(h(x))=2+(x−2)
若没有 x≥2,就不能把 ∣x−2∣ 直接写成 x−2。定义域限制正是在这里发挥作用。
图像为什么关于直线 y=x 对称
设点 (a,b) 在原函数图像上。这句话等价于
f(a)=b.
反函数把这段关系倒过来,于是
f−1(b)=a.
所以反函数图像上对应的点是 (b,a)。原图上每个点的横纵坐标整体交换,几何上恰好就是沿直线 y=x 翻折:
(a,b)⟷(b,a).
这也解释了定义域和值域为什么交换。原图横向能走到哪里,是原函数的定义域;翻折后,它变成反函数纵向能到达的范围,也就是反函数的值域。
直线 y=x 上的点满足横纵坐标相等,交换以后仍是自己。因此,只要某个数满足
f(x)=x.
点 (x,x) 就会同时落在原函数与反函数图像上。反过来却要小心:不能笼统地说“两幅图的所有交点一定都在 y=x 上”。例如某些递减的自反函数会与自己的反函数整段重合。这里真正始终成立的是点对 (a,b) 与 (b,a) 的镜像关系。
下面的交互页把“线性函数、平方函数右半支、完整平方函数”放在一起。切换三种模式,再移动水平线,你会同时看到坐标交换、对称关系和水平线检验。
复合函数的反函数:倒着拆,顺序也要反过来
如果先做 g,再做 f,得到
h=f∘g.
现在要撤销整个过程,应该先撤销最后做的 f,再撤销最先做的 g。因此在各层都可逆且范围匹配时,
(f∘g)−1=g−1∘f−1.
注意右边顺序反了。这和解开打包盒很像:最后盖上的盖子,要最先打开。
例如
h(x)=2x+3,x≥−
把它分成
g(x)=2x+3,f(u)=u
所以 h=f∘g。两层各自反过来是
f−1(y)=y2,y≥0,
以及
g−1(v)=2v−3.
撤销时先平方,再减 3、除以 2:
h−1(y)=g−1(f−1(y))
直接检查:
h(h−1(y))=2⋅2y
因为反函数定义域是 y≥0,所以 ∣y∣=y。少写这个范围,最后一步就没有理由成立。
例题串讲
例题 1:已知函数值,计算复合
已知 f(2)=5、g(5)=−1,求 (g∘f)(2)。
别被信息形式吓到。按顺序走:
(g∘f)(2)=g(f(2))=g(5)=−1.
这里根本不需要知道 f 与 g 的完整公式。复合函数只要求你能沿着输入输出接下去。
例题 2:复合以后求定义域
设
f(u)=u+2,g(x)=3
求 f(g(x)) 的定义域。
内层 g 对所有实数有定义。外层要求
u+2≥0,
即 u≥−2。把 u=3−x 代进去:
3−x≥−2.
两边减 3:
−x≥−5.
乘 −1 时不等号反向:
x≤5.
所以定义域是
(−∞,5].
例题 3:验证两个函数互为反函数
设
f(x)=2x−3,g(x)=2x+3.
先算一个方向:
f(g(x))=2⋅2x+3−3=x+
再算另一个方向:
g(f(x))=2(2x−3)+3=
两个函数的定义域和值域都是全体实数,两个方向都成立,因此 f 与 g 互为反函数。
例题 4:只看图像信息判断反函数上的点
若原函数图像经过点 (−2,5),而且原函数是一对一函数,那么反函数图像必经过
(5,−2).
理由不是套口诀,而是
f(−2)=5⟹f−1(5)=−2.
坐标交换,正好对应关于 y=x 的镜像。
常见误区:这些地方真的很容易丢分
- 把复合当乘法。 f(g(x)) 是代入关系,f(x)g(x) 才是两个函数值相乘。
- 按书写方向计算。 (f∘g)(x) 要先做右边的 ,再做左边的 。
小结与练习
复合函数是在追踪一条向前的计算链:先做谁,中间得到什么,这个中间值能不能进入下一层。反函数是在追踪同一条链的返回路线:输出有没有唯一来源,撤销操作该按什么顺序,定义域和值域怎样交换。
做题时可以先在草稿纸边上写三句:
- 从最里面开始,我先做哪一步?
- 每一步的输入有没有踩到分母、根号或其他限制?
- 反过来以后,一个输出能不能唯一找回一个输入?
练习 1
设 f(x)=x+4,g(x)=x2。求 (f∘ 与 ,并判断它们是否相同。
(f∘g)(x)=f(x2)=x2+4。。它们不是同一个函数;例如 时,前者为 ,后者为 。
练习 2
设 f(u)=4−u,g(x)=。求 的解析式与定义域。
复合后 f(g(x))=4−x2。内层 对所有实数有定义,外层要求 ,即 ,所以 。定义域是 。
练习 3
设 f(u)=u+1u−2,g(x)=。求 ,并写出完整定义域。
先看限制:g(x)=x1 要求 x=0;外层 不接收 ,所以还要 ,得到 。复合并化简:。定义域是 ;即使化简后的分式在形式上已经没有分母 , 仍不能补回。
练习 4
把
P(x)=(1+2x−3)
分解成三个简单函数的复合,并求 P 的定义域。
可以取 g(x)=2x−3,h(u)=1+u,,于是 。外层五次方没有额外限制,关键是根号要求 ,所以定义域为 。代回可得 。
练习 5
判断下列函数在给定定义域上是否一对一:
- f(x)=x2,x∈R;
- g(x)=x,;
f 不是一对一,因为 f(a)=f(−a),如 f(2)=f(−2)=4。 在 上严格递增,所以是一对一。 在 上严格递减,也是一对一;它的值域为 。
练习 6
设 f(x)=x+3。求反函数,并写出原函数与反函数各自的定义域和值域。
原函数要求 x≥−3,且平方根非负,所以 Df=[−3,∞),R。令 ,因为 ,平方得 ,所以 。因此 ,其定义域为 ,值域为 。
练习 7
求
q(x)=2x−1x+4
的反函数,并说明反函数定义域中要排除哪个数。
令 y=2x−1x+4。则 y(2x−1)=,所以 ,进而 。因此 ,得到 。这个函数恰好是自己的反函数。反函数定义域排除 ,因为原函数不可能输出 ;原函数本身也要求输入 。
练习 8
函数 p(x)=(x+1)2 限制在 x≥−1。求 p,并验证 。
令 y=(x+1)2。因为 x≥−1,所以 x+1≥,取非负平方根:,于是 ,定义域为 。验证:,最后一步正是用了 。
练习 9
设 h(x)=3x−21。把 h 分解成两个函数的复合,再利用“逆序撤销”求 h。
可取 g(x)=3x−2,f(u)=u1,于是 。这里 ,而 。所以 ,得到 。原函数定义域排除 ,值域排除 ,所以反函数定义域为 ,值域为 。
练习 10
一对互为反函数的图像中,原函数经过点 (3,−2) 与 (5,5)。写出反函数图像上的对应点,并判断哪个点在直线 y=x 上。
交换横纵坐标,反函数图像经过 (−2,3) 与 (5,5)。点 (5,5) 的横纵坐标相等,因此在 y=x 上,翻折后仍是自己;它对应一个不动点,满足 。