You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python使用SymPy时报'Symbol' object is not callable错误如何解决

报错根因

'Symbol' object is not callable报错是因为你使用了SymPy已废弃的特性:旧版本中symbols('x, y', function=True)可以返回可调用的函数对象,新版本中该参数不再生效,返回的是普通符号对象,无法执行x(t)这类函数调用操作。

修复方案

SymPy当前版本专门使用Function类定义可调用的函数符号,修复后的完整代码如下:

from sympy import symbols, Eq, Derivative, Function

# 定义自变量t
t = symbols('t', real=True)
# 定义x、y为绑定自变量t的函数符号
x = Function('x')(t)
y = Function('y')(t)

# 构造微分方程组
eq = (
    Eq(Derivative(x, t), 12*t*x + 8*y),
    Eq(Derivative(y, t), 21*x + 7*t*y)
)

如果需要后续复用未绑定自变量的函数定义,也可以按以下写法声明:

x = Function('x')
y = Function('y')
# 后续使用时再传入自变量即可,如x(t)、Derivative(x(t), t)

验证

修改后运行代码不会再触发该报错,可直接调用dsolve(eq)求解该微分方程组。

内容的提问来源于stack exchange,提问作者Tatanik501

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.12 06:54:03