擅长:python、mysql、java
<p>如果希望避免显式循环,可以使用<a href="https://github.com/nschloe/quadpy" rel="nofollow noreferrer">quadpy</a>(我的一个项目)在一个向量化的积分步骤中计算所有值。这是<em>快得多的</em>:</p>
<pre><code>import quadpy
import numpy as np
import matplotlib.pyplot as plt
a = np.linspace(0.0, 10.0, 300)
def intyfun(x):
return (
np.exp(-a / 4)[:, None]
* np.exp(np.multiply.outer(a, -(x ** 2)))
* (2 * np.pi * x)
* (np.sinh(np.pi) / np.cosh(np.pi * x) ** 2)
)
val, _ = quadpy.quad(intyfun, 0, np.inf)
plt.plot(a, val)
plt.grid()
plt.gca().set_aspect("equal")
plt.show()
</code></pre>
<p><a href="https://i.stack.imgur.com/1gb22.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/1gb22.png" alt="enter image description here"/></a></p>