当给定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的原因是我将在稍后的代码中使用它们。谢谢你的帮助。
答案 0 :(得分:2)
该错误将您引向要寻找的内容:正在调用的符号。在Python语法中,这是一个符号,后跟一对括号,括号之间带有一个或多个参数。您可能打算在表达式的第一个参数中乘以r
:
>>> solve(r(acos(1.0-(y/r)))...
^__make that r*acos(1.0-(y/r))...
突出显示匹配括号的编辑器(例如repl.it上的Python代码在线编辑器)在这些情况下会很有帮助。括号既可以分组,也可以在跟随Python名称时充当传递给函数的参数的定界符。