您的位置:首页 > 编程语言 > Python开发

python实现数值积分的Simpson方法实例分析

2015-06-05 10:12 1176 查看

本文实例讲述了python实现数值积分的Simpson方法。分享给大家供大家参考。具体如下:

#coding = utf-8
#simpson 法计算积分,数值积分,效果非常理想
from math import *
def func(x):
"""
定义被积分函数
"""
return x*sin(x)
def Get_N(a,b,width):
# width为步长
N=int((b-a)/width + 1)
if N%2 == 0:
N=N+1
return N
def GenerateData(a,b,n,width):
datas = []
r=a
for i in range(0,n):
datas.append(func(r))
r = r+width
return datas
def simpson_integral(datas,width,n):
sum = datas[0]+datas[n-1]
for i in range(2,n):
if i%2== 0:
sum = sum +4*datas[i-1]
else:
sum = sum +2*datas[i-1]
return sum*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)
print simpson_integral(datas,width,N)

希望本文所述对大家的Python程序设计有所帮助。

您可能感兴趣的文章:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python 积分