2015-05-26 47 views
0

我需要將一個元素添加到numpy數組中。但追加和擴展都不起作用。 這裏a1是一個函數。需要在numpy數組中添加一個元素

import numpy as np 
def a1(f): 
    return 700*(np.exp(f/1125.0) - 1) 

f = np.zeros(26) 
N = 26 
f_min = 300 
f_max = 16000 

for n in range(N): 
    f[n] = (f_min + n*(f_max - f_min)/(N-1)) 

h = a1(f) 
h = h[::-1] 
np.append(h, 0) 
print h 

輸出是:

[ 16000.   14221.33951611 12632.11814102 11212.15935635 
    9943.43557641 8809.83927267 7796.97847492 6891.99405301 
    6083.39645924 5360.91985872 4715.39179592 4138.6167425 
    3623.27204809 3162.81497306 2751.39962281 2383.80272921 
    2055.35733672 1761.89355146 1499.68560083 1265.40453166 
    1056.07594631 869.04224018 701.92886113 552.61416253 
    419.20246718 300.  ] 

爲什麼在最後的0是沒有得到追加?此外,h的類型是numpy.ndarray。

+0

取而代之的是'換loop'(和'np.zeros'),你可以使用'F = np.linspace(f_min,f_max,N )'。 – unutbu

+0

我會執行。謝謝! – TheChetan

回答

2

您需要分配給np.append(h, 0)h

h = np.append(h, 0) 
print h 
相關問題