我需要显示一个周长。为了做到这一点,我认为我可以计算很多x的y的两个值,所以我这样做了:
import sympy as sy
from sympy.abc import x,y
f = x**2 + y**2 - 1
a = x - 0.5
sy.solve([f,a],[x,y])这就是我得到的:
Traceback (most recent call last):
File "<input>", line 1, in <module>
File "/usr/lib/python2.7/dist-packages/sympy/solvers/solvers.py", line 484, in
solve
solution = _solve(f, *symbols, **flags)
File "/usr/lib/python2.7/dist-packages/sympy/solvers/solvers.py", line 749, in
_solve
result = solve_poly_system(polys)
File "/usr/lib/python2.7/dist-packages/sympy/solvers/polysys.py", line 40, in
solve_poly_system
return solve_biquadratic(f, g, opt)
File "/usr/lib/python2.7/dist-packages/sympy/solvers/polysys.py", line 48, in
solve_biquadratic
G = groebner([f, g])
File "/usr/lib/python2.7/dist-packages/sympy/polys/polytools.py", line 5308, i
n groebner
raise DomainError("can't compute a Groebner basis over %s" % domain)
DomainError: can't compute a Groebner basis over RR如何计算y的值?
发布于 2012-10-19 13:33:26
您还可以使用有理数来获得准确的答案(并避免这种错误)
In [22]: a = x - Rational(1,2)
In [23]: sy.solve([f,a],[x,y])
Out[23]:
⎡⎛ ___⎞ ⎛ ___⎞⎤
⎢⎜ -╲╱ 3 ⎟ ⎜ ╲╱ 3 ⎟⎥
⎢⎜1/2, ──────⎟, ⎜1/2, ─────⎟⎥
⎣⎝ 2 ⎠ ⎝ 2 ⎠⎦https://stackoverflow.com/questions/12959432
复制相似问题