在二维多边形四边形上集成




我正试图在一个由其顶点描述的二维多边形上集成一个函数,如下所示

import numpy as np
import quadpy

def f(x):
return x[0]

poly = np.array([[0.0, 0.0], [1.0, 0.0], [0, 1], [1,1]])
scheme = quadpy.t2.get_good_scheme(10)
val = scheme.integrate(f, poly)

但我有

QuadpyError:域形状错误。

我非常感谢的任何帮助

quad.t2是三角形,需要三个点。你的多边形是正方形,你必须使用quad.c2

import quadpy
scheme = quadpy.c2.get_good_scheme(7)
val = scheme.integrate(
lambda x : x[0],
[ [[0.0, 0.0], [1.0, 0.0]], [[0.0, 1.0], [1.0, 1.0]] ]
)
val

这就给出了0.5,它在数学上很容易得到。

有关指定四边形的方法,请参见链接。

最新更新