我试图得到微分方程 y'=sin(x) 但我的微分方程将无法进一步运行,因为我收到错误“无法将表达式转换为浮点数”。如果我将 numpy 与 np.sin(x) 一起使用,则会收到另一个错误“ufunc 的循环不支持没有可调用 sin 方法的 Symbol 类型的参数 0”。这是代码:import sympy as symfrom math import *x = sym.symbols('x')y = sym.Function('y')diffeq = sym.Eq(y(x).diff(x), sin(x))如果有人能告诉我哪里出错了,那将是一个很大的帮助,因为它看起来很简单......
1 回答
喵喔喔
TA贡献1735条经验 获得超5个赞
您打电话时sin()
提出了一个它不支持的论点。math.sin()
必须将数值作为其唯一参数。
我认为要解决这个问题,您只需要传递函数的名称而不是调用它:
diffeq = sym.Eq(y(x).diff(x), sin)
否则,您需要使用sym.sin
而不是math.sin
:
diffeq = sym.Eq(y(x).diff(x), sym.sin(x))
添加回答
举报
0/150
提交
取消