python实现数值积分的Simpson方法实例分析
本文实例讲述了python实现数值积分的Simpson方法。分享给大家供大家参考。具体如下:
#coding=utf-8 #simpson法计算积分,数值积分,效果非常理想 frommathimport* deffunc(x): """ 定义被积分函数 """ returnx*sin(x) defGet_N(a,b,width): #width为步长 N=int((b-a)/width+1) ifN%2==0: N=N+1 returnN defGenerateData(a,b,n,width): datas=[] r=a foriinrange(0,n): datas.append(func(r)) r=r+width returndatas defsimpson_integral(datas,width,n): sum=datas[0]+datas[n-1] foriinrange(2,n): ifi%2==0: sum=sum+4*datas[i-1] else: sum=sum+2*datas[i-1] returnsum*width/3.0 if__name__=="__main__": a=1.0#积分上限 b=3.0#积分下限 width=0.0625#步长 N=Get_N(a,b,width) datas=GenerateData(a,b,N,width) printsimpson_integral(datas,width,N)
希望本文所述对大家的Python程序设计有所帮助。