问题 C: Taylor formula

问题 C: Taylor formula

时间限制: 1 Sec  内存限制: 128 MB
提交: 342  解决: 124
[状态] [讨论版] [提交] [命题人:]
题目描述

    在数学中,泰勒公式是一个用函数在某点的信息描述其附近取值的公式。如果函数足够光滑的话,在已知函数在某一点的各阶导数值的情况之下,泰勒公式可以用这些导数值做系数构建一个多项式来近似函数在这一点的邻域中的值。泰勒公式还给出了这个多项式和实际的函数值之间的偏差。泰勒公式得名于英国数学家布鲁克·泰勒。他在1712年的一封信里首次叙述了这个公式,尽管1671年詹姆斯·格雷高里已经发现了它的特例。实际应用中,泰勒公式需要截断,只取有限项,一个函数的有限项的泰勒级数叫做泰勒展开式。泰勒公式的余项可以用于估算这种近似的误差。

公式定义:

泰勒公式(Taylor's formula) 
形式1:带Peano余项的Taylor公式: 
若f(x)在x0处有n阶导数,则存在x0的一个邻域(x0-δ,x0+δ)内任意一点x(δ>0),成立下式: 
f(x)=f(x0)+f'(x0)/1!*(x-x0)+f''(x0)/2!*(x-x0)^2+…+f(n) (x0)/n!(x-x0)^n+o((x-x0)^n)
f(n)(x)表示f(x)的n阶导数,f(n) (x0)表示f(n)(x)在x0处的取值 
(可以反复使用L'Hospital法则来推导)


形式2::带Lagrange余项的Taylor公式: 
 函数f(x)在闭区间[a,b]上有n阶连续 导数,在(a,b)上有n+1阶导数。任取x0∈[a,b]是一定点,则对任意x∈[a,b]成立下式: 
f(x)=f(x。)+f'(x。)(x-x。)+f''(x。)/2!*(x-x。)^2,+f'''(x。)/3!*(x-x。)^3+……+f(n)(x。)/n!*(x-x。)^n+Rn(x),
Rn(x)=f(n+1)(ξ)/(n+1)!*(x-x。)^(n+1), ξ在x。和x之间,是依赖于x的量。

(注:f(n)(x。)是f(x。)的n阶导数,不是f(n)与x。的相乘。) 

泰勒公式
 
函数的 Maclaurin展开指上面Taylor公式中x0取0的情况,即是Taylor公式的特殊形式,反过来通过平移和换元, Maclaurin展开式和上面的展开式是等价的。 
Taylor公式最典型的应用就是求任意函数的近似值。Taylor公式还可以求等价无穷小,证明不等式,求极限等。


证明:

我们知道f(x)=f(x.)+f'(x.)(x-x.)+α(根据 拉格朗日中值定理导出的有限增量定理有limΔx→0 f(x.+Δx)-f(x.)=f'(x.)Δx,其中误差α是在limΔx→0 即limx→x.的前提下才趋向于0,所以在近似计算中往往不够精确;于是我们需要一个能够足够精确的且能估计出误差的多项式: 

P(x)=A0+A1(x-x.)+A2(x-x.)^2+……+An(x-x.)^n 
来近似地表示函数f(x)且要写出其误差f(x)-P(x)的具体表达式。设函数P(x)满足P(x.)=f(x.),P'(x.)=f'(x.),P''(x.)=f''(x.),……,P(n)(x.)=f(n)(x.),于是可以依次求出A0、A1、A2、……、An。显然,P(x.)=A0,所以A0=f(x.);P'(x.)=A1,A1=f'(x.);P''(x.)=2!A2,A2=f''(x.)/2!……P(n)(x.)=n!An,An=f(n)(x.)/n!。至此,多项的各项系数都已求出,得:P(x)=f(x.)+f'(x.)(x-x.)+[f''(x.)/2!](x-x.)^2+……+[f(n)(x.)/n!](x-x.)^n.


接下来就要求误差的具体表达式了。设Rn(x)=f(x)-P(x),于是有Rn(x.)=f(x.)-P(x.)=0。所以可以得出Rn(x.)=Rn'(x.)=Rn''(x.)=……=Rn(n)(x.)=0。根据 柯西中值定理可得Rn(x)/(x-x.)^(n+1)=(Rn(x)-Rn(x.))/((x-x.)^(n+1)-0)=Rn'(ξ1)/(n+1)(ξ1-x.)^n(注:(x.-x.)^(n+1)=0),这里ξ1在x和x.之间;继续使用柯西中值定理得(Rn'(ξ1)-Rn'(x.))/((n+1)(ξ1-x.)^n-0)=Rn''(ξ2)/n(n+1)(ξ2-x.)^(n-1)这里ξ2在ξ1与x.之间;连续使用n+1次后得出Rn(x)/(x-x.)^(n+1)=Rn(n+1)(ξ)/(n+1)!,这里ξ在x.和x之间。但Rn(n+1)(x)=f(n+1)(x)-P(n+1)(x),由于P(n)(x)=n!An,n!An是一个常数,故P(n+1)(x)=0,于是得Rn(n+1)(x)=f(n+1)(x)。综上可得,余项Rn(x)=f(n+1)(ξ)/(n+1)!?(x-x.)^(n+1)。一般来说展开函数时都是为了计算的需要,故x往往要取一个定值,此时也可把Rn(x)写为Rn。 

麦克劳林展开式
函数的 Maclaurin展开指上面Taylor公式中x0取0的情况,即是Taylor公式的特殊形式.


Taylor公式的应用
 
1、展开三角函数y=sinx和y=cosx。 
解:根据导数表得:f(x)=sinx,f'(x)=cosx,f''(x)=-sinx,f'''(x)=-cosx,f⑷(x)=sinx…… 
f(n)(x)=sin(x+nπ/2) 
于是得出了 周期规律。分别算出f(0)=0,f'(0)=1,f''(x)=0,f'''(0)=-1,f⑷=0…… 
最后可得:sinx=x-x^3/3!+x^5/5!-x^7/7!+x^9/9!+Rn(x) 
Rn(x)=o(x^10) (Peano余项) 
或Rn(x)=sin(ξ+11π/2)/11!*x^11,ξ∈(0,x) 
类似地,可以展开y=cosx。


2、计算近似值e=lim x→∞ (1+1/x)^x。 
解:对指数函数y=e^x运用 麦克劳林展开式并舍弃余项: 
e^x≈1+x+x^2/2!+x^3/3!+……+x^n/n! 
当x=1时,e≈1+1+1/2!+1/3!+……+1/n! 
取n=10,即可算出近似值e≈2.7182818。


3、欧拉公式:e^ix=cosx+isinx(i为-1的开方,即一个虚数单位) 
证明:这个公式把 复数写为了幂指数形式,其实它也是由 麦克劳林展开式确切地说是麦克劳林级数证明的。过程具体不写了,就把思路讲一下:先展开指数函数e^z,然后把各项中的z写成ix。由于i的幂 周期性,可已把系数中含有土i的项用乘法分配律写在一起,剩余的项写在一起,刚好是cosx,sinx的展开式。然后让sinx乘上提出的i,即可导出 欧拉公式。


余项
泰勒公式的余项
f(x)=f(a) + f'(a)(x-a)/1! + f''(a)(x-a)^2/2! + …… + f(n)(a)(x-a)^n/n! + Rn(x) [其中f(n)是f的n阶导数] 
泰勒余项可以写成以下几种不同的形式: 

⒈佩 亚诺(Peano)余项: 
Rn(x) = o((x-a)^n)


⒉施勒米尔希-罗什(Schlomilch-Roche)余项: 
Rn(x) = f(n+1)(a+θ(x-a))(1-θ)^(n+1-p)(x-a)^(n+1)/(n!p) 
[f(n+1)是f的n+1阶导数,θ∈(0,1)]


⒊拉格朗日(Lagrange)余项: 
Rn(x) = f(n+1)(a+θ(x-a))(x-a)^(n+1)/(n+1)! 
[f(n+1)是f的n+1阶导数,θ∈(0,1)]


⒋柯西(Cauchy)余项: 
Rn(x) = f(n+1)(a+θ(x-a))(1-θ)^n (x-a)^(n+1)/n! 
[f(n+1)是f的n+1阶导数,θ∈(0,1)]


⒌积分余项: 
Rn(x) = [f(n+1)(t)(x-t)^n在a到x上的积分]/n! 
[f(n+1)是f的n+1阶导数] 
这里诸多余项事实上很多是等价的。


泰勒定理开创了有限差分理论,使任何单变量函数都可展成 幂级数;同时亦使 泰勒成了有限差分理论的奠基者。泰勒于书中还讨论了 微积分对一系列物理 问题之应用,其中以有关弦的横向振动之结果尤为重要。他透过求解方程 导出了基本频率公式,开创了研究弦振问题之先河。此外,此书还包括了他于 数学上之其他创造性工作,如论述常 微分方程的奇异解,曲率 问题之研究等。刚好今天是星期六,那么就给大家一个数字n,希望大家可以算出n天后是星期几,如果是星期x,就输出x句"Taylor formula",每句占一行。


输入

多实例输入。

每个样例输入一个整数n,表示天数。(1<= n <= 100)

输出
对于每组样例,按题目中要求输出。
样例输入 Copy
2
样例输出 Copy
Taylor formula