一、什么是泰勒展开
1、泰勒展开是一种利用微积分中的泰勒公式来近似计算某个函数在某个点附近的值的方法。
2、泰勒展开可以将一个函数在某个点处的值表示为该点的一个无穷次可导的函数值的求和,可以用于化简复杂的函数运算。
3、泰勒展开的核心 idea 是将一个复杂的函数拆分成许多小的多项式函数,可以方便我们对函数的计算进行处理和优化。
二、泰勒展开的基本公式
1、泰勒公式的一般形式是:
f(x) = f(a) + f'(a)(x-a)/1! + f''(a)(x-a)^2/2! + ··· + fⁿ(a)(x-a)ⁿ/n! + Rn(x)
其中,Rn(x)是余项,也叫做泰勒公式的误差:
当n=0时,Rn(x) = f(a) – f(x);
当n=1时,Rn(x) = f(a) – f(x) – f'(x)(x-a);
当n=2时,Rn(x) = f(a) – f(x) – f'(a)(x-a) – f”(x)(x-a)²/2;
以此类推。
2、泰勒展开在计算机中很常用,通常情况下,我们只需要计算到某个有限次的求导结果即可,而余项可以用我们设定的误差值控制。
三、泰勒展开的应用
1、泰勒展开在计算机科学中的应用十分广泛,尤其在图形学、物理学等领域中经常被使用。举例来说:
sin(x)的泰勒展开形式为: sin(x) = x - x^3/3! + x^5/5! - x^7/7! + ··· cos(x)的泰勒展开形式为: cos(x) = 1 - x^2/2! + x^4/4! - x^6/6! + ···
2、除了用于函数近似计算外,泰勒展开还可以应用于解微分方程、优化算法等方面,帮助我们提高了计算效率。
四、泰勒展开的实际代码示例
以 Python 代码为例:
# 计算 sin(x) 的前 n 项泰勒展开的和 import math def sin_taylor(x, n): res = 0 for i in range(n): tmp = (-1) ** i * x ** (2 * i + 1) / math.factorial(2 * i + 1) res += tmp return res print(sin_taylor(1, 10)) # 输出 sin(1) 的前 10 项泰勒展开的和
代码解释:
1、math.factorial(n) 函数是计算 n 的阶乘;
2、x ** n 表示 x 的 n 次方。
五、小结
1、泰勒公式可以将一个复杂的函数拆分成许多小的多项式函数,以方便计算机计算;
2、泰勒公式的一般形式是 f(x) = f(a) + f'(a)(x-a)/1! + f”(a)(x-a)^2/2! + ··· + fⁿ(a)(x-a)ⁿ/n! + Rn(x);
3、泰勒展开在函数近似计算、解微分方程、优化算法等方面有广泛应用。