Sin 函数不适用于微分方程
Sin function not working with Differential Equation
我正在尝试获取微分方程 y'=sin(x),但是我的微分方程不会 运行 进一步,因为我收到错误“无法将表达式转换为浮点数”。如果我将 numpy 与 np.sin(x) 一起使用,我会收到另一个错误“ufunc 循环不支持没有可调用 sin 方法的 Symbol 类型的参数 0”。这是代码:
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))
我正在尝试获取微分方程 y'=sin(x),但是我的微分方程不会 运行 进一步,因为我收到错误“无法将表达式转换为浮点数”。如果我将 numpy 与 np.sin(x) 一起使用,我会收到另一个错误“ufunc 循环不支持没有可调用 sin 方法的 Symbol 类型的参数 0”。这是代码:
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))