1
比方說,我有一個看起來像這樣的更新方案:加快歐拉數值方法在Python
import numpy as np
N = 1000
dt = 0.01
x = np.zeros(N)
x[0] = 0.5
for i in xrange(1, N):
rand = np.random.normal(loc=0.,scale=1.)
x[i] = x[i-1]*(1 + dt + np.sqrt(dt)*rand)
什麼是加快這種形式,在當前的數組元素需要的代碼的最佳策略前面的數組元素進行計算?
我試圖把它放到矢量化的形式,但我有點卡住如何使用尾部數組元素來更新當前的。
如果有更好的解決方案,不涉及矢量化我也向那些開放。
我想,以確保它是一樣的。你能幫我理解這個區別嗎,我可以解決它嗎? (或者,如果您願意,也可以發佈自己的答案)。 –
我明白了。謝謝!我已將cumsum更改爲cumprod。我認爲應該有。 –