Python中給-8開3次方根出來的是一個虛數而不是-2,這怎麼辦?Da22020-09-16 07:27:15

複數域開方就是這樣的。開幾次方就有幾個根。明顯Py返回的是所有根裡輻角主值不小於零且最接近零的那個。最簡單的辦法就是利用³√x這個函式是個奇函式,給|-8|,就是取絕對值開方,因為正數的輻角是0,在複數域開方,實根(輻角是零)正好就是所有根裡輻角主值不小於零且最接近零的那個,必定返回的是這個實根,然後結果前面補個負號(奇函式性質,f(x)=-f(-x) )。。 所有負數在複數域開根號要想返回實根都可以用這個方法。

Python中給-8開3次方根出來的是一個虛數而不是-2,這怎麼辦?資料藝術家2020-05-26 20:55:35

**運算子和pow函式確實是這樣的。

Python中給-8開3次方根出來的是一個虛數而不是-2,這怎麼辦?

你可以試一下,在開方之前先取絕對值,開方之後再把符號補上,類似於下面這樣。

Python中給-8開3次方根出來的是一個虛數而不是-2,這怎麼辦?

Python中給-8開3次方根出來的是一個虛數而不是-2,這怎麼辦?笑看風雲淡悠然天地間2020-05-28 19:12:40

-8的三次方根有三個,第一個就是1+根號3i,第二個才是-2,第三個是1-根號3i。它只顯示了第一個。

不僅是python,這個情況在C/C++、JAVA等裡面也是一樣的,不是錯誤,因為這些語言不是用來專門算算術的,它們也不知道你的文化程度,說實話能給出一個根已經很給面子了。

Python中給-8開3次方根出來的是一個虛數而不是-2,這怎麼辦?神經質神仙2020-10-18 22:55:52

沒問題啊,本來就是一個實根,兩個虛根啊