浅谈高中数学中常用的逼近方法
浅谈高中数学中常用的逼近方法

2022 年 07 月 16 日

本篇文章中,我们将从常用的切线放缩和泰勒展开出发,探讨一些在高中数学中常用的逼近与放缩方法,并简单介绍他们的应用。

2022 年新高考 I 卷中出现的比较 a=0.1e0.1a=0.1e^{0.1}b=19b=\dfrac 19c=ln0.9c=-\ln 0.9 三个数大小的选择题即为这种方法的典型例题。

1. 切线放缩

高中阶段有一类常用的不等式:

exx+1ln(x+1)xlnxx1exex\begin{aligned} e^x\ge x+1 &\Leftrightarrow \ln(x+1) \le x \\ \ln x\le x-1 &\Leftrightarrow e^x\ge ex \end{aligned}

这些不等式都是由原式在某点的切线方程得到的,切线方程和原函数的在该点的值和一阶导都相同。通过泰勒展开,我们可以把这种思想从一阶推广到 nn 阶甚至任意阶。

2. 泰勒展开

对于多项式 f(x)f(x),我们定义 Tn(x)=i=0nf(i)(x0)(xx0)ii!T_n(x)=\sum\limits_{i=0}^n\dfrac{f^{(i)}(x_0)(x-x_0)^i}{i!} 为其 nn 阶泰勒级数(Taylor Series)。Tn(x)T_n(x) 与原函数在 x0x_0 处有相同的 nn 阶导数,即对于任意 k[0,n]k\in [0,n]f(k)(x0)=Tn(k)(x0)f^{(k)}(x_0) = T_n^{(k)}(x_0)。特别地,当 x0=0x_0=0 时,该级数又称作原函数的麦克劳林级数(Maclaurin Series)。

2.1.1. 应用:得到常用不等式

对一些函数进行泰勒展开,我们可以得到一些常用的不等式,如:

ex=1+x+x22!+x33!+x44!+e^x=1+x+\dfrac{x^2}{2!}+\dfrac{x^3}{3!}+\dfrac{x^4}{4!}+\cdots 我们可以得到 exx+1,exx22+x+1e^x\ge x+1,\quad e^x\ge \dfrac{x^2}{2} +x+1 等不等式。

类似的,由 ln(x+1)=xx22+x33\ln (x+1)=x-\dfrac{x^2}{2}+\dfrac{x^3}{3}-\cdots 可以得到 ln(x+1)xx22(x0)\ln(x+1)\ge x-\dfrac{x^2}2(x\ge 0)ln(x+1)xx22(x0)\ln(x+1)\le x-\dfrac{x^2}2(x\le 0) 等,注意在 00 的两侧不等号的方向是相反的。

简单三角函数也可通过泰勒展开得到一些常用的不等式,由 sinx=xx36+x5120+\sin x = x-\dfrac{x^3}{6}+\dfrac{x^5}{120}+\cdots 可以得到 sinxx(x0)\sin x \leq x(x\ge 0)sinxx(x0)\sin x\geq x(x\le0)sinxxx36(x0)\sin x \ge x - \dfrac {x^3}{6}(x\ge 0)sinxxx36(x0)\sin x\ge x-\dfrac{x^3}{6}(x\le 0) 等。类似的,由 cosx=1x22+x424\cos x = 1-\dfrac{x^2}{2}+\dfrac{x^4}{24}-\cdots 可以得到 cosx1x22\cos x \ge 1 - \dfrac{x^2}2 等。

这种方法并不总能成功,我们需要另外验证不等式成立的范围。

3. 帕德逼近

帕德逼近与泰勒展开的想法类似,对于函数 f(x)f(x),我们构造一个分式 Rn,m(x)=pn(x)qm(x)R_{n,m}(x)=\dfrac{p_n(x)}{q_m(x)},其中 pn(x),  qm(x)p_n(x),\;q_m(x) 分别为 nnmm 次多项式。我们需要找到这样的分式,满足在 x0x_0 处与原函数有相同的 n+mn+m 阶导数,即对于任意 k[0,n+m]k\in [0,n+m]f(k)(x0)=Rn,m(n+m)(x0)f^{(k)}(x_0) = R_{n,m}^{(n+m)}(x_0)。这样的 Rn,m(x)R_{n,m}(x) 就是原函数在 x0x_0 处的 [n,m][n,m] 阶帕德逼近。

