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

yipeiwu_com6年前Python基础

本文实例讲述了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程序设计有所帮助。

相关文章

python3实现绘制二维点图

python3实现绘制二维点图

如下所示: import matplotlib.pyplot as plt plt.plot([1,2,3],[4,5,6],'ro') plt.show()#这个智障的编辑器,,,...

对Django中static(静态)文件详解以及{% static %}标签的使用方法

在一个网页中,不仅仅只有一个html骨架,还需要css样式文件,js执行文件以及一些图片等。因此在DTL中加载静态文件是一个必须要解决的问题。在DTL中,使用static标签来加载静态文...

import的本质解析

上一篇文章中我们介绍了python中hashlib模块用法示例,详情参见:/post/127103.htm。今天我们看看import的有关内容。 编程时总是用到import导入,动不动就...

python用for循环求和的方法总结

Python中可以使用for循环实现累加求和 for循环语法: for 变量 in range(x): 循环需要执行的代码 如下实现1到n求和: def main():...

如何使用python3获取当前路径及os.path.dirname的使用

这篇文章主要介绍了如何使用python3获取当前路径及os.path.dirname的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考...