Python中的2D数值积分

时间:2019-07-12 09:35:33

标签: python scipy numerical-integration

我知道如何在python中执行双重积分

def __str__(self):
    return self.lead

其中import numpy as np import scipy.integrate as integrate integrate.dblquad(x*y, 0, 1, lambda x: -np.sqrt(1-x**2), lambda x: np.sqrt(1-x**2)) xy numpy数组。

但是,如果上面的被整数((200,))是2D数组而不是函数,该怎么办?就我而言,我有一个数组x*y,在每个坐标(x,y)上都有一个值,即它的形状为Z。但是,我事先不知道它将对应的连续函数。

我将如何执行此积分?谢谢。

1 个答案:

答案 0 :(得分:0)

因此,您正在尝试在单位磁盘上集成功能?您可以使用quadpy(属于我的项目)来执行此操作。它也支持向量值的整数:

import numpy
import quadpy

scheme = quadpy.disk.lether(6)  # there are many other schemes available
# scheme.show()
val = scheme.integrate(
    lambda x: [numpy.exp(x[0] + x[1]), numpy.cos(x[0])],
    [0.0, 0.0],  # disk center
    1.0  # disk radius
)
print(val)
[3.99523707 2.76491937]