最近在工作中碰到求近似值问题,于是又把高等数学中的泰勒公式重新温习了一遍,书本上这样介绍:
设函数f(x)在含有x0的开区间内具有直到(n+1)阶导数,试找出一个关于(x-x0)的n次多项式:
pn(x) = a0 + a1( x - x0 ) + a2( x - x0 )^2 + ... + an( x - x0 )^n (1)
来近似表达f(x),要求pn(x)与f(x)之差是比( x - x0 )^n高阶的无穷小,并给出误差|f(x)-pn(x)|的具体表达式。
下面我们来讨论这个问题.首先我们假设pn(x)在x0处的函数数值及它的直到n阶导数在x0处的值依次与f(x0),f’(x0),...,fn(x0)相等,即满足等式:
pn(x0) =f(x0), pn’(x0) =f’(x0), pn’’(x0) =f’’(x0), ... ,pnn(x0) =fn(x0),
按这些等式来确定多项式(1)的系数a0,a1,a2,...,an的值.为此对(1)式求各阶导数,然后分别代入以上等式,得
a0 = f(x0), 1 * a1 = f’(x0), 2! * a2 = f’’(x0) ,..., n! * an = fn(x0),
即得
a0 = f(x0), a1 = f’(x0), a2 = 1/2! * f’’(x0) ,..., an = 1/n! * fn(x0),
将求得的系数a0,a1,a2,...,an代入(1)式,有
pn(x) = f(x0) + f’(x0)( x - x0 ) + 1/2! * f’’(x0) ( x - x0 )^2 + ... + 1/n! * fn(x0)( x - x0 )^n
在以上推导过程中,对于上面假设部分:”假设pn(x)在x0处的函数数值及它的直到n阶导数在x0处的值依次与f(x0),f’(x0),...,fn(x0)相等”,这里不是特别好理解,感觉就是已经知道结果,反向推导出过程。所以,为了能更详细的理解泰勒公式的来由,这里采用微分的方式来推导这个公式。
首先在推导泰勒公式之前,先证明以下几个公式:
推导一
设函数f(x)在含有x0的某个开区间(a,b)内具有一阶导数f’(x),求证:
f(x) = f(x0) + ( f’(x0) + f’(x1) + ... + f’(xn-1) ) * ∆x ; ( ∆x = ( x - x0 ) / n , n > 0 , 且n为自然数, n --> ∞, ∆x --> 0 ; x1 = x0 + ∆x , x2 = x0 + 2∆x ,..., x = xn = x0 + n∆x ; )
证:当n --> ∞, ∆x --> 0 , 下列等式成立:
f(x1) = f(x0) + f’(x0)*∆x ; (1)
f(x2) = f(x1) + f’(x1)*∆x ; (2)
f(x3) = f(x2) + f’(x2)*∆x ; (3)
…
f(xn) = f(xn-1) + f’(xn-1)*∆x ; (n)
把(1)项代入(2)项:f(x2) = f(x0) + f’(x0)*∆x + f’(x1)*∆x ; (4)
再把(4)项代入(3)项:f(x3) = f(x0) + f’(x0)*∆x + f’(x1)*∆x + f’(x2)*∆x ;
一直这样往下项代入,最终:
f(xn) = f(x0) + f’(x0)*∆x + f’(x1)*∆x + f’(x2)*∆x + ... + f’(xn-1)*∆x ;
∴ f(x) = f(xn) = f(x0) + ( f’(x0) + f’(x1) + ... + f’(xn-1) ) * ∆x ;
证毕
证二
如果:y = 1 * 2 + 2 * 3 + 3 * 4 + ... + n * ( n + 1 ) ; (n > 0 , 且n为自然数)
求证:y = n * ( n + 1 ) * ( n + 2 ) / 3 ;
证:先把等式换一种表达形式:y = f(x) = ∑ n * ( n + 1 ) ;(n从1到x,x > 0 , x为自然数)
则: f(1) = 1 * 2 = 1 * 2 * 3 / 3 ;
f(2) = 1 * 2 + 2 * 3
= f(1) + 2 * 3
= ( 1 * 2 * 3 / 3 ) + 2 * 3