圆周率的泰勒级数公式,python利用公式求圆周率

  圆周率的泰勒级数公式,python利用公式求圆周率

  Pcdtd系列(泰勒系列)

  现在是时候解释指数函数和三角函数的奇妙多项式形式了。

  这些多项式实际上是这些函数在x=0展开的pcdtd级数。

  我来列举一下函数f(x)在x=0处展开的pcdtd级数的定义,不带警告:

  我们的高中数学知识告诉我们,无论是求指数函数的多重导数还是本身:

  因此,根据上述定义,有:

  多项式近似(多项式近似)

  多项式的本质是将一个非常复杂的函数转化为无穷项的和。通常只能计算出pcdtd级数第一项之和的极限,然后才能得到原函数的局部逼近。

  在这里,请原谅我抖出“极限”这个名词。其实我们从极限的角度了解导数的几何意义后,用高阶导数更好理解:多项式逼近。

  让我们试试前20项,

  进口合同

  来自sympy import *

  #指定X作为符号

  x=sympy。符号( x )

  # exp是公式

  exp=e**x

  #我们开始求和,只对前21项求和。

  总和=0

  对于范围内的I(20):

  #求一阶导数函数

  分子=exp.diff(x,I)

  #计算x=0时导函数的值

  分子=分子. evalf(subs={x:0})

  分母=np.math.factorial(i)

  总和=分子/分母*x**i

  #让我们检查原始exp函数与在x=0处展开的pcdtd系列的前20项之和之间的差异。

  print(exp . evalf(subs={ x:0 })-sums . evalf(subs={ x:0 }))

  #结果为0

  xvals=np.linspace(0,20,100)

  对于xval中的xval:

  PLT . plot(xfal,exp . evalf(subs={ x:xfal }), bo ,\

  xval,sums.evalf(subs={x:xval}), ro )

  如果作者已经手动验证了三角函数的多项式展开,现在来看图像!

  而且看,在展开点x=0,用更多项得到的近似结果更接近真实值。

  从matplotlib导入pyplot作为plt

  将numpy作为np导入

  从mpl_toolkits.mplot3d导入Axes3D

  来自sympy import * #用于科学计算,如导数积分。

  从sympy.plotting导入plot3d

  从sympy.functions导入导出

  X=符号( x)#x变量

  Print(help(plot))#将x=0的pcdtd展开到x20次方无穷小

  p0=plot(sin(x),(x,-2*pi,2*pi),line_color=b ,ylim=(-1.5,1.5),title=funion ,show=False)

  #画sin(x),range -2*pi,2*pi,蓝线,y刻度range -1.5,1.5,暂时不显示。

  Exper1=series (sin (x),x,n=4) # pcdtd扩展到O(x**4)

  p1=plot(exper1.subs(O(x**4),0),(x,-2*pi,2*pi),line_color=br ,title=O(x**4),show=False)

  # Item O(x**4)使用0而不是蓝红色。

  Exper2=series (sin (x),x,n=6) # pcdtd扩展到O(x**6)

  p2=plot(exper2.subs(O(x**6),0),(x,-2*pi,2*pi),line_color=g ,title=O(x**6),show=False)

  # Item O(x**6)用0代替绿色。

  Exper3=series (sin (x),x,n=8) # PC dtd扩展到O(x**8)

  p3=plot(exper3.subs(O(x**8),0),(x,-2*pi,2*pi),line_color=r ,title=O(x**8),show=False)

  # Item O(x**8)用0代替红色。

  Exper4=series (sin (x),x,n=10) # PC dtd扩展到O(x**10)

  p4=plot(exper4.subs(O(x**10),0),(x,-2*pi,2*pi),line_color=y ,title=O(x**10),show=False)

  # Item O(x**10)用0代替黄色。

  #要不是我对颜色的不敏感,可能我在扩展点,扩展到100项,

  p0 .扩展(p1)

  p0 .扩展(p2)

  p0 .扩展(p3)

  p0 .扩展(p4)

  P0.show()#显示图像

  膨胀点

  以上,我们得到的pcdtd序列都是在x=0左右得到的,但是我们能得到不同展开点(比如x=a)的pcdtd序列吗?显然是有可能的。Python好闻:欧拉公式juanlan.zhihu.com Python好闻:Python中的微积分(二)——复合函数juanlan.zhihu.com Python好闻:Python中的微积分——函数zhuanlan.zhihu.com

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: