在什么情况下,多项式的泰勒序列是必要的?

时间:2012-10-01 17:45:48

标签: math approximation taylor-series

我很难理解为什么将Taylor系列用于函数以获得函数的近似值而不是仅仅在编程时使用函数本身是有用的。如果我可以告诉我的电脑计算e ^(。1)并且它会给我一个确切的值,为什么我会采用近似值呢?

2 个答案:

答案 0 :(得分:4)

泰勒系列通常不用于近似函数。通常,使用某种形式的minimax多项式。

泰勒级数慢慢收敛(需要很多项才能得到所需的精度)并且效率低(它们在它们居中的点附近更准确,远离它的精度更低)。泰勒系列的最大用途可能出现在数学课程和论文中,它们可用于检查函数的属性和学习微积分。

为了近似函数,经常使用极小极大多项式。极小极大多项式对于特定情况具有最小可能的最大误差(函数将被近似的间隔,多项式可用的度数)。通常没有找到极小极大多项式的解析解。使用Remez algorithm以数字方式找到它们。可以定制Minimax多项式以满足特定需要,例如最小化相对误差或绝对误差,近似特定间隔内的函数,等等。 Minimax多项式需要比泰勒级数更少的项来获得可接受的结果,并且它们在区间内“扩散”错误而不是在中心更好并且在末端更差。

当您调用exp函数来计算e x 时,您可能正在使用minimax多项式,因为有人为您完成了工作并构造了一个计算多项式的库例程。在大多数情况下,唯一的算术计算机处理器可以做的是加法,减法,乘法和除法。因此,必须从这些操作构建其他功能。前三个给出多项式,并且多项式足以逼近许多函数,例如正弦,余弦,对数和取幂(使用一些额外的操作将事物移入和移出浮点值的指数字段)。 Division增加了有理函数,这对于arctangent等函数很有用。

答案 1 :(得分:3)

有两个原因。首先 - 大多数处理器没有指数,对数等复杂操作的硬件实现......在这种情况下,编程语言可能提供用于计算那些的库函数 - 换句话说,有人使用泰勒系列或其他近似对你而言。

其次,您可能拥有甚至语言都不支持的功能。

我最近想使用带插值的查找表来获取角度,然后计算该角度的sin()和cos()。麻烦的是它是一个没有浮点且没有三角函数的DSP,所以这两个函数真的很慢(软件实现)。相反,我将sin(x)放在表中而不是x中,然后使用taylor系列为y = sqrt(1-x * x)来计算cos(x)。这个泰勒系列在我需要的范围内是精确的,只有5个术语(分母都是2的幂!)并且可以使用普通C在固定点实现,并生成比我能想到的任何其他方法更快的代码。 p>