擅长:python、mysql、java
<p>我认为这将给双循环同样的结果,并且更快:</p>
<pre><code>for j in xrange(np.size(ox)):
result[j] += sum( abs(tx-ox[j])<oe[j] & abs(ty-oy[j])<oe[j] & abs(tz-oz[j])<oe[j] )
</code></pre>
<p>要实现这一点:1)重新排序循环(即交换它们),因为循环内没有任何更改;2)将<code>result[j]</code>拉到<code>i</code>循环之外;3)将所有<code>t>ox-oe and t<ox+oe</code>转换为<code>abs(t-ox)<oe</code>(虽然这可能不是一个巨大的加速,但更容易阅读)。在</p>
<p>既然你没有可运行的代码,我也不想为此建立一个测试,我不能百分之百地确定这是正确的。在</p>