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