泰勒公式,也称泰勒展开式,可以用来在局部范围内近似复杂函数。
通俗的讲:
设有一个复杂的未知函数f(x)f(x)f(x),我们想要知道它在某个范围[a,b][a,b][a,b]内的值,假设范围内有一个点x0x_0x0,已知f(x0)f(x_0)f(x0)。
我们无法通过f(x)f(x)f(x)直接求f(x0+δx)f(x_0+\delta x)f(x0+δx)的值,但如果已知其在某一点x0x_0x0的各阶导数值,泰勒公式可以利用这些导数值,以多项式形式在x0x_0x0附近来近似f(x)f(x)f(x),求得x0x_0x0附近的值f(x0+δx)f(x_0+\delta x)f(x0+δx)。
如果函数 f(x)f(x)f(x) 在含 x0x_0x0 的某个开区间 (a,b)(a,b)(a,b) 内具有(n+1)(n+1)(n+1) 阶导数,则对 ∀x∈(a,b)\forall x \in (a,b)∀x∈(a,b) ,有:
f(x)=f(x0)0!+f′(x0)1!(x−x0)+…+f(n)(x0)n!(x−x0)n+Rn(x)(1)f(x)=\frac{f(x_{0})}{0 !}+\frac{f^{\prime}(x_{0})}{1 !}(x-x_{0})+\ldots+\frac{f^{(n)}(x_{0})}{n !}(x-x_{0})^{n}+R_{n}(x) \tag{1} f(x)=0!f(x0)+1!f′(x0)(x−x0)+…+n!f(n)(x0)(x−x0)n+Rn(x)(1)
其中,
Rn(x)=f(n+1)(ξ)(n+1)!(x−x0)n+1R_{n} (x) = \frac{f^{(n+1)}(\xi )}{(n+1)!}(x-x_{0})^{n+1}Rn(x)=(n+1)!f(n+1)(ξ)(x−x0)n+1,被称之为余项,代表近似函数和f(x)f(x)f(x)之间的误差, ξ\xiξ 为 x0\small x_{0}x0 与 xxx 之间的值。余项有几种表达方式,此为其中一种。
假设有一个复杂的函数f(x)f(x)f(x)
我们用PnP_nPn来表示nnn阶的泰勒展开近似。

图中,P1,P2,P4,P6,P8 分别代表 n=1,2,4,6,8n=1,2,4,6,8n=1,2,4,6,8 时的PiP_iPi 函数的曲线。
可以很清楚的看到,当nnn 越大,PiP_iPi和f(x)f(x)f(x)越近似
设多项式Pn(x)P_n(x)Pn(x):
Pn(x)=a0+a1(x−x0)+a2(x−x0)2+...+an(x−x0)n(2)P_n(x) = a_0 + a_1(x-x_0) + a_2(x-x_0)^2 + ... + a_n(x-x_0)^n \tag{2} Pn(x)=a0+a1(x−x0)+a2(x−x0)2+...+an(x−x0)n(2)
在x0x_0x0附近近似f(x)f(x)f(x)。
多项式 Pn(x)P_n(x)Pn(x) 如果要和 f(x)f(x)f(x) 在 x0x_0x0 附近无限近似,则 Pn(x)P_n(x)Pn(x) 和 f(x)f(x)f(x) 曲线应该满足:
即:
Pn(x0)=f(x0)Pn(1)(x0)=f(1)(x0)=a1Pn(2)(x0)=f(2)(x0)=2!a2Pn(3)(x0)=f(3)(x0)=3!a3...Pn(n)(x0)=f(n)(x0)=n!an(3)\begin{aligned} & P_n(x_0) = f(x_0) \\ & P_n^{(1)}(x_0) = f^{(1)}(x_0) = a_1 \\ & P_n^{(2)}(x_0) = f^{(2)}(x_0) = 2!a_2\\ & P_n^{(3)}(x_0) = f^{(3)}(x_0) = 3!a_3 \\ & ... \\ & P_n^{(n)}(x_0) = f^{(n)}(x_0) = n!a_n \tag{3} \end{aligned} Pn(x0)=f(x0)Pn(1)(x0)=f(1)(x0)=a1Pn(2)(x0)=f(2)(x0)=2!a2Pn(3)(x0)=f(3)(x0)=3!a3...Pn(n)(x0)=f(n)(x0)=n!an(3)
将(2)中的 a0,a1,a2,...ana_0,a_1,a_2,...a_na0,a1,a2,...an 用(3)中的f(x0)f(x_0)f(x0)各阶导数替换,再用Rn(x)R_n(x)Rn(x)来表示两者间的误差,最终就得到了等式(1)。
泰勒公式是怎么推导的?这篇文章告诉你!