您的位置:首頁技術文章
文章詳情頁

基于python 開立方的注意事項說明

瀏覽:4日期:2022-06-25 14:19:19

在python中,** 就是指數運算,所以我們習慣性的覺得

基于python 開立方的注意事項說明

確實在數學中,這的確是正確的,但是在python中這么寫,你就會發現有一些錯誤,

4**3=64

所以,64開立方應該是3,然而在python中的運行結果如下:

64**(1/3)=3.9999999999999996

so interesting,我們在運行

16**(1/2)=4

這是對的,為啥開立方就不對了呢,更有意思的是按照上面的寫法,你會發現負數開出來是復數,這里有兩個fu數。

看個例子:

(-64)**(1/3)=(2+3.464101615137754j)

不應該是-4嗎,怎么會出來復數呢?

這其實和優先級有關系,(1/3)先運行得到0.3333333333333333,然后在運行 ** 指數運算,那么有什么解決方法嗎

這里我用的是numpy

np.cbrt(-64)=-4.0

其它方法也有,不過我覺得這個比較好

補充:python中開n次方根

利用pow(a, b)函數即可。需要開a的r次方則pow(a, 1/r)。

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。如有錯誤或未考慮完全的地方,望不吝賜教。

標簽: Python 編程
相關文章:
国产综合久久一区二区三区