0

我有一个具有周期性上限的积分,它取决于变量“l”。代码如下所示:

Gamma = 0

for l in R:
    ln = l*MPC/4.1
    while l <= RS:
        for i in R:
            j = i*MPC/4.1
            Results = integrate.tplquad(J_nu, 0.0, np.pi, lambda theta: ln, lambda theta: sqrt(ln**2 + j**2 - 2 * ln * j * cos(theta)), lambda theta, s: nuth, lambda theta, s: np.inf)
            Gamma += Results[0]

对于 l 的每个值,我需要计算然后对沿 R 的每个点的所有积分求和(这就是我使用另一个 i-loop 的原因)。

有没有办法在没有多个循环的情况下重写这段代码?因为,即使对于一个 l 值,Python 也需要非常多的时间来计算这个积分。

4

0 回答 0