Python使用dsolve求解含比例常数k的微分方程的代码修改方法
修改方案
sympy进行符号运算前需要先声明所有参与运算的未知量,你只需要新增k的符号声明、修改微分方程表达式即可,修改后的完整代码如下:
import sympy as sp # 声明所有需要用到的符号变量,新增比例常数k t, k = sp.symbols('t k') x = sp.Function('x') # 修改微分方程右侧为k乘以x(t),匹配dP/dt=kx(t)的形式 deq = sp.Eq(sp.diff(x(t), t), k * x(t)) xsoln = sp.dsolve(deq, x(t)) sp.pprint(xsoln)
运行后输出的通解为:x(t) = C₁⋅ℯ^(k⋅t)
如果你需要匹配方程里的未知函数名P,把函数定义修改为P = sp.Function('P'),后续将所有x(t)替换为P(t)即可。
内容的提问来源于stack exchange,提问作者Aaron Horowitz
相关产品推荐
相关产品推荐

