我想知道高斯拉盖尔如何在大范围内工作。例如,我有一个从 (0, +inf) 开始的二维函数。当我在 python 中使用 gauss laguerre 通过对权重和横坐标进行汇总来对函数进行采样时,我并没有得到接近我使用的东西,比如 dblquad。下面是集成的示例代码。lgw 输出权重和横坐标,然后通过使用两个 for 循环将其用于双重积分。我没有看到像 x, y = 1e8, 1e8 这样的样本点是如何被捕获的。增加 n 不会给出高横坐标(至少不是要求很高)。
kzas,kzws = lgw(n)
for kta,ktw, in zip(kzas,kzws):
for kza,kzw in zip(kzas,kzws):
fval = integrand(kza,kta)
wghtx = kzw*numpy.exp(kza)
wghty = ktw*numpy.exp(kta)
integral += wghtx*wghty*fval
有人可以解释如何捕获更高的样本点吗?我没有正确使用正交吗?我可以集成具有小限制的功能,例如 1e2 左右。如果限制很高,比如 1e15,该怎么办?我从理论中看到了定义,但我看不到如何捕获更高的权重和横坐标。
谢谢
编辑:不可能进一步减少我的功能。被积函数的不同部分是用数值计算的,所以我没有任何解析表达式。我只能说函数是平滑的并且具有正弦曲线的行为。