求解简单的矩阵微分方程

问题描述 投票:0回答:1

我想使用 Sympy 求解微分矩阵方程:

du/dt = [[0,1],[1,0]]u
,初始值为
u(0) = [[4],[2]]

答案是

所以完整的最终答案是:

3e^t[[1],[1]] + e^{-t}[[1],[-1]]

如何使用 SymPy 解决这个问题?

python matrix sympy linear-algebra differential-equations
1个回答
0
投票

这可以通过 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]
© www.soinside.com 2019 - 2024. All rights reserved.