我想在numpy中創建一個包含數學系列值的數組,在本例中爲前一個值的平方,給出一個單獨的起始值,即a_0 = 2,a_1 = 4,a_3 = 16,.. 。如何使用numpy來有效地計算系列?
欲以numpy的矢量化我想這可能工作:
import numpy as np
a = np.array([2,0,0,0,0])
a[1:] = a[0:-1]**2
但結果是
array([2, 4, 0, 0, 0])
我瞭解到現在numpy的並在內部創建了一個臨時數組輸出和最終的副本這個數組,這就是爲什麼它失敗的原始數組中的值爲零的原因。 有沒有辦法使用numpy,numexpr或其他工具來矢量化這個函數?還有什麼其他方法可以在沒有for循環的情況下有效計算一系列快速numpy函數時的值?
也有關係:http://stackoverflow.com/questions/4407984/is-a-for-loop-necessary-if-elements-這是一個numpy向量是依賴於t – sdaau 2013-12-18 11:16:55