【发布时间】:2014-07-27 14:27:33
【问题描述】:
我想使用 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。
【问题讨论】:
-
您需要以某种自动化方式获取它吗?说
0 - np.sqrt(x)很容易。 -
或者只是
-np.sqrt(x) -
为什么不
x = np.linspace(-4.0, 4.0, 200); plt.plot(x**2, x)? -
可能你没有得到这个问题。有没有可能把两个根放在一起。假设我有一个函数,它的定义中有几个平方根。不可能为每次出现单独定义它们。人们,除非您确定问题的愚蠢性,否则请不要投反对票。至少等cmets回来吧。
-
@hbaromega:听起来您提出的实际问题与您想要回答的问题不同。 :-)
标签: python python-2.7 numpy sqrt