普林斯顿微积分读本 · 第十章

反函数与反三角函数

反转映射的数学

10.1

导数与反函数的关系

反函数是微积分中一个深刻而优美的概念。如果一个函数 f 将输入 a 映射到输出 b,那么它的反函数 f-1 就把 b 映射回 a。理解反函数的导数如何与原函数的导数相关联,是本章的核心。

反函数的导数公式

若 f 在 a 处可逆且 f'(a) ≠ 0,则反函数 f-1 在 b = f(a) 处可导,且:

(f-1)'(b) = 1 / f'(a)      其中 b = f(a)

这个公式也可以写成以 x 为自变量的形式:

(f-1)'(x) = 1 / f'(f-1(x))
几何直觉:斜率的倒数

想象函数 y = f(x) 的图像和它的反函数 y = f-1(x) 的图像关于直线 y = x 对称。如果原函数在某点处的切线斜率为 m,那么反函数在对应点处的切线斜率就是 1/m。这是因为关于 y = x 对称的变换本质上交换了 x 和 y 的角色,而斜率 Δy/Δx 变成了 Δx/Δy = 1/(Δy/Δx)。

推导思路

设 y = f-1(x),则 f(y) = x。两边对 x 求导(隐函数求导):

f'(y) · y' = 1

因此 y' = 1 / f'(y) = 1 / f'(f-1(x))

为什么要求 f'(a) ≠ 0?

如果 f'(a) = 0,意味着原函数在该点的切线是水平的。反函数图像关于 y = x 对称后,该点处的切线变成竖直的——而竖直线的斜率是无穷大(不存在导数)。这就是为什么反函数导数公式中分母不能为零的原因。几何上,f'(a) = 0 的点正是反函数"不可导"的地方。

重要推论

反函数导数公式的一个直接推论是:

f'(a) · (f-1)'(f(a)) = 1

原函数在某点的导数与反函数在对应点的导数之积恒等于 1。这体现了"正"与"反"之间的完美对称。

10.2

反三角函数

三角函数(sin、cos、tan)不是一一对应的,因此它们没有全局的反函数。但通过限制值域,我们可以定义反三角函数。这些反函数在微积分中极为重要,它们帮助我们"逆转"三角运算。

三个基本反三角函数

函数定义定义域值域
arcsin(x) sin(y) = x,y ∈ [-π/2, π/2] [-1, 1] [-π/2, π/2]
arccos(x) cos(y) = x,y ∈ [0, π] [-1, 1] [0, π]
arctan(x) tan(y) = x,y ∈ (-π/2, π/2) (-∞, +∞) (-π/2, π/2)
为什么选择这些值域?

对于 arcsin,我们选择 [-π/2, π/2] 作为值域,是因为在这个区间内 sin(x) 是严格单调递增的,从而保证了一一对应关系。类似地,cos(x) 在 [0, π] 上严格单调递减,tan(x) 在 (-π/2, π/2) 上严格单调递增。这些区间被称为三角函数的主值区间

互补关系

arcsin(x) 和 arccos(x) 之间存在优美的互补关系:

arcsin(x) + arccos(x) = π/2      对所有 x ∈ [-1, 1] 成立

这是因为如果 sin(θ) = x,那么 cos(π/2 - θ) = x,因此 arccos(x) = π/2 - θ = π/2 - arcsin(x)。

反三角函数的导数

利用反函数导数公式 (f-1)'(x) = 1/f'(f-1(x)),我们可以推导出三个反三角函数的导数。

函数导数定义域限制
arcsin(x) 1 / √(1 - x²) |x| < 1
arccos(x) -1 / √(1 - x²) |x| < 1
arctan(x) 1 / (1 + x²) 所有实数 x

推导:d/dx arcsin(x) = 1/√(1-x²)

设 y = arcsin(x),则 sin(y) = x,其中 y ∈ [-π/2, π/2]。