常见函数的帕德逼近参见下表,可由代码 pade.py 验证。

exe^x m=0m=0 m=1m=1 m=2m=2
n=0n=0 11 x+11\dfrac{x+1}{1}(恒小于) x2+2x+22\dfrac{x^2+2x+2}{2}
n=1n=1 1x+1\dfrac{1}{-x+1}(恒大于) x+2x+2\dfrac{x+2}{-x+2} x2+4x+62x+6\dfrac{x^2+4x+6}{-2x+6}(恒大于)
n=2n=2 2x22x+2\dfrac{2}{x^2-2x+2} 2x+6x24x+6\dfrac{2x+6}{x^2-4x+6}(恒小于) x2+6x+12x26x+12\dfrac{x^2+6x+12}{x^2-6x+12}
ln(x+1)\ln(x+1) m=1m=1 m=2m=2
n=0n=0 xx(恒小于) 2xx22\dfrac{2x-x^2}{2}
n=1n=1 2xx+2\dfrac{2x}{x+2} x2+6x4x+6\dfrac{x^2+6x}{4x+6}(恒大于)
n=2n=2 2xx+2\dfrac{2x}{x+2}(恒大于) 3x2+6xx2+6x+6\dfrac{3x^2+6x}{x^2+6x+6}

3.1.1. 应用:一类“比大小”问题

例:2022 年新高考全国 I 卷 7.

a=0.1e0.1a=0.1e^{0.1}b=19b=\dfrac 19c=ln0.9c=-\ln 0.9,则(\quad

A. a<b<ca<b<c\quad B. c<b<ac<b<a\quad C. c<a<bc<a<b\quad D.a<c<ba<c<b\quad

一般的做法肯定是构造函数,但这里我们试图用 [2,2][2,2] 阶帕德逼近的结果代入一下:

{10a=0.01+0.6+120.010.6+12=12.6111.4110b=10910c=0.60.030.010.6+6=5.75.41\left\{\begin{aligned} 10\cdot a &= \frac{0.01+0.6+12}{0.01-0.6+12} = \frac{12.61}{11.41} \\ 10\cdot b &= \frac{10}{9} \\ 10\cdot c &= \frac{0.6-0.03}{0.01-0.6+6} = \frac{5.7}{5.41} \\ \end{aligned}\right.

先比较简单的两个,发现 a<ba<bc<bc<b,还需要一个三位数乘四位数的乘法就可以得到答案,相比直接构造还是能省下不少时间。

下图由 Geogebra 绘制,可以发现我们的精度在 x=0.1x=0.1 处可谓绰绰有余。

3.1.2. 应用:手算 ln(x)\ln(x) 的值

xx 拆分成 x=2c1+1c1c2+1c2c3+1c3x=2\cdot \dfrac{c_1+1}{c_1}\cdot \dfrac{c_2+1}{c_2}\cdot \dfrac{c_3+1}{c_3} \cdots 的形式,然后代入 ln2=0.693\ln 2=0.693ln(n+1n)22n+1(n3)\ln\left(\dfrac{n+1}{n}\right)\sim\dfrac{2}{2n+1}\quad (n\ge 3) 得近似值。

例:求 ln(11)

ln11=ln1110+ln5+ln2=ln1110+ln54+3ln2221+29+3×0.6932.3964)\begin{aligned} \ln 11 &= \ln \dfrac {11}{10} + \ln 5 + \ln 2 \\ &= \ln \dfrac {11}{10} + \ln {5}{4} + 3\ln 2 \\ &\approx \frac {2}{21} +\frac {2}{9}+3\times 0.693 \approx 2.3964) \end{aligned}

计算结果与真实值 ln(11)=2.397895\ln (11) = 2.397895\ldots 较为接近。

注意到 ln(n+1n)22n+1\ln\left(\dfrac{n+1}{n}\right)\sim\dfrac{2}{2n+1} 这一近似实际上就是 ln(x+1)\ln(x+1)[1,1][1,1] 阶帕德逼近。

这种方法一般情况下可精确到 2233 位,x1000x\le 1000 时最大误差约为 0.00710.0071(参考代码:ln-x.py)。比直接使用帕德逼近精度更高,且计算量较小,适合笔头计算。

参考资料

评论

TABLE OF CONTENTS

1. 切线放缩
2. 泰勒展开
3. 帕德逼近