我知道如何在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))
和x
是y
numpy数组。
但是,如果上面的被整数((200,)
)是2D数组而不是函数,该怎么办?就我而言,我有一个数组x*y
,在每个坐标(x,y)上都有一个值,即它的形状为Z
。但是,我事先不知道它将对应的连续函数。
我将如何执行此积分?谢谢。
答案 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]