3
私はこの微分方程式に特定の解を見つけることができませんでした。 M = 1000とkの差分方程式を解く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
= .2それは正しいが、私は、V(0)
Eq(f(t), 49000*(1-exp(-0.0002*t))
を返すべき= 0の場合の式は解く必要
Eq(f(t), C1*exp(-0.0002*t) + 49000.0)
を返します
これは十分に機能がありますか? – Kklj8
@JessieCotton私はSympyよりも他のPythonシンボリック数学パッケージについて知らない。しかし、私は上記の方法論が、diffの(一般的な)解の大半の場合には十分であると思う。 eq。閉じた形で見つけることができます。 – Stelios
この種のODEを解決する初期条件は、SymPyの次のバージョンhttps://github.com/sympy/sympy/pull/11264で実装する必要があります – asmeurer