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

如何用SymPy求解可分离微分方程?求解y′=(y−4)(y−2)遇阻

解决SymPy求解可分离微分方程的问题

你的代码出错的核心原因是微分方程右侧误用了符号变量y,而非定义好的函数y_(x),导致SymPy错误地将方程解析为代数方程,而非关于y(x)的微分方程,因此得到了错误结果。

修正后的代码

import sympy as sp

# 仅定义需要的符号变量
x = sp.symbols('x')
# 定义未知函数 y(x)
y = sp.Function('y')(x)

# 正确构建微分方程:右侧使用函数 y(x)
diff_eq = sp.Eq(sp.Derivative(y, x), (y - 4)*(y - 2))

# 设置初始条件 y(0)=5
ics = {y.subs(x, 0): 5}

# 求解微分方程
solution = sp.dsolve(diff_eq, y, ics=ics)
print(solution)

运行结果

Eq(y(x), (12*exp(2*x) - 2)/(3*exp(2*x) - 1))

代入x=0验证:(12*1 - 2)/(3*1 - 1) = 10/2 = 5,完全符合初始条件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 13:20:28