第一步:两边对 x 求导

cos(y) · dy/dx = 1

第二步:解出 dy/dx

dy/dx = 1 / cos(y)

第三步:用 x 表示 cos(y)

因为 sin(y) = x,所以 cos2(y) = 1 - sin2(y) = 1 - x²。

在值域 [-π/2, π/2] 内,cos(y) ≥ 0,因此 cos(y) = √(1 - x²)。

d/dx arcsin(x) = 1 / √(1 - x²)

推导:d/dx arccos(x) = -1/√(1-x²)

方法一:直接推导与 arcsin 类似,但注意在值域 [0, π] 内 sin(y) ≥ 0,因此结果多一个负号。

方法二:利用互补关系。arccos(x) = π/2 - arcsin(x),因此:

d/dx arccos(x) = d/dx [π/2 - arcsin(x)] = 0 - 1/√(1-x²) = -1/√(1-x²)

推导:d/dx arctan(x) = 1/(1+x²)

设 y = arctan(x),则 tan(y) = x。

第一步:两边对 x 求导

sec2(y) · dy/dx = 1

第二步:解出 dy/dx

dy/dx = 1 / sec2(y) = cos2(y)

第三步:用 x 表示 cos2(y)

因为 tan(y) = x,所以 sec2(y) = 1 + tan2(y) = 1 + x²。

因此 cos2(y) = 1/sec2(y) = 1/(1 + x²)。

d/dx arctan(x) = 1 / (1 + x²)
arctan 导数的优雅之处

arctan(x) 的导数 1/(1+x²) 对所有实数 x 都有定义,不像 arcsin 和 arccos 那样在 |x| = 1 处出现奇点。这个导数在概率论中极为重要——它是柯西分布(Cauchy distribution)的概率密度函数。此外,∫ 1/(1+x²) dx = arctan(x) + C 是微积分中最经典的积分之一。

实际应用:反三角函数在工程与机器人学中的应用

机器人逆运动学:机械臂末端执行器的位置 (x, y) 已知,求各关节角度 θ。利用 arctan(y/x) 计算连杆方位角,arccos 计算关节夹角,实现从笛卡尔空间到关节空间的映射,是机器人轨迹规划的核心。

相机视角计算:监控摄像头的水平视场角 θ = 2 arctan(w/(2f)),其中 w 为传感器宽度,f 为焦距。工程师利用此公式选择合适的镜头焦距,确保监控区域无盲区。

卫星天线指向角:地面卫星天线需要根据卫星的经度和地面站的经纬度计算方位角和仰角。arctan 用于计算天线相对于正北方向的方位角,arcsin 用于计算仰角,确保天线精确对准卫星。

斜坡角度测量:智能手机中的加速度计测量重力在三个轴上的分量 gₓ、gᵧ、gᵤ。利用 arctan(gₓ/gᵧ) 可计算设备相对于水平面的倾斜角,应用于电子水平仪和游戏控制。

图 10-1:arcsin(x)、arccos(x)、arctan(x) 的图像对比
10.3

反双曲函数

与反三角函数类似,双曲函数也有对应的反函数。反双曲函数可以用对数函数显式表示,这使得它们的导数推导特别简洁。

三个基本反双曲函数

函数对数表达式定义域
arcsinh(x) ln(x + √(x² + 1)) (-∞, +∞)
arccosh(x) ln(x + √(x² - 1)) [1, +∞)
arctanh(x) (1/2) · ln((1+x)/(1-x)) (-1, 1)
为什么反双曲函数可以用对数表示?

以 arcsinh 为例:设 y = sinh(x) = (ex - e-x)/2。令 u = ex,则 y = (u - 1/u)/2,即 u² - 2yu - 1 = 0。解这个关于 u 的一元二次方程,取正根得到 u = y + √(y²+1)。因此 x = ln(u) = ln(y + √(y²+1))。

反双曲函数的导数

