python - 限制 python 仅使用实数空间

标签 python math numbers

在Python中,当执行诸如x=(-10)**(1/3)之类的操作时,我得到一个复数。相反,我只想查看一个真实的 x 值,在本例中约为 -2.15。现在我确实明白我可以导入像 mpmath 这样的数学库并生成所有解决方案(本例中为 3 个),循环遍历它们并找到真实的解决方案。我正在寻找一个更优雅的解决方案,因为我希望能够创建一个能够接受任何类型的函数并将数字插入其中的程序。

这里有一些代码演示了我想要做什么

f= lambda x:x**(1/3)
print(f(-10))

在这种情况下,我得到一个复数,代表 3 个可能的根之一,但我只想要真正的根

最佳答案

负数的实立方根是正数立方根的负值:

>>> def cube_root(x):
...     return -pow(-x,1/3) if x < 0 else pow(x,1/3)
...
>>> cube_root(10)
2.154434690031884
>>> cube_root(-10)
-2.154434690031884

关于python - 限制 python 仅使用实数空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61723871/

相关文章:

c - 从 C 中的 float 获​​取指数

R:删除字符串开头和结尾的数字

python - 使用 Python 编写 Spring 集成脚本

javascript - 试图找到具有 4 个点的贝塞尔曲线的长度

math - 在 MATLAB 中匹配两个不同长度的向量

计算行星之间吸引力的方向

PHP - 删除任何字母前的任何数字

python - miro如何嵌入vlc

python - 在 python 中使用 ffmpeg 将音频文件转换为 mp3

python /tkinter : Events: call a function by mouse on widget