每當我寫for循環時,我都會問自己是否沒有更實用的方法來編寫它。我沒有爲這個循環提供一些東西,用sin/cos填充矩陣的列。使用正弦/餘弦填充矩陣的列而不存在for循環
k = 5 #this is any odd integer
t = np.arange(0,N)/fs #time array for the sin/cos
A = np.zeros((N,k))
A[:,0] = 1
for i in range(1, k, 2):
A[:,i] = np.cos(2*np.pi*freq*t*(i+1)/2)
A[:,i+1] = np.sin(2*np.pi*freq*t*(i+1)/2)
我使用numpy,因爲這是用於更多的數學事後。我意識到,替換for循環可能沒有任何好處,因爲它非常簡單,但是有沒有辦法將這個替換爲循環?
在Python中你可以使用一些函數式編程範式。但它主要不是一種功能性編程語言。以功能性方式重寫numpy代碼很少有意義。 – cel