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程序设计有所帮助。

相关文章

python调试神器PySnooper的使用

相信很多小伙伴平时写python的时候都是需要调试程序的,出问题了,需要了解函数内部是怎么跑的,而这个时候很多人都会想到在疑惑的地方使用print函数来打印一下参数来调试。虽然用prin...

Python实现的读写json文件功能示例

本文实例讲述了Python实现的读写json文件功能。分享给大家供大家参考,具体如下: 相比java,python对json文件的处理就简单很多。java操作json文件的话需要引用ja...

Python定时任务APScheduler的实例实例详解

APScheduler 支持三种调度任务:固定时间间隔,固定时间点(日期),Linux 下的 Crontab 命令。同时,它还支持异步执行、后台执行调度任务。 一、基本架构 触发器...

python之matplotlib学习绘制动态更新图实例代码

python之matplotlib学习绘制动态更新图实例代码

简介 通过定时器Timer触发事件,定时更新绘图,可以形成动态更新图片。下面的实例是学习《matplotlib for python developers》一文的笔记。 实现 实现代...

将字典转换为DataFrame并进行频次统计的方法

将字典转换为DataFrame并进行频次统计的方法

首先将一个字典转化为DataFrame,然后以DataFrame中的列进行频次统计。 代码如下: import pandas as pd a={'one':['A','A','B',...