复合函数流水线

同一个 x 先进入不同的函数,后面的每一步都会跟着改变。拖动 x,比较 “先 g 后 f” 和 “先 f 后 g” 的输出。

f(u) = 2u + 1
g(x) = x² - 3
x = 2

先 g 后 f

f(g(x))
起点 x = 2
g(x) = x² - 3 1
f(u) = 2u + 1 3
结果 3

先 f 后 g

g(f(x))
起点 x = 2
f(x) = 2x + 1 5
g(u) = u² - 3 22
结果 22
g(x) 1
f(g(x)) 3
f(x) 5
g(f(x)) 22

f(g(x)) = 3g(f(x)) = 22。这一次两条流水线不同。

外层函数也会限制定义域

把外层函数换成 h(u) = √u。此时 h(g(x)) 要求内层输出 g(x) ≥ 0;如果 g(x) 是负数,后一步就不能在实数范围内继续。

h(u) = √u
定义域检查未开启
g(x) = 1

开启后会判断 g(x) 能否放进平方根。