多项式函数是长这样的函数:
f(x)=a0+a1x+a2x2+…+anxn
它有一个很Nice的特点:代人x,在O(n)的时间内就可以求出f(x),没有任何障碍.
但是这样的函数:
g(x)=ex
h(x)=sinx
想得到g(3)或是h(7)就比较困难了。因此我们需要用多项式函数去”取代”这些奇怪的函数。
逼近f(x)=ex在x靠近0时的函数值
step1:用y=a0+a1x去逼近它.
具体的方法是让它的斜率等于f(x)在x=0时的导数:1
让直线过(0,1),于是得到的直线y=x+1
效果如下图:

在x离0很近的时候还是比较精确的.
step2:用g(x)=a0+a1x+a2x2这个二次多项式去逼近它.
具体方法是让它在x=0处的函数值、导数值、二阶导数值与f(x)相等.
f(x)=ex,f(0)=1
f′(x)=ex,f′(0)=1
f′′(x)=ex,f′′(0)=1
再看这个二次多项式:
g(x)=a0+a1x+a2x2,g(0)=a0
g′(x)=a1+2a2x,g′(0)=a1
g′′(x)=2a2,g′′(0)=2a2
因为要让f(x),f′(x),f′′(x)与g(x),g′(x),g′′(x)分别对应相等,所以:
a0=1,a1=1,2a2=1
所以g(x)=1+x+x22
效果如下图.

已经非常接近了呢.
step3:用g(x)=a0+a1x+a2x2+a3这个三次多项式去逼近它.
具体方法是让它在x=0处的函数值、导数值、二阶导数值、三阶导数值与f(x)相等.
f(x)=ex,f(0)=1
f′(x)=ex,f′(0)=1
f′′(x)=ex,f′′(0)=1
f′′′(x)=ex,f′′′(0)=1
再看这个三次多项式:
g(x)=a0+a1x+a2x2+a3x3,g(0)=a0
g′(x)=a1+2a2x+3a2,g′(0)=a1
g′′(x)=2a2+,6a3x,g′′(0)=2a2
g′′′(x)=6a3,g′′′(0)=6a3
因为要让f(x),f′(x),f′′(x),f′′′(x)与g(x),g′(x),g′′(x),g′′′(x)分别对应相等,所以:
a0=1,a1=1,2a2=1,6a3
所以g(x)=1+x+x22+x36
效果如下图.

最后,推测得出结论:
ex≈1+x+x22!+x33!+x44!+…
泰勒展开
一般来说,一个奇怪函数f(x),可以通过多项式函数g(x)得到固定点a的近似值.g(x)的形式是这样的:
g(x)=b0+b1(x−a)+b2(x−a)2+b3(x−a)3+…+bn(x−a)n
经过和之前相似的一系列的推导(雾),得到了famous的公式:
泰勒逼近(泰勒展开)。
f(x)≈f(a)+f′(a)(x−a)+f′′(a)2!(x−a)2+f′′′(a)3!(x−a)3+…+f(n)(a)n!(x−a)n
把a=0代人,就得到了:
马克劳林逼近。
f(x)≈f(0)+f′(0)x+f′′(0)2!x2+f′′′(0)3!x3+…+f(n)(0)n!xn
泰勒级数的几个例子
泰勒公式基本就是这样了,下面是三个著名泰勒级数:
ex=1+x+x22!+x33!+x44!+…
sinx=x−x33!+x55!−…
cosx=1−x22!+x44!−…