![](/img/trans.png)
[英]How do I print a list of the first 1000 (Square Roots, Cube Roots, Fourth Roots, and Fifth Roots) in Python?
[英]How to get both (plus and minus) square roots
我想使用 python 找到一个数字的两个平方根。 我的简单代码是:
#!/usr/bin/env python
import numpy as np
x = 4.0
print 'Square roots of',x,'are:',np.sqrt(x)
这给了我以下输出:
Square roots of 4.0 are: 2.0
但我也想在答案中看到-2.0
,即 4 的平方根将是 +/- 2,而不仅仅是 +2。
在更广泛的问题中,我想绘制一个函数f(x)=sqrt(x)
。 我想一次捕捉抛物线的两个分支。 现在的代码是:
#!/usr/bin/env python
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(0.0, 16.0, 0.2)
f = np.sqrt(x)
plt.plot(x, f)
plt.show()
它不绘制负 y 轴中的值。 是否可以在不玩任何技巧的情况下这样做(例如,第二次绘制并为其分配减号)? 我没有必要使用numpy
。
我认为 OP 对此有点困惑:4 的平方根是 +/-2,为什么numpy.sqrt
只给出正数?
但这在函数描述中明确定义:
Returns
-------
y : ndarray
An array of the same shape as `x`, containing the positive
square-root of each element in `x`. ...
您可以通过在 python shell 中使用numpy.info(numpy.sqrt)
来查看此消息。
由于每个正数都有一对平方根,如果你想把它们全部打印出来,只需将你的print
语句更改为:
print 'Square roots of',x,'are: +/-',np.sqrt(x)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.