sympy error - AttributeError:sqrt

时间:2014-07-18 15:42:47

标签: python numpy

我是Python的新手,我不断收到以下错误

..., line 27, in <module>
    eq=(p**2+2)/p/sqrt(p**2+4)
AttributeError: sqrt   

我尝试添加math.sqrtnumpy.sqrt,但这些都不起作用。有谁知道我哪里出错了?

我的代码是:

from numpy import *
from matplotlib import *
from pylab import *
from sympy import Symbol
from sympy.solvers import solve
p=Symbol('p')
eq=(p**2+2)/p/sqrt(p**2+4)
solve(eq,1.34,set=True)

2 个答案:

答案 0 :(得分:1)

sqrt在math模块中定义,以这种方式导入。这应该删除错误!

from math import sqrt

答案 1 :(得分:0)

你正在使用一个同情符号:你想要做数字sqrt(在这种情况下在实际数字上使用numpy.sqrt)或者你想要符号sqrt(在这种情况下使用sympy.sqrt)。每个导入都会替换当前命名空间中sqrt的定义,包括math,sympy或numpy。最好是明确而不是使用&#34; import *&#34;。

我怀疑从下面的行开始,你想在这里找到sympy.sqrt。