Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Python中集成两个一维数据数组?_Python_Arrays_Integration_Interpolation - Fatal编程技术网

如何在Python中集成两个一维数据数组?

如何在Python中集成两个一维数据数组?,python,arrays,integration,interpolation,Python,Arrays,Integration,Interpolation,我有两个表格数据数组,x和y,我不知道生成数据的函数。我希望能够计算数据在x轴任意点产生的线的积分 与其对数据插值一个分段函数,然后尝试对其进行积分(我遇到了问题),还有什么可以简单地通过计算数组来提供积分的方法吗 在寻找解决方案时,我看到了对iPython和Pandas的引用,但我无法找到这些包中有助于完成此任务的部分 如果没有简单集成阵列的方法,您能否提供一些关于处理此任务的最佳方法的建议? 例如,您可以使用scipy.integrate.simps执行辛普森规则,并可以传递以下信息: sc

我有两个表格数据数组,x和y,我不知道生成数据的函数。我希望能够计算数据在x轴任意点产生的线的积分

与其对数据插值一个分段函数,然后尝试对其进行积分(我遇到了问题),还有什么可以简单地通过计算数组来提供积分的方法吗

在寻找解决方案时,我看到了对iPython和Pandas的引用,但我无法找到这些包中有助于完成此任务的部分

如果没有简单集成阵列的方法,您能否提供一些关于处理此任务的最佳方法的建议?

例如,您可以使用
scipy.integrate.simps
执行辛普森规则,并可以传递以下信息:

scipy.integrate.simps(y,x=None,dx=1,axis=-1,偶数=avg')

参数:
y:你喜欢什么 要集成的阵列

x:类似阵列,可选 如果给定,y采样的点

dx:int,可选 沿y轴的积分点间距。仅在x为无时使用。默认值为1

轴:int,可选 要整合的轴。默认为最后一个轴

偶数:{'avg','first','str'},可选

“平均值”:平均两个结果:1)使用前N-2个间隔 在最后一个间隔上使用梯形规则,2)在第一个间隔上使用最后N-2个间隔和梯形规则

“第一”:对第一个N-2间隔使用辛普森规则 最后一个间隔的梯形规则

“last”:最后N-2个间隔使用辛普森规则 第一个间隔上的梯形规则

因此,您可以使用两个阵列进行数值积分。

Scipy有一个功能可以帮助您

如果您想使用进行集成,那么对于一系列点来说,哪种方法可能是最好的

您可以这样做:

>>> from scipy import integrate
>>> x = np.linspace(-2, 2, num=20)
>>> y = x
>>> y_int = integrate.cumtrapz(y, x, initial=0)
>>> plt.plot(x, y_int, 'ro', x, y[0] + 0.5 * x**2, 'b-')
>>> plt.show()

这也将绘制数据并以图形方式显示给您。这是集成调用
integrate.cumtrapz(y,x,initial=0)
其中x和y是两个数组。

如果处理多个数组/列表会怎么样?如何执行集成?无法编辑您的帖子。梯形累积和的实际正确链接如下: