Jun 3, 2023 860 words 4 min
数学:泰勒展开 泰勒展开(Taylor's Formula)是一种用多项式近似函数的方法,在数学分析和计算中都有重要应用。它可以把复杂函数转化为易于计算的多项式,是计算机求值 sin x \sin x sin x 、e x e^x e x 等函数的基础。
泰勒公式的核心思想:用一个多项式在某点附近逼近原函数的局部行为。
许多函数 f ( x ) f(x) f ( x ) 难以直接求值,而多项式计算效率高,形式简洁。
我们通过构造多项式 g ( x ) g(x) g ( x ) ,使其在某点附近尽可能接近 f ( x ) f(x) f ( x ) ,从而实现函数的近似计算。
大多数常见函数的泰勒展开是无穷项级数,其和在收敛区域内趋近于原函数。
实际应用中只需取前几项,就能获得足够精度,这正是计算机处理 sin x \sin x sin x 、e x e^x e x 等函数的基本方式。
麦克劳林公式是泰勒公式在 x 0 = 0 x_0=0 x 0 = 0 处的特殊情况。
在多数应用中,麦克劳林公式已经足够使用,因为很多函数在 x = 0 x=0 x = 0 附近展开最为简洁、对称性好,计算方便。
我们通过一个示例来直观理解。
假设要用多项式函数 g ( x ) g(x) g ( x ) 近似指数函数 f ( x ) = e x f(x)=e^x f ( x ) = e x 。设 g ( x ) g(x) g ( x ) 为:
g ( x ) = ∑ n = 0 ∞ a n x n = a 0 + a 1 x + a 2 x 2 + a 3 x 3 + a 4 x 4 + … g(x)=\sum_{n=0}^\infty a_nx^n=a_0+a_1x+a_2x^2+a_3x^3+a_4x^4+\dots g ( x ) = n = 0 ∑ ∞ a n x n = a 0 + a 1 x + a 2 x 2 + a 3 x 3 + a 4 x 4 + …
我们的目标是确定每一项的系数 a n a_n a n ,使得 g ( x ) g(x) g ( x ) 与 f ( x ) f(x) f ( x ) 完全一致。
要做到这一点,必须满足两者的 任何阶导数都要相同 ,即:
f ( n ) ( x ) = g ( n ) ( x ) ( n ∈ N ) f^{(n)}(x)=g^{(n)}(x)(n\in\mathbb{N}) f ( n ) ( x ) = g ( n ) ( x ) ( n ∈ N )
f ( x ) f(x) f ( x ) 和 g ( x ) g(x) g ( x ) 的 零阶导数 (即原函数)相同:
f ( x ) = e x = g ( x ) = a 0 + a 1 x + a 2 x 2 + a 3 x 3 + a 4 x 4 + … f(x)=e^x=g(x)=a_0+a_1x+a_2x^2+a_3x^3+a_4x^4+\dots f ( x ) = e x = g ( x ) = a 0 + a 1 x + a 2 x 2 + a 3 x 3 + a 4 x 4 + …
代入 x = 0 x=0 x = 0 得:
f ( 0 ) = e 0 = g ( 0 ) = a 0 = 1 f(0)=e^0=g(0)=a_0=1 f ( 0 ) = e 0 = g ( 0 ) = a 0 = 1
因此:
a 0 = 1 a_0=1 a 0 = 1
f ( x ) f(x) f ( x ) 和 g ( x ) g(x) g ( x ) 的 一阶导数 相同:
f ′ ( x ) = e x = g ′ ( x ) = 0 + a 1 + 2 a 2 x + 3 a 3 x 2 + 4 a 4 x 3 + … f'(x)=e^x=g'(x)=0+a_1+2a_2x+3a_3x^2+4a_4x^3+\dots f ′ ( x ) = e x = g ′ ( x ) = 0 + a 1 + 2 a 2 x + 3 a 3 x 2 + 4 a 4 x 3 + …
代入 x = 0 x=0 x = 0 得:
f ′ ( 0 ) = e 0 = g ′ ( 0 ) = a 1 = 1 f'(0)=e^0=g'(0)=a_1=1 f ′ ( 0 ) = e 0 = g ′ ( 0 ) = a 1 = 1
因此:
a 1 = 1 a_1=1 a 1 = 1
f ( x ) f(x) f ( x ) 和 g ( x ) g(x) g ( x ) 的 二阶导数 相同:
f ( 2 ) ( x ) = e x = g ( 2 ) ( x ) = 0 + 0 + 2 a 2 + 6 a 3 x + 12 a 4 x 2 + … f^{(2)}(x)=e^x=g^{(2)}(x)=0+0+2a_2+6a_3x+12a_4x^2+\dots f ( 2 ) ( x ) = e x = g ( 2 ) ( x ) = 0 + 0 + 2 a 2 + 6 a 3 x + 12 a 4 x 2 + …
代入 x = 0 x=0 x = 0 得:
f ( 2 ) ( 0 ) = e 0 = g ( 2 ) ( 0 ) = 2 a 2 = 1 f^{(2)}(0)=e^0=g^{(2)}(0)=2a_2=1 f ( 2 ) ( 0 ) = e 0 = g ( 2 ) ( 0 ) = 2 a 2 = 1
因此:
a 2 = 1 2 a_2=\frac{1}{2} a 2 = 2 1
f ( x ) f(x) f ( x ) 和 g ( x ) g(x) g ( x ) 的 三阶导数 相同:
f ( 3 ) ( x ) = e x = g ( 3 ) ( x ) = 0 + 0 + 0 + 6 a 3 + 24 a 4 x + … f^{(3)}(x)=e^x=g^{(3)}(x)=0+0+0+6a_3+24a_4x+\dots f ( 3 ) ( x ) = e x = g ( 3 ) ( x ) = 0 + 0 + 0 + 6 a 3 + 24 a 4 x + …
代入 x = 0 x=0 x = 0 得:
f ( 3 ) ( 0 ) = e 0 = g ( 3 ) ( 0 ) = 6 a 3 = 1 f^{(3)}(0)=e^0=g^{(3)}(0)=6a_3=1 f ( 3 ) ( 0 ) = e 0 = g ( 3 ) ( 0 ) = 6 a 3 = 1
因此:
a 3 = 1 6 a_3=\frac{1}{6} a 3 = 6 1
依此类推,不难发现:
f ( x ) f(x) f ( x ) 和 g ( x ) g(x) g ( x ) 的 n n n 阶导数相同:
f ( n ) ( x ) = e x = g ( n ) ( x ) = n ! a n + x ( … ) f^{(n)}(x)=e^x=g^{(n)}(x)=n! a_n+x(\dots) f ( n ) ( x ) = e x = g ( n ) ( x ) = n ! a n + x ( … )
代入 x = 0 x=0 x = 0 得:
f ( n ) ( 0 ) = e 0 = g ( n ) ( 0 ) = n ! a n = 1 f^{(n)}(0)=e^0=g^{(n)}(0)=n! a_n=1 f ( n ) ( 0 ) = e 0 = g ( n ) ( 0 ) = n ! a n = 1
因此:
a n = 1 n ! a_n=\frac{1}{n!} a n = n ! 1
将 a n a_n a n 代入得:
g ( x ) = ∑ n = 0 ∞ a n x n = ∑ n = 0 ∞ x n n ! g(x)=\sum_{n=0}^\infty a_nx^n=\sum_{n=0}^\infty\frac{x^n}{n!} g ( x ) = n = 0 ∑ ∞ a n x n = n = 0 ∑ ∞ n ! x n
因此,f ( x ) = e x f(x)=e^x f ( x ) = e x 的麦克劳林公式为:
f ( x ) = e x = g ( x ) = ∑ n = 0 ∞ x n n ! = 1 + x + x 2 2 ! + x 3 3 ! + x 4 4 ! + … f(x)=e^x=g(x)=\sum_{n=0}^\infty\frac{x^n}{n!}=1+x+\frac{x^2}{2!}+\frac{x^3}{3!}+\frac{x^4}{4!}+\dots f ( x ) = e x = g ( x ) = n = 0 ∑ ∞ n ! x n = 1 + x + 2 ! x 2 + 3 ! x 3 + 4 ! x 4 + …
更一般的麦克劳林公式为:
f ( x ) = ∑ n = 0 ∞ f ( n ) ( 0 ) n ! x n = f ( 0 ) + f ′ ( 0 ) x + f ( 2 ) ( 0 ) 2 ! x 2 + f ( 3 ) ( 0 ) 3 ! x 3 + f ( 4 ) ( 0 ) 4 ! x 4 + … f(x)=\sum_{n=0}^\infty\frac{f^{(n)}(0)}{n!}x^n=f(0)+f'(0)x+\frac{f^{(2)}(0)}{2!}x^2+\frac{f^{(3)}(0)}{3!}x^3+\frac{f^{(4)}(0)}{4!}x^4+\dots f ( x ) = n = 0 ∑ ∞ n ! f ( n ) ( 0 ) x n = f ( 0 ) + f ′ ( 0 ) x + 2 ! f ( 2 ) ( 0 ) x 2 + 3 ! f ( 3 ) ( 0 ) x 3 + 4 ! f ( 4 ) ( 0 ) x 4 + …
求 sin x \sin x sin x 的麦克劳林展开。
设 f ( x ) = sin x f(x)=\sin x f ( x ) = sin x 。
它的导数每四阶循环一次:
( sin x ) ′ = cos x ⟹ ( cos x ) ′ = − sin x ⟹ ( − sin x ) ′ = − cos x ⟹ ( − cos x ) ′ = sin x (\sin x)'=\cos x\implies(\cos x)'=-\sin x\implies(-\sin x)'=-\cos x\implies(-\cos x)'=\sin x ( sin x ) ′ = cos x ⟹ ( cos x ) ′ = − sin x ⟹ ( − sin x ) ′ = − cos x ⟹ ( − cos x ) ′ = sin x
代入麦克劳林公式:
f ( x ) = ∑ n = 0 ∞ f ( n ) ( 0 ) n ! x n = x − x 3 3 ! + x 5 5 ! − x 7 7 ! + x 9 9 ! − … f(x)=\sum_{n=0}^\infty\frac{f^{(n)}(0)}{n!}x^n=x-\frac{x^3}{3!}+\frac{x^5}{5!}-\frac{x^7}{7!}+\frac{x^9}{9!}-\dots f ( x ) = n = 0 ∑ ∞ n ! f ( n ) ( 0 ) x n = x − 3 ! x 3 + 5 ! x 5 − 7 ! x 7 + 9 ! x 9 − …
因此,sin x \sin x sin x 的麦克劳林公式为:
sin x = ∑ n = 0 ∞ ( − 1 ) n x 2 n + 1 ( 2 n + 1 ) ! \sin x=\sum_{n=0}^\infty(-1)^n\frac{x^{2n+1}}{(2n+1)!} sin x = n = 0 ∑ ∞ ( − 1 ) n ( 2 n + 1 )! x 2 n + 1
如希望展示误差项,也可写成:
sin x = x − x 3 3 ! + x 5 5 ! + o ( x 6 ) \sin x=x-\frac{x^3}{3!}+\frac{x^5}{5!}+o(x^6) sin x = x − 3 ! x 3 + 5 ! x 5 + o ( x 6 )
并非所有函数在任意点都可以展开为泰勒级数并等于原函数。
例如 f ( x ) = e − 1 / x 2 f(x)=e^{-1/x^2} f ( x ) = e − 1/ x 2 在 x = 0 x=0 x = 0 处所有导数都为 0 0 0 ,但函数本身不为 0 0 0 。
因此,泰勒展开的前提是函数足够光滑,且在该点 可解析 。
e x = ∑ n = 0 ∞ x n n ! e^x=\sum_{n=0}^\infty\frac{x^n}{n!} e x = n = 0 ∑ ∞ n ! x n
sin x = ∑ n = 0 ∞ ( − 1 ) n x 2 n + 1 ( 2 n + 1 ) ! \sin x=\sum_{n=0}^\infty(-1)^n\frac{x^{2n+1}}{(2n+1)!} sin x = n = 0 ∑ ∞ ( − 1 ) n ( 2 n + 1 )! x 2 n + 1
cos x = ∑ n = 0 ∞ ( − 1 ) n x 2 n ( 2 n ) ! \cos x=\sum_{n=0}^\infty(-1)^n\frac{x^{2n}}{(2n)!} cos x = n = 0 ∑ ∞ ( − 1 ) n ( 2 n )! x 2 n