函数导数
arcsinh(x) 1 / √(x² + 1)
arccosh(x) 1 / √(x² - 1)   (x > 1)
arctanh(x) 1 / (1 - x²)   (|x| < 1)
推导 arcsinh(x) 的导数

arcsinh(x) = ln(x + √(x²+1)),利用链式法则和复合函数求导:

d/dx arcsinh(x) = 1/(x + √(x²+1)) · [1 + x/√(x²+1)]

= 1/(x + √(x²+1)) · (√(x²+1) + x)/√(x²+1)

= 1/√(x²+1)

分子分母中的 (x + √(x²+1)) 恰好约去,结果非常简洁!

反三角 vs 反双曲的导数对比

注意一个有趣的模式:arcsin(x) 的导数是 1/√(1-x²),而 arcsinh(x) 的导数是 1/√(1+x²)。唯一的区别是减号变成了加号!类似地,arctan(x) 的导数是 1/(1+x²),而 arctanh(x) 的导数是 1/(1-x²)。这种"三角到双曲"的符号变化规律非常优美。

EX

例题精讲

例1:求 d/dx arcsin(x²)

d/dx arcsin(x²),其中 |x| ≤ 1

第一步:识别复合结构

外层函数 f(u) = arcsin(u),内层函数 g(x) = x²

第二步:分别求导

f'(u) = 1/√(1 - u²),g'(x) = 2x

第三步:应用链式法则

d/dx arcsin(x²) = 1/√(1 - (x²)²) · 2x = 2x / √(1 - x4)
d/dx arcsin(x²) = 2x / √(1 - x4)
例2:求 d/dx arctan(ex)

d/dx arctan(ex)

第一步:识别复合结构

外层函数 f(u) = arctan(u),内层函数 g(x) = ex

第二步:分别求导

f'(u) = 1/(1 + u²),g'(x) = ex

第三步:应用链式法则

d/dx arctan(ex) = 1/(1 + (ex)²) · ex = ex / (1 + e2x)

第四步(可选):化简

分子分母同乘 e-x

= 1 / (e-x + ex) = 1 / (2 · cosh(x))
d/dx arctan(ex) = ex / (1 + e2x) = 1 / (2 · cosh(x))
例3:求 d/dx [arcsin(x) / arctan(x)](商法则)

d/dx [arcsin(x) / arctan(x)],其中 x ≠ 0 且 |x| < 1

第一步:设 u = arcsin(x),v = arctan(x)

u' = 1/√(1 - x²),v' = 1/(1 + x²)

第二步:应用商法则 (u/v)' = (u'v - uv') / v²

d/dx [arcsin(x)/arctan(x)] = [1/√(1-x²) · arctan(x) - arcsin(x) · 1/(1+x²)] / [arctan(x)]²

第三步:整理

= [arctan(x) / √(1-x²) - arcsin(x) / (1+x²)] / [arctan(x)]²
d/dx [arcsin(x)/arctan(x)] = arctan(x) / [√(1-x²) · arctan2(x)] - arcsin(x) / [(1+x²) · arctan2(x)]
例4:化简 arcsin(3/5)(利用直角三角形)

arcsin(3/5) 的精确值

第一步:理解含义

arcsin(3/5) 表示一个角 θ,使得 sin(θ) = 3/5,且 θ ∈ [-π/2, π/2]。

第二步:构造直角三角形

在直角三角形中,设 θ 为一个锐角。因为 sin(θ) = 对边/斜边 = 3/5,所以:

• 对边(opposite)= 3

• 斜边(hypotenuse)= 5

• 邻边(adjacent)= √(5² - 3²) = √(25 - 9) = √16 = 4

第三步:确定 θ 的值

这是一个经典的 3-4-5 直角三角形。因此:

cos(θ) = 邻边/斜边 = 4/5

tan(θ) = 对边/邻边 = 3/4

