python - Sympy python 周长

标签 python sympy

我需要显示一个圆周。为了做到这一点,我认为我可以为很多 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 的值?

最佳答案

对我有用;也许解决方案就像升级一样简单?

>>> import sympy
>>> sympy.__version__
'0.7.2'
>>> 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])
[(0.500000000000000, -0.866025403784439), (0.500000000000000, 0.866025403784439)]

[尽管如果我需要画圆或弧,我会使用 r cos(theta), r sin(theta) 来代替,这样更容易获得正确的点顺序。]

关于python - Sympy python 周长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12959432/

相关文章:

python - 如何使用 Selenium 和 Chromedriver 查找元素

python - 将列表列表的列表展平为列表列表

python - 如何使用漂亮的汤解析表内表?

c# - C# 应用程序和 Python 应用程序之间通信的简单方法

python - 是否可以在 sympy 中实现牛顿点符号(或拉格朗日素数符号)?

python - 为什么不过滤(不是无,可迭代)?

python - 为什么我使用 solve 命令得到一个空列表作为我的输出?

python - sympy:如何保存 "solve"处的解决方案以供重复使用?

python - 如何在 Sympy 中查找表达式中的所有术语

sympy - 使用 sympy 求解指数方程?