如何解决正弦函数不适用于微分方程
我试图获取微分方程y'= sin(x),但是由于出现错误“无法将表达式转换为浮点数”,我的微分方程将不再运行。如果我将numpy与np.sin(x)一起使用,则会收到另一个错误“ ufunc循环不支持Symbol类型的参数0,该参数没有可调用的sin方法”。这是代码:
import sympy as sym
from math import *
x = sym.symbols('x')
y = sym.Function('y')
diffeq = sym.Eq(y(x).diff(x),sin(x))
如果有人可以告诉我我要去哪里,那将是很大的帮助,因为它看起来很简单....
解决方法
您正在使用不支持的参数调用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))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。