“反正切函数的求导”这几个字,摊开在教材里不过半行公式,可我在帮人看习题本、整理答疑记录这些年里,凡是被 arctan 卡住的,错的往往不是那半行公式本身,而是公式外面的那层链式法则、符号判断和恒等变形。有人能倒背 ( (\arctan x)' = \frac{1}{1+x^2} ),一上手写 ( \arctan(2x) ) 的导数立刻掉系数;有人复合函数处理得挺顺,碰到 ( \arctan\frac{1-x}{1+x} ) 就从头展开硬算,算到第三行把自己绕晕。这篇东西我打算把反正切函数求导这一块从根上拆一遍:它到底在考什么、三种推导路线怎么选、习题按类型怎么打、错题怎么自己查出来。刚接触导数的读者能照着抄步骤,已经学过一遍但总在细节上掉链子的读者,应该能从排查表那节里捞到点真东西。
1. 先把这道题的本质说清楚:它到底在考什么
1.1 一个公式背后压着三块知识点
很多人把 ( (\arctan x)' = \frac{1}{1+x^2} ) 当成一个孤立的记忆条目,这是理解上最大的偏差。这条公式其实是三块知识咬合出来的结果。第一块是反函数求导法则:若 ( y = f(x) ) 与 ( x = f^{-1}(y) ) 互为反函数,且 ( f'(y) \neq 0 ),则 ( (f^{-1})'(y) = \frac{1}{f'(x)} )。这条法则要求你会判断"谁是自变量、谁在分母"。第二块是三角恒等式:( \sec^2 y = 1 + \tan^2 y ),以及 ( \cos^2 y = \frac{1}{1+\tan^2 y} )。第三块是反三角函数的定义域与值域约定,也就是为什么非得把 ( y ) 限制在 ( (-\frac{\pi}{2}, \frac{\pi}{2}) ) 里。
三块里任何一块松动,公式就会推歪。我见过最典型的场景:推导时写 ( x = \tan y ),两边对 ( x ) 求导得 ( 1 = \sec^2 y \cdot y' ),然后卡住——因为他不知道 ( \sec^2 y ) 该怎么换回 ( x )。这一步不是靠灵感,靠的就是 ( 1 + \tan^2 y = 1 + x^2 )。所以我在带人过这一节时,从不先给结论,而是先把这三块摊开,缺哪块补哪块,比硬背十条公式都管用。
1.2 为什么不建议一上来就背结论
背结论在考试里当然省时间,但它有个副作用:你会失去"这条公式错了怎么自己发现"的能力。arctan 的导数有个非常漂亮的自我验证特征——( \frac{1}{1+x^2} ) 恒正、在 ( x=0 ) 处等于 1、( |x| \to \infty ) 时趋于 0。这三点恰好对应 ( y = \arctan x ) 图像的三件事:单调递增、在原点的切线斜率为 1、两端有水平渐近线。
你自己推一遍,就会发现这三个特征是从推导里自然长出来的,而不是事后硬套。比如 ( x \to +\infty ) 时 ( \frac{1}{1+x^2} \to 0 ),正对应 ( \arctan x \to \frac{\pi}{2} ) 那条水平渐近线;如果哪天你把公式记成了 ( \frac{1}{1+x} ),用这个端行为一测就露馅了——( \frac{1}{1+x} ) 在 ( x \to \infty ) 时也是 0,但在 ( x = -1 ) 处会炸掉,而 arctan 在 ( x=-1 ) 附近光滑得很。这种"用图像特征反查公式"的习惯,比多刷二十道题值钱。
提示:判断自己是否真的掌握了这条公式,有个简单标准——能不能不看书写出推导,并且在写完后指着每一步说清楚"这一步用了什么"。做不到,说明还在记忆层面。
2. 三种推导路线的取舍:我为什么主推反函数法
2.1 反函数求导法:主线稳,但有两个前提必须先立住
设 ( y = \arctan x ),按定义就是 ( x = \tan y ) 且 ( y \in (-\frac{\pi}{2}, \frac{\pi}{2}) )。这个值域限制不是装饰,它是整条推导的地基。( \tan ) 在整个定义域上不是单射,周期为 ( \pi ),只有在 ( (-\frac{\pi}{2}, \frac{\pi}{2}) ) 这一段上它才单调递增、才存在反函数。教材把这句话写得极轻,但它决定了后面能不能用反函数求导法则。
接下来对方程 ( x = \tan y ) 两边关于 ( x ) 求导。左边对 ( x ) 求导是 1。右边是 ( \tan y ),其中 ( y ) 是 ( x ) 的函数,走链式法则得 ( \sec^2 y \cdot \frac{dy}{dx} )。于是:
[ 1 = \sec^2 y \cdot \frac{dy}{dx} \quad\Longrightarrow\quad \frac{dy}{dx} = \frac{1}{\sec^2 y} ]
到这里都还顺,卡点在下一步:怎么把 ( \sec^2 y ) 换掉。两条路。第一条用 ( \sec^2 y = 1 + \tan^2 y = 1 + x^2 ),一步到位,得到 ( \frac{dy}{dx} = \frac{1}{1+x^2} )。第二天用 ( \sec^2 y = \frac{1}{\cos^2 y} ),配合直角三角形或 ( \cos^2 y = \frac{1}{1+\tan^2 y} ),殊途同归。
我通常推第一条,因为它最短;但会补一句:这里之所以不用纠结 ( \sec y ) 的正负号,是因为 ( \sec^2 y ) 是平方,恒正,而 ( y \in (-\frac{\pi}{2}, \frac{\pi}{2}) ) 时 ( \cos y > 0 ),本来也不需要取符号。这个细节在 arctan 这里属于"运气好",等你处理 arcsin、arccos 时,同样的位置就必须老老实实讨论符号了,那是另一类坑。
2.2 隐函数法:等价路线,符号处理更友好
隐函数法是反函数法的一个变体,做法是对 ( \tan y = x ) 直接隐式求导,只不过把 ( y ) 当作 ( x ) 的函数来看。写出来的式子和上面一模一样,但思路上的差别在于:你不会去想"反函数存在性"这一层,而是默认 ( y = y(x) ) 已经是 ( x ) 的可导函数,直接套隐函数求导流程。对于初学阶段容易在"反函数"这个概念上打结的人来说,这条路心理负担更小。
我更愿意推荐隐函数法的另一个理由是它自带的换元更自然。写成 ( 1 = \sec^2 y \cdot y' ) 之后,把 ( y' ) 解出来是 ( y' = \cos^2 y )。这个形式很舒服,因为 ( \cos y ) 可以用 ( \tan y = x ) 直接算:画一个直角三角形,对边 ( x )、邻边 1、斜边 ( \sqrt{1+x^2} )(注意这里 ( x ) 可正可负,但斜边恒正,而 ( y \in (-\frac{\pi}{2}, \frac{\pi}{2}) ) 保证 ( \cos y > 0 ),取正号没问题),于是 ( \cos y = \frac{1}{\sqrt{1+x^2}} ),平方得 ( \cos^2 y = \frac{1}{1+x^2} )。
两条路的结果完全一致,但我建议初学者先练隐函数法,练顺了再回到反函数法,因为反函数法能推广到更一般的场合,而隐函数法在三角反函数这一族里是最不容易出符号错的路子。这个顺序我试过很多轮,比反过来教要顺。
2.3 用导数定义硬算:费力,但能补上一个极限思维
时不时有人问:不借助反函数法则,能不能用定义直接算?能,但要多绕几步,我一般只在对极限工具已经比较熟的人身上用这一招,因为它顺带能补一个常见漏洞。
按定义:
[ (\arctan x)' = \lim_{h \to 0} \frac{\arctan(x+h) - \arctan x}{h} ]
分子的差要用反正切差角公式处理。设 ( A = \arctan(x+h) )、( B = \arctan x ),则 ( \tan(A-B) = \frac{\tan A - \tan B}{1 + \tan A \tan B} = \frac{h}{1 + x(x+h)} )。当 ( h ) 足够小时,可以保证 ( A - B \in (-\frac{\pi}{2}, \frac{\pi}{2}) ),于是 ( A - B = \arctan\frac{h}{1+x(x+h)} )。
代回原式:
[ \lim_{h \to 0} \frac{1}{h} \arctan\frac{h}{1 + x(x+h)} = \lim_{h \to 0} \frac{1}{1+x(x+h)} \cdot \frac{\arctan t}{t} ]
其中 ( t = \frac{h}{1+x(x+h)} )。这里用上 ( \lim_{t \to 0} \frac{\arctan t}{t} = 1 ),外层极限直接给出 ( \frac{1}{1+x^2} )。
注意:这一步里"( A - B ) 落在 ( (-\frac{\pi}{2}, \frac{\pi}{2}) )"是需要交代的,不能想当然。很多讲义为了省事直接写 ( \arctan a - \arctan b = \arctan\frac{a-b}{1+ab} ),这个等式并不是恒成立的,差可能落在 ( (-\pi, \pi) ) 的更大范围里,符号会翻。处理极限题时,因为 ( h \to 0 ) 时 ( A \to B ),差值必然收敛到 0,落在主值区间内,所以这里安全;但换成求具体数值的题,比如 ( \arctan 2 - \arctan 3 ),直接套这个公式就会得到错误符号。
这三种路线我一般在第一轮全讲一遍,然后明确告诉对方:平时做题走隐函数法,考试赶时间直接用结论,只有被要求"证明"时才写完整推导。分工清楚了,反而不会乱。
3. 习题分型实操:从单层到五层嵌套
3.1 基础型:只有一层 arctan
最基础的一档就是 ( y = \arctan x ),答案直接写 ( y' = \frac{1}{1+x^2} )。这一档没什么好说的,但要提醒一句记号问题:( \tan^{-1} x ) 这个写法有歧义,它既可能表示反正切,也可能被人理解成 ( \frac{1}{\tan x} )。我改作业时见过把这个搞混的,把 ( \arctan x ) 的导数写成 ( -\csc^2 x ),一步错到底。低于 ( -1 ) 次方的上标在三角函数里一般不表示倒数,但为了避免误读,写 ( \arctan ) 最保险。
稍微进一档是带系数的线性变形,比如 ( y = \arctan x + 3\arctan x ),或者 ( y = 2\arctan x - x )。这类题重点在别被系数带偏,求导就是逐项来,( 2\arctan x - x ) 的导数是 ( \frac{2}{1+x^2} - 1 )。看着简单,但常有人把常数项也对着 ( x ) 求导求出一堆东西来,反映出对"常数的导数为零"还不够熟。
再往上一点,是把 arctan 塞进乘积或商里,比如 ( y = x\arctan x )。这个用乘积法则:( y' = \arctan x + \frac{x}{1+x^2} )。这类题有个很好玩的后续——如果取 ( y = x\arctan x - \frac{1}{2}\ln(1+x^2) ),求导得 ( \arctan x + \frac{x}{1+x^2} - \frac{x}{1+x^2} = \arctan x ),正好说明 ( x\arctan x - \frac{1}{2}\ln(1+x^2) ) 是 ( \arctan x ) 的一个原函数。这种"求导之后变回去"的题在积分表验证里经常出现,值得单独记一笔。
3.2 复合型:链式法则是主战场
真正拉开差距的是复合型:( y = \arctan u(x) ),其中 ( u ) 是任意可导函数。公式是
[ y' = \frac{u'(x)}{1 + u(x)^2} ]
分母里的平方是对内层函数整体平方,不是对 ( x ) 平方。这是我看到出错最多的地方。举几道典型题:
- ( y = \arctan(2x) ),( u = 2x ),( u' = 2 ),( y' = \frac{2}{1+4x^2} )。掉系数的人会写成 ( \frac{1}{1+2x^2} ) 或 ( \frac{1}{1+4x} ),两种错法都很常见。
- ( y = \arctan(x^2) ),( u = x^2 ),( u' = 2x ),( y' = \frac{2x}{1+x^4} )。这里分母是 ( x^4 ),不是 ( x^2 ),因为 ( u^2 = (x^2)^2 )。
- ( y = \arctan(\sqrt{x}) ),( u = x^{1/2} ),( u' = \frac{1}{2\sqrt{x}} ),( y' = \frac{1}{2\sqrt{x}(1+x)} )。
- ( y = \arctan(e^x) ),( y' = \frac{e^x}{1+e^{2x}} )。这个形式在后续求极限、求积分时经常冒出来,值得记住。
- ( y = \arctan(\ln x) ),( y' = \frac{1}{x(1+\ln^2 x)} ),定义域 ( x > 0 )。
- ( y = \arctan(\sin x) ),( y' = \frac{\cos x}{1+\sin^2 x} )。
这组题我一般要求连写十遍不停顿,练到看见内层就知道该乘什么。理由很简单:链式法则本身不难,难的是在分母已经有一个平方的情况下,还要记得分子上挂一个内层导数。人的短时记忆容量有限,分母那个平方已经占了一个位置,分子就容易漏。
嵌套两层的情况要单独练:( y = \arctan(\arctan x) )。内层 ( u = \arctan x ),( u' = \frac{1}{1+x^2} ),于是
[ y' = \frac{1}{1 + (\arctan x)^2} \cdot \frac{1}{1+x^2} ]
分母千万别写成 ( 1 + \arctan(x^2) ) 之类的东西。这类题能干净做对的,说明链式法则的"由外向内、逐层乘"已经吃透了。
3.3 恒等变形型:先化简再求导,能省一半力气
有些题硬求导能算,但会算出一堆分式套分式的东西,中间极容易丢项。这时候先做恒等变形再求导,效率差出好几倍。有一组经典恒等式值得记住:
[ \arctan x + \arctan\frac{1}{x} = \frac{\pi}{2}\ (x > 0), \qquad \arctan x + \arctan\frac{1}{x} = -\frac{\pi}{2}\ (x < 0) ]
还有 ( \arctan x + \operatorname{arccot} x = \frac{\pi}{2} ),以及
[ \arctan\frac{1-x}{1+x} = \frac{\pi}{4} - \arctan x \quad (x > -1) ]
这最后一条是习题里的高频角色。直接求导的话:( u = \frac{1-x}{1+x} ),( u' = \frac{-(1+x)-(1-x)}{(1+x)^2} = \frac{-2}{(1+x)^2} );同时 ( 1 + u^2 = \frac{(1+x)^2+(1-x)^2}{(1+x)^2} = \frac{2(1+x^2)}{(1+x)^2} )。两式相除:
[ y' = \frac{-2/(1+x)^2}{2(1+x^2)/(1+x)^2} = -\frac{1}{1+x^2} ]
结果和"先化简成 ( \frac{\pi}{4} - \arctan x ) 再求导"完全一致,但后者的计算量不到前者的三分之一。我通常会让人两种都算一遍,用一致的结果互相印证——这一步既练了技巧,又顺便完成了验算。
顺手验证一下上面那条 ( x>0 ) 的恒等式:两边求导,左边是 ( \frac{1}{1+x^2} + \left(\arctan\frac{1}{x}\right)' ),而 ( \left(\arctan\frac{1}{x}\right)' = \frac{-1/x^2}{1+1/x^2} = -\frac{1}{1+x^2} ),加起来恰好是 0,右边常数的导数也是 0。这说明两边只差一个常数,代 ( x=1 ) 定出这个常数是 ( \frac{\pi}{2} )。这种"求导验恒等式"的手法在三角恒等式多的章节里非常好用。
3.4 隐函数、参数方程与 arctan 的组合题
到了这一档,arctan 的导数往往只是链条里的一环。举个我挺喜欢的例子:设
[ \arctan\frac{y}{x} = \frac{1}{2}\ln(x^2 + y^2), \quad x > 0 ]
求 ( \frac{dy}{dx} )。左边令 ( u = \frac{y}{x} ),则 ( u' = \frac{y'x - y}{x^2} ),左边求导得
[ \frac{y'x - y}{x^2} \cdot \frac{1}{1 + (y/x)^2} = \frac{y'x - y}{x^2 + y^2} ]
右边求导得 ( \frac{1}{2} \cdot \frac{2x + 2yy'}{x^2+y^2} = \frac{x + yy'}{x^2+y^2} )。两边乘掉共同的分母:
[ y'x - y = x + yy' \quad \Longrightarrow \quad y'(x - y) = x + y \quad \Longrightarrow \quad y' = \frac{x+y}{x-y} ]
如果对极坐标熟,会认出来左边是极角 ( \theta )、右边是 ( \ln r ),也就是 ( r = e^{\theta} ) 那类曲线,这个斜率结果和直接用参数方程算出来的一致。这道题的价值在于:它把 arctan 求导、隐函数求导、对数求导三件事串在一根绳上,而且结果形式干净,好检查。
参数方程里也会遇到 arctan,比如 ( x = t - \arctan t )、( y = \ln(1+t^2) ),此时 ( \frac{dx}{dt} = 1 - \frac{1}{1+t^2} = \frac{t^2}{1+t^2} ),( \frac{dy}{dt} = \frac{2t}{1+t^2} ),于是 ( \frac{dy}{dx} = \frac{2t}{t^2} = \frac{2}{t} )。这类题考的是"先分别对参数求导再相除"这个流程,arctan 在里面负责提供那个不好直接处理的项。
3.5 高阶导数:递推法比硬求稳得多
( \arctan x ) 的 ( n ) 阶导数是很多考研和竞赛题里的常客,硬求第四阶就已经很难看了。稳妥的路子是用莱布尼茨公式做递推。
从 ( y' = \frac{1}{1+x^2} ) 出发,写成 ( (1+x^2)y' = 1 ),再对 ( x ) 求一次导:
[ (1+x^2)y'' + 2xy' = 0 ]
这个二阶方程就是递推的源头。对它再求 ( n ) 阶导,用莱布尼茨公式展开,注意 ( (1+x^2) ) 只有前三阶导数非零(分别是 ( 1+x^2 )、( 2x )、( 2 ),之后全为零),于是
[ (1+x^2)y^{(n+2)} + 2(n+1)x,y^{(n+1)} + n(n+1),y^{(n)} = 0 ]
令 ( x = 0 ),中间那项直接消失:
[ y^{(n+2)}(0) = -n(n+1),y^{(n)}(0) ]
配合初值 ( y(0) = 0 )、( y'(0) = 1 ),从 ( n = 0 ) 开始推:( y''(0) = 0 );( y'''(0) = -2 );( y^{(4)}(0)=0 );( y^{(5)}(0) = -3\cdot 4 \cdot (-2) = 24 );( y^{(7)}(0) = -5\cdot 6\cdot 24 = -720 )。规律很清楚:
[ y^{(2k)}(0) = 0, \qquad y^{(2k+1)}(0) = (-1)^k (2k)! ]
这个结论和 ( \arctan x ) 的麦克劳林展开 ( x - \frac{x^3}{3} + \frac{x^5}{5} - \cdots ) 是对得上的:( \frac{y'''(0)}{3!} = \frac{-2}{6} = -\frac13 ),( \frac{y^{(5)}(0)}{5!}= \frac{24}{120} = \frac15 )。两条路径互相咬合,正好说明递推没推错。
提示:高阶导数题最容易犯的错是递推式里 ( n(n+1) ) 写错。检验办法只有一个——把 ( n=0,1,2 ) 代回去,和最初手动求的二阶、三阶导对照。对不上就是系数错了,立刻回头,别往下推。
4. 常见错误清单与排查手册
4.1 六类高频错误逐个拆
我把这些年见到的错法归了归类,基本跑不出下面这几张网:
| 错误类型 | 典型表现 | 根因 | 纠正动作 |
|---|---|---|---|
| 丢链式因子 | ( (\arctan 2x)' ) 写成 ( \frac{1}{1+4x^2} ) | 只记住外层公式,忘了内层 | 每写一步先圈出内层 ( u ) |
| 分母平方放错位置 | ( (\arctan x^2)' ) 写成 ( \frac{2x}{1+x^2} ) | 把 ( u^2 ) 当成 ( x^2 ) | 显式写出 ( u= ),再写 ( u^2 ) |
| 记号混淆 | 把 ( \tan^{-1}x ) 当成 ( \frac{1}{\tan x} ) | 对反函数记号不熟 | 统一写 ( \arctan ) |
| 反函数求导方向搞反 | 写成 ( \frac{dy}{dx} = \sec^2 y ) | 把 ( \frac{dx}{dy} ) 和 ( \frac{dy}{dx} ) 弄混 | 先明确谁对谁求导 |
| 值域区间忽略 | 讨论可导性时跳过 ( y \in (-\frac{\pi}{2}, \frac{\pi}{2}) ) | 认为反函数定义域无关紧要 | 推导前先把区间写出来 |
| 隐函数不解出 | 算到含 ( y' ) 的方程就停手 | 忘了题目问的是 ( y' ) 本身 | 最后一步显式解出 |
拿第一类展开说说。为什么"丢链式因子"这么顽固?因为人在背公式的时候,大脑存的是 ( \frac{1}{1+(\cdot)^2} ) 这个"形状",填空时很容易把内层往里一塞就完事,压根没意识到外面还欠一个因子。这跟背单词只记拼写不记词性是一个毛病。破解办法是养成一个机械动作:动笔前先在草稿纸边上写一行"( u = ? \quad u' = ? )",两个空都填了再下笔。这个动作看着笨,但它把"识别内层"和"求内层导数"拆成了两个独立步骤,注意力不用同时管两件事,出错率立刻下来。
第三类记号问题值得多讲两句,因为它不完全是粗心。数学里上标 ( -1 ) 用在函数上表示反函数,用在数上表示倒数,同一个符号两种含义,确实容易误导。教材里现在越来越多地用 ( \arcsin )、( \arccos )、( \arctan ) 这套写法,就是为了绕开这个坑。你自己做题记笔记,坚持写 ( \arctan ) 就行,别偷懒写 ( \tan^{-1} ),省那几个字母换来的风险不划算。
第五类"值域区间忽略",平时做题看不出后果,一到概念题就抓瞎。比如问 ( y = \arctan x ) 为什么在全体实数上可导,标准回答里必须包含"因为 ( \tan y ) 在 ( (-\frac{\pi}{2}, \frac{\pi}{2}) ) 上单调且 ( \sec^2 y \neq 0 )"这个前提。少了它,逻辑链是断的。我遇到过只答"因为导数公式是 ( \frac{1}{1+x^2} ) 分母不为零"的,这是循环论证——公式本身就是从可导性推出来的。
4.2 三个验算动作,能挡掉八成失误
我做 arctan 相关题有个固定习惯,每算完一题花十几秒做一遍检查,三个动作任选其一就够。
动作一:代特殊值看数值。拿 ( y = \arctan x ),在 ( x=1 ) 处导数应该是 ( \frac{1}{2} = 0.5 )。你可以用一个极小的步长做差商粗算,比如取 ( h = 10^{-6} ),算 ( \frac{\arctan(1+h) - \arctan(1-h)}{2h} ),结果应当非常接近 0.5。这个方法对任何复合题都适用,写两行代码就能批量验。下面这段是我常用的模板:
import math def num_deriv(f, x, h=1e-6): return (f(x + h) - f(x - h)) / (2 * h) print(num_deriv(math.atan, 1.0)) # 理论值 1/(1+1) = 0.5 print(num_deriv(lambda t: math.atan(2 * t), 1.0)) # 理论值 2/(1+4) = 0.4 print(num_deriv(lambda t: math.atan(t * t), 1.0)) # 理论值 2x/(1+x^4) = 1.0 print(num_deriv(lambda t: math.atan(math.exp(t)), 0.0)) # 理论值 e^0/(1+e^0) = 0.5跑出来四行分别约等于 0.5、0.4、1.0、0.5,和手算对上就基本没问题。要提醒的是中心差商有截断误差,步长别设得太小(比如 ( 10^{-12} )),浮点相减会吃掉有效位,反而偏差变大,( 10^{-6} ) 附近是个比较稳的区间。
动作二:用符号工具反查。手算完想确认表达式有没有化简到位,可以用符号计算过一遍:
from sympy import symbols, atan, diff, simplify x = symbols('x') f = atan((1 - x) / (1 + x)) print(simplify(diff(f, x))) # 期望输出 -1/(x**2 + 1)工具的好处是它不会漏项,坏处是它不会告诉你"为什么"。所以我的用法是反过来的:先手算,再让工具确认,对不上就回去找差在哪一步。直接拿工具抄答案,考场上什么也剩不下。
动作三:对称性与端行为检查。( \arctan x ) 是奇函数,它的导数 ( \frac{1}{1+x^2} ) 必须是偶函数。所以如果你算出个 ( \frac{x}{1+x^2} ) 之类的东西,一眼就能毙掉。同理,导数恒正说明原函数单调递增;( x=0 ) 处导数为 1 说明过原点的切线是 ( y=x )。这三条性质拿来做快速筛查,比重新算一遍省事得多。
注意:验算能查出"结果不对",查不出"过程不严谨"。如果题目要求写推导过程,验算替代不了对每一步理由的交代,这两件事要分开看。
5. 把它用出去:arctan 求导在别处的影子
5.1 积分表里那一行是怎么来的
微积分教材的积分表里有这么一行:( \int \frac{dx}{1+x^2} = \arctan x + C )。很多人把它当成和求导公式并列的另一条要背的东西,其实它们是同一件事的两面。正因为 ( (\arctan x)' = \frac{1}{1+x^2} ),( \arctan x ) 才是 ( \frac{1}{1+x^2} ) 的原函数。懂了这一层,积分表里一大片条目都不用单独记。
更有意思的是反过来用:从 ( \frac{1}{1+x^2} ) 的几何级数展开出发,
[ \frac{1}{1+x^2} = 1 - x^2 + x^4 - x^6 + \cdots \quad (|x| < 1) ]
逐项积分(这一步需要一致收敛性做支撑,在 ( |x| < 1 ) 的开区间内是合法的),得到
[ \arctan x = x - \frac{x^3}{3} + \frac{x^5}{5} - \frac{x^7}{7} + \cdots ]
这条展开在 ( x = 1 ) 处收敛(端点要用阿贝尔极限定理处理),代入得 ( \frac{\pi}{4} = 1 - \frac13 + \frac15 - \frac17 + \cdots ),也就是那个著名的莱布尼茨级数。我特别喜欢拿这个当例子讲给刚学完导数的人听:一条求导公式,往前接积分,往后接级数,中间还能勾出圆周率,这一小块知识的"接口密度"高得吓人。理解了这层关联,你会发现 arctan 求导不是孤零零一条公式,而是好几个章节之间的枢纽。
顺带说一句,有些题会考 ( \int \frac{dx}{a^2+x^2} = \frac{1}{a}\arctan\frac{x}{a} + C ),这个公式的来源就是换元 ( x = at ),然后套 ( \arctan ) 的导数。会推这个,比背下来强。
5.2 atan2 的偏导数与工程里的角度计算
写代码的人接触到的往往不是 ( \arctan x ),而是双参数的反正切atan2(y, x)。它比单参数版本多出来的价值,是能区分四个象限。而在需要做梯度、做优化、做灵敏度分析的场合,atan2的偏导数会直接出现在公式里。
设 ( \theta = \operatorname{atan2}(y, x) ),在 ( x > 0 ) 的分支上它就是 ( \arctan\frac{y}{x} )。对内层 ( u = \frac{y}{x} ) 分别求偏导:
[ \frac{\partial \theta}{\partial y} = \frac{1/x}{1 + (y/x)^2} = \frac{x}{x^2+y^2}, \qquad \frac{\partial \theta}{\partial x} = \frac{-y/x^2}{1+(y/x)^2} = -\frac{y}{x^2+y^2} ]
这两个式子有一个很漂亮的几何解释:把它们看成向量 ( \frac{1}{x^2+y^2}(x, -y) ),它和径向向量 ( (x, y) ) 的内积为零,也就是垂直于半径方向——转角变化最快的方向,本来就是绕圈的方向,这跟直觉完全一致。同时这个梯度的模是 ( \frac{1}{\sqrt{x^2+y^2}} ),离原点越远,转同样的角度需要的位移越大,这也对得上。
这些式子在什么地方用得上?凡是涉及"角度对参数求敏感度"的计算都绕不开。比如某开发者做机械臂末端姿态的误差分析,末端方向用角度参数化,做一阶误差传播时就必须用到上面这两个偏导;又比如做方向估计的模型,损失函数里含角度项,反传时同样要落到 ( \frac{x}{x^2+y^2} ) 这种形式上。我不打算在这里展开具体项目,只想说明一点:求导这一节的习题,练的不是考试技巧,是把一个几何量翻译成变化率的能力。这个能力在任何需要"角度随参数怎么变"的地方都能直接调用。
还有个小细节值得记:atan2在 ( x < 0 ) 的分支上相当于 ( \arctan\frac{y}{x} + \pi )(或 ( -\pi )),常数项求导后消失,所以偏导公式在整个定义域(去掉原点)上形式不变。这也解释了为什么工程实现里可以在各个分支上统一用同一套偏导表达式,不必分象限写四份。至于原点,那里角度本身没有定义,导数自然也不存在,代码里必须单独处理,这是数值实现时的一个常见边界。
最后分享一个我自己的习惯。每次带人过完 arctan 这一节,我都会留一道"看起来不像这节内容"的题:已知 ( y = \arctan x ),求 ( y''(1 + x^2) + 2xy' ) 的值。算出来是 0,而这恰好就是前面递推式里那个二阶方程。用这种方式收尾,比再刷十道同型题管用——它逼着人回头看那行递推式是怎么来的,也顺便把"求导结果能反过来当方程用"这个念头种下去。我自己的体会是,微积分里那些看着零碎的公式,真正的价值往往不在它本身,而在它和邻居们连起来的那几根线;arctan 求导这根线,往前能接反函数,往后能接积分和级数,往旁边还能接上角度计算的工程实现,算是性价比相当高的一块内容。