擅长:python、mysql、java
对不起,没有明确回答你的问题,但是我认为一个简单的解决方案会更容易实现,并且可以提高速度,几乎和C++片段一样好:</p>
<pre><code>import numpy as np
frame = np.random.random_sample(10000)
def shortTermEnergy(frame):
return sum( [ abs(x)**2 for x in frame ] ) / len(frame)
>> %timeit shortTermEnergy(frame)
>> 100 loops, best of 3: 4.11 ms per loop
def dot_product(frame):
return np.dot(frame, frame)/frame.size
>> %timeit dot_product(frame):
>> 10000 loops, best of 3: 19.3 µs per loop
</code></pre>