擅长:python、mysql、java
<p>可以使用<a href="https://numpy.org/doc/stable/reference/generated/numpy.vectorize.html" rel="nofollow noreferrer">^{<cd1>}</a>应用<code>func</code>获取单个值,如下所示:</p>
<pre><code>import numpy as np
def Area(theta):
pass
def SimAnneal(space, func, T):
applied_space = np.vectorize(func)(space)
x = np.linspace(0, 100, 1000)
T = 4
SimAnneal(x, Area, T)
</code></pre>
<p>请注意<code>np.vectorize</code>实际上不会给您带来我们在实际矢量化中看到的性能改进。相反,它是一个方便的接口,完全符合您的需要:应用一个<code>func</code>,将单个值应用于一组值(您的<code>space</code>)</p>
<p>或者,您可以将<code>np.vectorize</code>调用移到<code>SimAnneal</code>之外,如下所示:</p>
<pre><code>def SimAnneal(space, func, T):
applied_space = func(space)
x = np.linspace(0, 100, 1000)
func = np.vectorize(Area)
T = 4
SimAnneal(x, func, T)
</code></pre>
<p>这更接近您最初的示例</p>