math-concepts

直观理解复合函数:运算顺序、函数值与定义域

2026年9月28日2 分钟阅读
直观理解复合函数:运算顺序、函数值与定义域

假设一家配送服务每公里收费3美元,之后另加5美元预约费。配送4公里时,先把4乘以3,再加5。你把一条规则的输出交给了另一条规则处理,这就是函数复合。

符号看起来可能比实际操作更难。如果g(x)=3xg(x)=3x计算距离费用,f(x)=x+5f(x)=x+5加上预约费,总价就是f(g(4))=f(12)=17f(g(4))=f(12)=17美元。先执行内层规则。除非收费规则本来如此,否则不能先把费用加到距离上再相乘。

从内向外读取顺序

复合函数是把一个函数放进另一个函数中:

(f∘g)(x)=f(g(x))(f\circ g)(x)=f(g(x))

读作“ff在gg之后应用”。先求g(x)g(x),再把结果作为ff的输入。圆圈表示函数复合,不是乘法。OpenStax的函数复合章节给出了定义,并明确了顺序。

设f(x)=2x+1f(x)=2x+1和g(x)=x2−3g(x)=x^2-3。要写出f(g(x))f(g(x)),就把ff中的输入位置替换成完整的表达式x2−3x^2-3:

f(g(x))=2(x2−3)+1=2x2−5f(g(x))=2(x^2-3)+1=2x^2-5

当x=4x=4时,内层规则得到g(4)=16−3=13g(4)=16-3=13,外层规则得到f(13)=27f(13)=27。合并后的表达式也给出2(4)2−5=272(4)^2-5=27。把两步计算与合并后的式子对照,有助于发现括号放错的位置。

函数记号把输入位置标得很清楚。如果f(t)=2t+1f(t)=2t+1,那么f(x2−3)=2(x2−3)+1f(x^2-3)=2(x^2-3)+1。输入位置所用的字母不会改变规则。函数入门会在把规则串联之前解释输入、输出和定义域。

调换顺序并比较

仍用这两个函数,g(f(x))g(f(x))会先执行ff:

g(f(x))=(2x+1)2−3=4x2+4x−2g(f(x))=(2x+1)^2-3=4x^2+4x-2

当x=4x=4时,先有f(4)=9f(4)=9,再有g(9)=78g(9)=78。这不是f(g(4))f(g(4))得到的27。两种复合都有效,却回答不同的问题。不展开代数式也能看出区别:一条链先平方再加倍;另一条先加倍并加1,再平方。

某个输入下的偶然相等,不能说明两个复合函数相同。要证明它们是同一个函数,需要在共同定义域上比较规则,并检查两个定义域是否一致。普通练习中,分别求出两个表达式并化简。请记住,f(g(x))f(g(x))既不是g(f(x))g(f(x)),也不是乘积f(x)g(x)f(x)g(x)。

一种实用标记是x→gg(x)→ff(g(x))x\xrightarrow{g}g(x)\xrightarrow{f}f(g(x))。代入之前先写出第一支箭头。内层规则含有分数、根式或值表时,这样尤其有用。

从表格或图像求值

没有公式也可以复合函数。假设给出下表:

xx1234
g(x)g(x)3412
f(x)f(x)8697

求f(g(2))f(g(2))时,先从第一行读出g(2)=4g(2)=4。再用4作为ff的输入,得到f(4)=7f(4)=7。答案是7。反过来,f(2)=6f(2)=6,但表格没有给出g(6)g(6)的值,所以不能从这里读出g(f(2))g(f(2))。如果完整函数在其他地方有定义,这个值可能存在;仅凭列出的数值无法确定。

图像的操作相同。输入2时,先在gg的图像上读出高度,假设为4。再从ff图像的输入4出发,读出高度,假设为7。第一个高度成了第二次读取的横坐标。不要都在x=2x=2处读取两条图像的高度后把它们拼起来。如果任一图像在需要的输入处没有点,复合函数在那里就无定义。

要区分“这张局部表没有列出”和“输入在定义域之外”。简短的表格可能省略一个实际存在的值;图像上的空心点或明确的端点却可能表示某个值被排除。说明你有哪些证据,不要编造缺失的输出。

化简之前先检查定义域

f(g(x))f(g(x))的定义域有两道门槛。首先,xx必须属于gg的定义域。其次,得到的g(x)g(x)必须是ff允许的输入。OpenStax正是用这种输出传给输入的方式表述规则。

gg的整个值域不必都落在ff的定义域中,复合函数仍可以对某些输入成立。只保留两步都能执行的输入。例如,平方运算可以接受任何实数,而后面的平方根只接受非负输出。平方数本身非负,所以这种组合对所有实数输入都可行。若将内层规则改成减法,允许的输入集合可能缩小。检查实际传递的值,而不只是分别看两条公式。

