我已經在兩臺不同的機器上安裝了Python3.6,發行版Anaconda。我不能發誓我使用了相同的安裝程序文件,儘管我認爲我是這樣做的。我看到同樣的,當我嘗試了Python,巨蟒和numpy的版本: numpy.exponential稍有不同的行爲
我是越來越小的數值差異。經過一些調試後,我成功地將問題簡化爲調用numpy.exp。只需運行代碼
import numpy as np
x = -0.1559828702879514361612223
y = np.exp(x)
print("The exponential of %0.25f is %0.25f" % (x, y))
我得到
The exponential of -0.1559828702879514361612223 is 0.8555738459791129013609634
第一( '服務器')機
和
The exponential of -0.1559828702879514361612223 is 0.8555738459791127903386609
在第二( '本地')的機器。
我知道浮點數沒有25位小數精度,但這些差異在我的代碼中傳播,發生在小數點後12位左右。
什麼可能是不同行爲的原因?
對於它的價值,我得到與你的「服務器」相同的輸出,同時擁有更新的numpy和更老的python。也許與處理器有關? –
儘量避免將代碼作爲圖片添加進去,因爲它使搜索引擎無法使用 –
@IgnacioVergaraKausel Thx。也許你是對的,我認爲結果是獨立於處理器的,但也許不是。可能出於無知,如果是這種情況,我發現它不安:我更換我的機器,然後我的號碼變化?! – zeycus