所以 θ = arctan(3/4)。

第四步:验证互补关系

arcsin(3/5) + arccos(3/5) = π/2

因为 arccos(3/5) = arcsin(4/5)(邻边变为对边),所以 arcsin(3/5) + arcsin(4/5) = π/2。

arcsin(3/5) = arctan(3/4),对应的直角三角形三边为 3-4-5
ML

MATLAB 可视化代码

以下 MATLAB 代码帮助你可视化反三角函数的图像特征和直角三角形方法。

inverse_trig_functions.m — 反三角函数图像
% 反三角函数图像:arcsin(x), arccos(x), arctan(x) x_asin = linspace(-1, 1, 500); y_asin = asin(x_asin); y_acos = acos(x_asin); x_atan = linspace(-5, 5, 500); y_atan = atan(x_atan); figure('Position', [100 100 900 550]); plot(x_asin, y_asin, 'LineWidth', 2.5, 'Color', [0.77 0.36 0.24]); hold on; plot(x_asin, y_acos, 'LineWidth', 2.5, 'Color', [0.18 0.49 0.43]); plot(x_atan, y_atan, 'LineWidth', 2.5, 'Color', [0.4 0.4 0.8]); % 画水平渐近线 y = pi/2 和 y = -pi/2 plot([-5 5], [1 1]*pi/2, 'k--', 'LineWidth', 0.8); plot([-5 5], [-1 -1]*pi/2, 'k--', 'LineWidth', 0.8); % 画 y = x 参考线 plot([-1.5 1.5], [-1.5 1.5], 'k:', 'LineWidth', 0.6); xlabel('x'); ylabel('y'); title('反三角函数:arcsin(x), arccos(x), arctan(x)'); legend('arcsin(x)', 'arccos(x)', 'arctan(x)', 'Location', 'best'); grid on; ylim([-2 2]); saveas(gcf, 'ch10_inverse_trig.png');
right_triangle_arcsin.m — 直角三角形可视化 arcsin(3/5)
% 直角三角形可视化:arcsin(3/5) % 三角形三边:对边=3, 邻边=4, 斜边=5 figure('Position', [100 100 700 600]); axis equal; hold on; % 三角形顶点 A = [0 0]; % 直角顶点 B = [4 0]; % 邻边端点 C = [0 3]; % 对边端点 % 画三角形 patch([A(1); B(1); C(1)], [A(2); B(2); C(2)], ... [0.95 0.95 0.85], 'EdgeColor', 'k', 'LineWidth', 2); % 标注直角符号 plot([0.3 0.3 0], [0 0.3 0.3], 'k', 'LineWidth', 1.5); % 标注角度 theta theta_arc = linspace(0, atan(3/4), 30); r_arc = 0.6; plot(r_arc*cos(theta_arc), r_arc*sin(theta_arc), 'r', 'LineWidth', 2); text(0.7, 0.25, '\theta = arcsin(3/5)', ... 'FontSize', 13, 'Color', 'r', 'FontWeight', 'bold'); % 标注边长 text(2, -0.4, '邻边 = 4', 'FontSize', 13, 'HorizontalAlignment', 'center'); text(-0.6, 1.5, '对边 = 3', 'FontSize', 13, 'HorizontalAlignment', 'center'); text(2.5, 2, '斜边 = 5', 'FontSize', 13, 'FontWeight', 'bold'); % 标注三角函数值 text(2, 4.2, 'sin(\theta) = 3/5', 'FontSize', 12); text(2, 3.6, 'cos(\theta) = 4/5', 'FontSize', 12); text(2, 3.0, 'tan(\theta) = 3/4', 'FontSize', 12); axis off; title('直角三角形可视化:arcsin(3/5)', 'FontSize', 15); saveas(gcf, 'ch10_right_triangle.png');
CH

交互式图表

反三角函数的交互式图像已嵌入在 10.2 节中,可滚动至该节查看。