sympy错误“符号”对象不可调用

时间:2019-12-08 20:43:06

标签: python symbols sympy solver

当给定x和y的值时,我正在尝试求解r的方程。为此,我正在使用sympy的求解能力。我的代码是

import numpy as np
import matplotlib.pyplot as plt
from sympy import solve
from sympy import Symbol
from sympy import acos,sin

x=2
y=-2
r=Symbol("r",real=True)
solve(r(acos(1.0-(y/r)))-sin(acos(1.0-(y/r)))-x)

当我运行代码时,它给我错误

'Symbol' object is not callable
line 10, in <module>
    solve(r(acos(1.0-(y/r)))-sin(acos(1.0-(y/r)))-x)

我导入numpy和matplotlib的原因是我将在稍后的代码中使用它们。谢谢你的帮助。

1 个答案:

答案 0 :(得分:2)

该错误将您引向要寻找的内容:正在调用的符号。在Python语法中,这是一个符号,后跟一对括号,括号之间带有一个或多个参数。您可能打算在表达式的第一个参数中乘以r

>>> solve(r(acos(1.0-(y/r)))...
           ^__make that r*acos(1.0-(y/r))...

突出显示匹配括号的编辑器(例如repl.it上的Python代码在线编辑器)在这些情况下会很有帮助。括号既可以分组,也可以在跟随Python名称时充当传递给函数的参数的定界符。