泰勒公式
1个回答
展开全部
举个例子,cosx = 邻边/斜边,所以cos35°,我们很难求出它的值,最多只能判断出它介于1到(√2)/2之间。
如果我们要较为准确地求出cos35°的话,就可以使用泰勒公式(cos35° = c1 + c2x + c3x^2 + ...),即用多项式来逼近原函数。
可能你会说,cos35°有什么难求的,计算器一键搞定(其实计算器在计算cos35°的时候,也是用了泰勒公式)。
我们归纳一下,总而言之就是:如下图2-1。
为什么f(x) = f(x0) + f'(x0)*(x-x0) + f''(x0)/2!*(x-x0)^2 + ... +f(n)(x0)/n!*(x-x0)^n + Rn(x)能近似地表达原函数?泰勒公式的本质到底是什么?
为了回答这个问题,我们需要借助几何工具来直观地理解泰勒公式。
先以展开点 = 0为例(x0 = 0),即麦克劳林公式,也以文章开头提到的cosx为例,即cos0处的泰勒展开。
因为泰勒的原理是用 多项式来逼近原函数 ,所以设:cosx = c1 + c2x + c3x^2 +...(c1、c2、c3...皆为常数)。
现在我们用c1 + c2x + c3x^2 +...这个式子来 层层逼近 cosx在0处的情况。
(1)∵当x=0时cosx的 零阶导数 (即cox自己) = 1 ∴c1 + c2x + c3x^2 +... 的 零阶导数 = 1,推出c1 = 1。
(2)∵当x=0时cosx的 一阶导数 = -sinx = 0 ∴c1 + c2x + c3x^2 +...的 一阶导数 = c2 + 2*c3x +... = 0,推出c2 = 0。
(3)∵当x=0时cosx的 二阶导数 = -cosx = -1 ∴c1 + c2x + c3x^2 +...的 二阶导数 = 2*c3 + 3*c4x +... = 0,推出c3 = 1/2。
(4)以此类推,∵当x=0时cosx的 n阶导数 = a ∴c1 + c2x + c3x^2 +... 的 n阶导数 = a,推出n!*c(n+1) + ...= a,则c(n+1) = a/n!
这种做法的原理是什么呢?就是根据不断地对cosx求导,来获取更多关于cosx的信息,通过这些信息从而模拟出cosx的函数,从而近似计算cosx在某点的值。
如图3-1所示:
第(1)步推出c1 = cosx,使得c1 + c2x + c3x^2 +...和cosx在x = 0这个点上的值是一样的。
第(2)步推出c2 = -sinx,使得c1 + c2x + c3x^2 +...和cosx在x = 0这个点上的斜率是一样的,即你递增的时候,我也递增。(为了方便观看,我把蓝线画很直,看着好像不可导,不要在意这个。)
第(3)步推出c3 = -cosx,使得c1 + c2x + c3x^2 +...和cosx在x = 0这个点上的凹凸性是一样的,即你凸起来的地方,我也凸起来。(甚至曲率也是一样的,即曲线的不平坦程度,曲率公式为K = |y''|/(1+y'^2)^(3/2)。)
以此类推,证明了这种做法的原理,就是 通过不断地求导,获取更多的信息,从而逼近原函数 。
现在我不再以展开点 = 0为例,即x0 ≠ 0,这时就不再是麦克劳林公式了,而是真正的泰勒公式。
继续用cosx来当小白鼠,设展开点 = a,即x0 = a,则我们现在就要层层逼近当x = a时cosx的情况。
还记得初中的时候,我们初学函数几何,老师教了我们一些东西(旋转和平移),f(x)的几何图形如果 想要往左平移a个单位,则x要减去a ,即f(x)要变成f(a-x)。
如图3-2所示,这就是cosx向左平移了a个单位的结果。
和之前的展开点为0的例子一样,只不过这次的展开点为a,但是我们照样也搬用展开点为0的做法,只要我们把cosx向左平移a个单位就好了,即cosx变成了cos(x-a)。
剩下的步骤,我就不一一写出了。
故,麦克劳林公式是长成这样的:f(x) = f(0) + f'(0)x + f''(0)/2!*x^2 + ... + f(n)(0)/n!*x^n + Rn(x)
而,泰勒公式却是长成这样的:f(x) = f(x0) + f'(x0)*(x-x0) + f''(x0)/2!*(x-x0)^2 + ... +f(n)(x0)/n!*(x-x0)^n + Rn(x)
如果我们要较为准确地求出cos35°的话,就可以使用泰勒公式(cos35° = c1 + c2x + c3x^2 + ...),即用多项式来逼近原函数。
可能你会说,cos35°有什么难求的,计算器一键搞定(其实计算器在计算cos35°的时候,也是用了泰勒公式)。
我们归纳一下,总而言之就是:如下图2-1。
为什么f(x) = f(x0) + f'(x0)*(x-x0) + f''(x0)/2!*(x-x0)^2 + ... +f(n)(x0)/n!*(x-x0)^n + Rn(x)能近似地表达原函数?泰勒公式的本质到底是什么?
为了回答这个问题,我们需要借助几何工具来直观地理解泰勒公式。
先以展开点 = 0为例(x0 = 0),即麦克劳林公式,也以文章开头提到的cosx为例,即cos0处的泰勒展开。
因为泰勒的原理是用 多项式来逼近原函数 ,所以设:cosx = c1 + c2x + c3x^2 +...(c1、c2、c3...皆为常数)。
现在我们用c1 + c2x + c3x^2 +...这个式子来 层层逼近 cosx在0处的情况。
(1)∵当x=0时cosx的 零阶导数 (即cox自己) = 1 ∴c1 + c2x + c3x^2 +... 的 零阶导数 = 1,推出c1 = 1。
(2)∵当x=0时cosx的 一阶导数 = -sinx = 0 ∴c1 + c2x + c3x^2 +...的 一阶导数 = c2 + 2*c3x +... = 0,推出c2 = 0。
(3)∵当x=0时cosx的 二阶导数 = -cosx = -1 ∴c1 + c2x + c3x^2 +...的 二阶导数 = 2*c3 + 3*c4x +... = 0,推出c3 = 1/2。
(4)以此类推,∵当x=0时cosx的 n阶导数 = a ∴c1 + c2x + c3x^2 +... 的 n阶导数 = a,推出n!*c(n+1) + ...= a,则c(n+1) = a/n!
这种做法的原理是什么呢?就是根据不断地对cosx求导,来获取更多关于cosx的信息,通过这些信息从而模拟出cosx的函数,从而近似计算cosx在某点的值。
如图3-1所示:
第(1)步推出c1 = cosx,使得c1 + c2x + c3x^2 +...和cosx在x = 0这个点上的值是一样的。
第(2)步推出c2 = -sinx,使得c1 + c2x + c3x^2 +...和cosx在x = 0这个点上的斜率是一样的,即你递增的时候,我也递增。(为了方便观看,我把蓝线画很直,看着好像不可导,不要在意这个。)
第(3)步推出c3 = -cosx,使得c1 + c2x + c3x^2 +...和cosx在x = 0这个点上的凹凸性是一样的,即你凸起来的地方,我也凸起来。(甚至曲率也是一样的,即曲线的不平坦程度,曲率公式为K = |y''|/(1+y'^2)^(3/2)。)
以此类推,证明了这种做法的原理,就是 通过不断地求导,获取更多的信息,从而逼近原函数 。
现在我不再以展开点 = 0为例,即x0 ≠ 0,这时就不再是麦克劳林公式了,而是真正的泰勒公式。
继续用cosx来当小白鼠,设展开点 = a,即x0 = a,则我们现在就要层层逼近当x = a时cosx的情况。
还记得初中的时候,我们初学函数几何,老师教了我们一些东西(旋转和平移),f(x)的几何图形如果 想要往左平移a个单位,则x要减去a ,即f(x)要变成f(a-x)。
如图3-2所示,这就是cosx向左平移了a个单位的结果。
和之前的展开点为0的例子一样,只不过这次的展开点为a,但是我们照样也搬用展开点为0的做法,只要我们把cosx向左平移a个单位就好了,即cosx变成了cos(x-a)。
剩下的步骤,我就不一一写出了。
故,麦克劳林公式是长成这样的:f(x) = f(0) + f'(0)x + f''(0)/2!*x^2 + ... + f(n)(0)/n!*x^n + Rn(x)
而,泰勒公式却是长成这样的:f(x) = f(x0) + f'(x0)*(x-x0) + f''(x0)/2!*(x-x0)^2 + ... +f(n)(x0)/n!*(x-x0)^n + Rn(x)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询