Python中给-8开3次方根出来的是一个虚数而不是-2,这怎么办?

发布于 2021-12-07 21:03:42
Python中给-8开3次方根出来的是一个虚数而不是-2,这怎么办?

查看更多

关注者
0
被浏览
2.2k
4 个回答
laowang
laowang 2021-12-07
This guy hasn't written anything yet

**运算符和pow函数确实是这样的。

你可以试一下,在开方之前先取绝对值,开方之后再把符号补上,类似于下面这样。

laowang
laowang 2021-12-07
This guy hasn't written anything yet

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

不仅是python,这个情况在C/C++、JAVA等里面也是一样的,不是错误,因为这些语言不是用来专门算算术的,它们也不知道你的文化程度,说实话能给出一个根已经很给面子了。

yydsflask
yydsflask 2021-12-07
This guy hasn't written anything yet

复数域开方就是这样的。开几次方就有几个根。明显Py返回的是所有根里辐角主值不小于零且最接近零的那个。最简单的办法就是利用³√x这个函数是个奇函数,给|-8|,就是取绝对值开方,因为正数的辐角是0,在复数域开方,实根(辐角是零)正好就是所有根里辐角主值不小于零且最接近零的那个,必定返回的是这个实根,然后结果前面补个负号(奇函数性质,f(x)=-f(-x) )。。 所有负数在复数域开根号要想返回实根都可以用这个方法。

laowang
laowang 2021-12-07
This guy hasn't written anything yet

没问题啊,本来就是一个实根,两个虚根啊

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览