数学 / 三角函数 · 从角到波 / 辅助角公式与三角式的最值 待审核 12 / 13
化一 · 区间最值

辅助角公式与三角式的最值

含正弦与余弦两项的式子,最值不能逐项取。sinx\sin xcosx\cos x 各自的最大值都是 11,但两者不在同一处取到,sinx+cosx\sin x + \cos x 的最大值是 2\sqrt{2} 而不是 22。要把这类式子的最值读出来,先把两项合并成一项。

1 · 两个系数合成一个振幅

给定不同时为零的 aabb,记 R=a2+b2R = \sqrt{a^2 + b^2}。把 asinx+bcosxa\sin x + b\cos x 提出 RR

asinx+bcosx=R(aRsinx+bRcosx)a\sin x + b\cos x = R\left(\frac{a}{R}\sin x + \frac{b}{R}\cos x\right)

括号里两个系数满足 (a/R)2+(b/R)2=1(a/R)^2 + (b/R)^2 = 1,正是单位圆上一点的坐标,所以存在角 φ\varphi 使 cosφ=a/R\cos\varphi = a/Rsinφ=b/R\sin\varphi = b/R。代回括号,括号内恰是 sinxcosφ+cosxsinφ\sin x \cos\varphi + \cos x \sin\varphi,按和角公式合成一项:

定理 1.1(辅助角公式) 设 aabb 不同时为零,R=a2+b2R = \sqrt{a^2 + b^2},取 φ\varphi 满足 cosφ=a/R\cos\varphi = a/Rsinφ=b/R\sin\varphi = b/R,则对一切 xxasinx+bcosx=Rsin(x+φ)a\sin x + b\cos x = R\sin(x + \varphi)

这一步在课本里叫「化一」,意思是把两个三角项化成一个。合成后的式子与 一般正弦型函数的图象变换 讨论的 y=Asin(ωx+φ)y = A\sin(\omega x + \varphi) 同形,那一页关于振幅、周期与相位的结论可以直接搬过来。

图 1-1 · 原式与化一后的曲线重合,着色带是选定的闭区间。可调两个系数与区间的左端与宽度,读数给出 RRφ\varphi 与区间上实际取到的最值。

2 · 值域与区间最值的分离

化一之后值域一眼可读:xx 取遍实数时 sin(x+φ)\sin(x + \varphi) 取遍 [1, 1][-1,\ 1],故 asinx+bcosxa\sin x + b\cos x 的值域是 [R, R][-R,\ R]

区间上的最值是另一回事。xx 限定在 [m, n][m,\ n] 内时,x+φx + \varphi 走过的只是长度为 nmn - m 的一段,峰点 x=90°φx = 90° - \varphi 与谷点 x=270°φx = 270° - \varphi 未必落在里面。落不进去时最大值由端点取到,比 RR 小。

警示 · 区间最值不能照抄值域的两端。取 a=1a = 1b=3b = \sqrt{3},则 R=2R = 2、峰在 x=30°x = 30° 处。区间取 [45°, 90°][45°,\ 90°] 时峰在区间外,实测最大值是 1.9318516526(即 (1+3)/2(1 + \sqrt{3})/\sqrt{2},在左端点 x=45°x = 45° 处取到),比 RR 少了 0.0681483474;最小值则是 11,在右端点取到。harmonicRange 因此把候选点限定为三类:两个端点、区间内的峰、区间内的谷,并把「峰在不在区间内」作为一个字段报出来,而不是直接返回 ±R\pm R

3 · 辅助角的取法

φ\varphi 常被写成 arctan(b/a)\arctan(b/a),这个写法只在 a>0a > 0 时对。tanφ=b/a\tan\varphi = b/a 无法区分 (a, b)(a,\ b)(a, b)(-a,\ -b),而这两组系数给出的曲线相位相差 180°180°。取 φ\varphi 的正确依据是 cosφ\cos\varphisinφ\sin\varphi 两个值,也就是两参数的 Math.atan2(b, a)

注 · 特殊角的辅助角在浮点下不落在整数度上。Math.atan2(Math.sqrt(3), 1) 折成度是 59.99999999999999,不是 6060;峰的位置 90°φ90° - \varphi 随之带上尾巴,实测是 30.000000000000007。这不影响最值的数值(同一组系数下 RR 恰好等于 22),但影响的是判等:读数里的角一律显示到小数点后若干位,而判断「峰是否落在区间内」用的是带容差的比较。同一组系数化一前后的两条曲线在 [720°, 720°][-720°,\ 720°] 上以 0.25°0.25° 步长对表,最大偏差是 4.884981308350689e-15,合 2222Number.EPSILON,取在 x=668.5°x = 668.5° 处。

4 · 化不成一项的两类式子

式子里出现 sin2x\sin^2 xcos2x\cos^2 xsinxcosx\sin x\cos x 时,先用降幂与二倍角公式把次数降到一次,再化一。例如 sin2x+2sinxcosx\sin^2 x + 2\sin x\cos x 先化成 (1cos2x)/2+sin2x(1 - \cos 2x)/2 + \sin 2x,整理为 sin2x12cos2x+12\sin 2x - \frac{1}{2}\cos 2x + \frac{1}{2},这才轮到辅助角公式,合成后的振幅是 5/2\sqrt{5}/2

另一类要换元。sinx+cosx\sin x + \cos xsinxcosx\sin x\cos x 同时出现时,令 t=sinx+cosxt = \sin x + \cos x,则 t2=1+2sinxcosxt^2 = 1 + 2\sin x\cos x,两个量都由 tt 表出,原式变成 tt 的二次函数。tt 的取值范围由化一给出:t=2sin(x+45°)t = \sqrt{2}\sin(x + 45°),故 t[2, 2]t \in [-\sqrt{2},\ \sqrt{2}]。换元法的成败全在这一步——新变量的范围必须自己算出来,照搬 xx 的范围会得到一个更宽的区间,二次函数在其上的最值也就跟着错。

5 · 参考文献

  1. Harmonic Addition Theorem. Wolfram MathWorld. 辅助角公式的一般形式与 RRφ\varphi 的取法。https://mathworld.wolfram.com/HarmonicAdditionTheorem.html
  2. List of trigonometric identities. Wikipedia. 线性组合一节给出同频正弦项的合成规则。https://en.wikipedia.org/wiki/List_of_trigonometric_identities
  3. atan2. Wikipedia. 两参数反正切,以及它为何能定出四个象限。https://en.wikipedia.org/wiki/Atan2
  4. Phasor. Wikipedia. 同频正弦的相量表示,化一在工程里的对应写法。https://en.wikipedia.org/wiki/Phasor
  5. Extreme value theorem. Wikipedia. 闭区间上连续函数取到最值,区间端点为何必须进候选。https://en.wikipedia.org/wiki/Extreme_value_theorem