3
我一直无法找到这个微分方程的特定解。求解微分方程Sympy
from sympy import *
m = float(raw_input('Mass:\n> '))
g = 9.8
k = float(raw_input('Drag Coefficient:\n> '))
v = Function('v')
f1 = g * m
t = Symbol('t')
v = Function('v')
equation = dsolve(f1 - k * v(t) - m * Derivative(v(t)), 0)
print equation
对于m = 1000和K = 0.2,它返回
Eq(f(t), C1*exp(-0.0002*t) + 49000.0)
这是正确的,但我想要的方程求解当v(0)= 0,这应返回
Eq(f(t), 49000*(1-exp(-0.0002*t))
此作品不够好,是否有任何Python包,会做如何寻找特定的解决方案微分方程的一个更好的工作? – Kklj8
@JessieCotton我不知道任何其他python符号数学包比sympy。但是,我认为上述方法对于差异(通常)解决方案的大多数情况来说已经足够了。 EQ。可以封闭的形式找到。 – Stelios
解决此类ODE的初始条件应在SymPy的下一个版本中实现https://github.com/sympy/sympy/pull/11264 – asmeurer