當計算數組每個值的絕對值時,我得到一個與abs():'list'的壞操作數類型相關的錯誤。源代碼中出現故障的部分是下一個:abs()的壞操作數類型:'list'
x = amplitudex * sin((2 * pi * (frequency * 1) * t) + phase);
y = amplitudey * sin((2 * pi * (frequency * 2) * t) + phase);
z = amplitudez * sin((2 * pi * (frequency * 3) * t) + phase);
w= 0.55* (x + y + z);
....
n = len(w);
wf = [float(0)] * n;
for k in range(n): # For each output element
s = float(0);
for t in range(n): # For each input element
s += w[t] * cmath.exp(-2j * cmath.pi * t * k/n);
wf[k] = float(s);
sf = np.linspace(0.0, 1.0/(2.0*numCycles), numSamples/2);
#The calculation of absolute values causes error:
plot(sf, 2.0/numSamples * abs(wf[0:100]));
如何在abs函數中修復此錯誤?我得到這個錯誤:(迷茫
感謝
因爲'abs'不能爲了適用於ABS每個元素的數組 –
使用'map';'。 –
中您可以結束只是一個新行語句,沒有'被澆鑄爲列表 – TigerhawkT3