设g(x)=x−1g(x)=x-1与f(t)=tf(t)=\sqrt{t},输出均为实数。内层规则接受任何实数,而外层平方根只接受非负输入。因此:

f(g(x))=x−1,x≥1f(g(x))=\sqrt{x-1},\qquad x\geq1

调换顺序。现在先运行f(x)=xf(x)=\sqrt{x},然后gg减去1:

g(f(x))=x−1,x≥0g(f(x))=\sqrt{x}-1,\qquad x\geq0

两个表达式及其定义域都不同。在x=0x=0处,第二种复合给出−1-1,第一种在实数范围内无定义。这比仅找到一个函数值不同的输入更能说明问题。

分母会增加另一道门槛。设g(x)=1/(x−2)g(x)=1/(x-2)和f(t)=t+3f(t)=t+3,则f(g(x))=1/(x−2)+3f(g(x))=1/(x-2)+3,但x=2x=2仍被排除,因为内层规则在该处无定义。

约分永远不能恢复原本被禁止的输入。令g(x)=(x2−1)/(x−1)g(x)=(x^2-1)/(x-1),仅在x≠1x\ne1时有定义,并令f(t)=t2f(t)=t^2。对允许的输入,g(x)g(x)可以化为x+1x+1。复合表达式看起来像(x+1)2(x+1)^2,但定义域仍是x≠1x\ne1。在x=1x=1处,原来的内层函数要求除以零。一个在其他位置都相同的多项式,若不定义新函数,就无法填补这个空缺。

把较长的规则拆成步骤

也可以反过来读复合过程,说明一个公式怎样构成。考虑h(x)=3x+2h(x)=\sqrt{3x+2}。一种拆法是先用g(x)=3x+2g(x)=3x+2,再用f(t)=tf(t)=\sqrt{t}。因此h=f∘gh=f\circ g。这也能迅速看出定义域:必须满足3x+2≥03x+2\geq0,即x≥−2/3x\geq-2/3。

有效的拆法可能不止一种。可以把内层的一次规则分为“乘以3”和“加2”,第三步再取平方根。关键是,说明的顺序必须对每个允许的输入都重现原规则。

观察图像变换时,比较f(x)=x2f(x)=x^2与f(x−2)=(x−2)2f(x-2)=(x-2)^2。改变发生在输入的位置,所以抛物线向右平移2。对于f(x)+2=x2+2f(x)+2=x^2+2,加法发生在ff之后,所以图像向上平移2。这也是复合的体现:“先减2再平方”不同于“先平方再加2”。如果代入仍不熟悉,可以参考代数指南。

练习三种不同的检查

1. 两种顺序。 设f(x)=x+4f(x)=x+4和g(x)=2xg(x)=2x,求两种复合。答案是f(g(x))=2x+4f(g(x))=2x+4和g(f(x))=2x+8g(f(x))=2x+8。在x=3x=3处,它们分别是10和14。顺序决定4在哪一步进入计算。

2. 定义域门槛。 设f(t)=1/tf(t)=1/t和g(x)=x2−9g(x)=x^2-9,则f(g(x))=1/(x2−9)f(g(x))=1/(x^2-9)。排除x=3x=3和x=−3x=-3,因为两者都会让外层分母为零。内层多项式本身接受所有实数。

3. 查表。 用上表计算g(f(3))g(f(3))。首先有f(3)=9f(3)=9。表格没有g(9)g(9)的条目,因此给出的信息不足。这是完整的答案,并不是计算失败。

每做完一题,都说出先执行哪条规则、它输出什么值,以及下一条规则能否接受这个值。然后用一个具体输入检查代数式的结果。在Math Zen的函数练习里,复合与定义域、值域问题放在一起,方便单独练习这种传递过程。

反函数是一种特殊情形:在合适的定义域上,一条规则可以撤销另一条规则。求一般复合函数无需先掌握反函数。这里遵守可靠的顺序就够了:内层输出,外层输入,最后检查定义域。

常见问题

什么是复合函数?
把内层函数的输出交给外层函数作为输入。f(g(x))要先计算g,再计算f。
f(g(x))和g(f(x))相同吗?
通常不同。首先作用于输入的函数变了。应分别计算两个表达式并比较定义域。
如何求复合函数的定义域?
要求g(x)有定义,且其输出属于f的定义域。约分不能恢复原来被排除的输入。
能从表格或图像求复合函数值吗?
可以。先读内层函数的值,再用它作为外层输入。局部表格缺少所需值时,需要更多信息;如果必要的输入不在相应函数的定义域中,复合函数在该处无定义。

动手练一练