我想使用 Sympy 求解微分矩阵方程:
du/dt = [[0,1],[1,0]]u
,初始值为 u(0) = [[4],[2]]
。
答案是
所以完整的最终答案是:
3e^t[[1],[1]] + e^{-t}[[1],[-1]]
如何使用 SymPy 解决这个问题?
这可以通过 dsolve_system 来实现:
代码:
from sympy import symbols, Eq, Function, init_printing
from sympy.solvers.ode.systems import dsolve_system
init_printing()
u1, u2 = symbols("u1 u2", cls=Function)
t = symbols("t")
eqs = [
Eq(u1(t).diff(t), u2(t)),
Eq(u2(t).diff(t), u1(t))
]
funcs = [u1(t), u2(t)]
solutions = dsolve_system(eqs, ics={u1(0): 4, u2(0): 2})
solutions[0]
输出:
乳胶输出:
\left[ u_{1}{\left(t \right)} = 3 e^{t} + e^{- t}, \ u_{2}{\left(t \right)} = 3 e^{t} - e^{- t}\right]