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

python积分scipy.integrate

2015-07-30 10:38 639 查看

python积分scipy.integrate

scipy.integration提供多种积分的工具,主要分为以下两类。

对给出的函数公式积分:quad dblquad tplquad fixed_quad quadrature romberg

对于采样数值进行积分:trapz cumtrapz simpz romb

本文关注于对数值积分的trapz以及cumtrapz函数。

trapz 采样数值计算得出积分

cumtrapz 累计计算积分

trapz

trapz(y, x=None, dx=1.0, axis=-1)

对y(x)在给定的轴上计算积分值,计算采样数值与x轴围成图形的面积

参数:

y: 需要被积分的数值序列

x: y中元素的间距,积分变量。若为空,则y元素的间距默认为dx

dx: 如果x为空,y中元素的间距由dx给出

axis: 确定积分轴

返回:

out: float类型,一个有限的数近似的给出y的积分值,即与x轴围成的面积

>>> import numpy as np
>>> np.trapz([1, 2, 3])
4.0
>>> np.trapz([1, 2, 3], [4, 6, 8])
8.0
>>> a = np.arange(6).reshape(2, 3)
>>> a
array([[0, 1, 2],
[3, 4, 5]])
>>> np.trapz(a, axis=0)
array([ 1.5,  2.5,  3.5])
>>> np.trapz(a, axis=1)
array([ 2.,  8.])


cumtrapz

cumtrapz(y, x=None, dx=1.0, axis=-1, initial=None)

参数:

y: 需要被积分的数值序列

x: y中元素的间距,积分变量。若为空,则y元素的间距默认为dx

dx: 如果x为空,y中元素的间距由dx给出

axis: 确定积分轴

initial: 如果提供,则用该值作为返回值的第一个数值

返回:

res: 数组类型。y根据x轴的积分值

>>> import numpy as np
>>> from scipy import integrate
>>> import matplotlib.pyplot as plt
>>> y = np.linspace(-2, 2, num=20)
>>> y_int = integrate.cumtrapz(y)
>>> plt.plot(y_int, 'ro', y, 'b-')
>>> plt.show()


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