0
這裏是一段代碼我寫道:CMATH模塊產量不正確的結果
import numpy as n
import cmath, math
v=[1,1,1,1,1][(1+0j), (0.30901699437494723+0.9510565162951536j), (-0.8090169943749477+0.5877852522924728j), (-0.8090169943749471-0.5877852522924736j), (0.3090169943749482-0.9510565162951533j)]
M=[[0]*5]*5
w=[0]*5
for a in range(0,5,1):
for b in range(0,5,1):
M[a][b]=cmath.exp(-2j*math.pi*a*b/5)
for k in range(0,5,1):
for i in range(0,5,1):
w[k]+=M[k][i]*v[i]
print M[0]
這裏的輸出:
[(1+0j), (0.30901699437494723+0.9510565162951536j), (-0.8090169943749477+0.5877852522924728j), (-0.8090169943749471-0.5877852522924736j), (0.3090169943749482-0.9510565162951533j)]
然而,它應該是[1,1,1,1,1] 。我試圖找出代碼中是否有任何問題,但我不能。我的代碼有什麼問題?
要添加到Hiro的答案,因爲你已經使用'numpy',可能是最好的方式來創建'M'將直接創建一個'array'與'M = n.zeros((5,5))'。 –