我需要在numpy数组中添加一个元素。但追加和延伸都不起作用。 这里a1是一个函数。
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 :(得分:2)
您需要将np.append(h, 0)
分配给h
,如
h = np.append(h, 0)
print h