SymPy未显示的微分方程解

在下面的代码中,我首先求解一个微分方程,但是,当我检查它是否为解时,似乎不是。 (以下代码返回False。)我在做什么错了?

import sympy as sy

t = sy.symbols('t')
y = sy.symbols('y',cls=sy.Function)

expr = y(t).diff(t,t) + 3*y(t).diff(t) + 2*y(t) - 4*t
solution = sy.dsolve(sy.Eq(expr,0)).rhs

print(expr.subs(y(t),solution).simplify() == 0)

a3345887 回答:SymPy未显示的微分方程解

您需要num_cities = City.objects.filter(name__iexact=city).count() 才能有效评估导数:doit()

expr.subs(y(t),solution).doit()

打印import sympy as sy t = sy.symbols('t') y = sy.symbols('y',cls=sy.Function) expr = y(t).diff(t,t) + 3*y(t).diff(t) + 2*y(t) - 4*t solution = sy.dsolve(sy.Eq(expr,0)).rhs print(expr.subs(y(t),solution).doit().simplify() == 0)

,

如果您只想检查解决方案,则可以使用checkodesol

>>> checkodesol(expr,solution)
(True,0)

(它会自动处理可能会使检查解决方案复杂化的简化和其他细节。)

本文链接:https://www.f2er.com/3115002.html

大家都在问