1
運行下面的代碼:的Python:np.vectorize返回「浮動」
import matplotlib.pyplot as plt
import numpy as np
def xon (ton, t):
if ton <= t:
return (t-ton)/5
else:
return 0
vxon = np.vectorize(xon)
t = np.linspace(0, 49, 50)
xontest = vxon(0, t)
plt.plot(t, xontest, '-')
plt.show()
但是,當我嘗試繪圖爲每噸值,wchich不同大於零,如:
xontest = vxon(2, t)
情節似乎轉了所有的XON值整數
什麼在我的代碼導致這樣的行爲?
如果你正在使用Python2,可能會改變'return(t-ton)/ 5'到'return(t-ton)/ 5.0'。 – zondo
對不起,看錯了號碼。它是2.7.9。 – Tanja
我刪除了我的答案,因爲它完全偏離了軌道。雖然'5'是一個整數,在你的情況下't'不是一個整數。相反,它是NumPy的'numpy.float64'值或類似的數組。 (我想可能取決於系統。)因此,Python 2的整數劃分是地板劃分的怪癖在這裏不起作用。 –