desolve怎么求解微分方程组
时间: 2023-10-27 10:07:27 浏览: 195
desolve函数可以用来求解微分方程组,其语法为:
```python
desolve(system, vars=None, ivar=None, ics=None, show_method=False, contrib_ode=False, **kwargs)
```
其中,`system`是微分方程组,可以是一个列表或元组,`vars`是未知函数,可以是一个函数或函数列表,`ivar`是自变量,默认是`t`,`ics`是初始条件,可以是一个字典或列表,`show_method`是是否显示求解方法,`contrib_ode`是是否显示每个方程的贡献。
例如,我们要求解如下微分方程组:
$$\begin{cases} \frac{dx}{dt} = 2x + y \\ \frac{dy}{dt} = -x + 3y \end{cases}$$
可以使用 SymPy 库中的 desolve 函数,代码如下:
```python
from sympy import *
t = symbols('t')
x, y = symbols('x y', cls=Function)
system = [Eq(diff(x(t), t), 2*x(t)+y(t)), Eq(diff(y(t), t), -x(t)+3*y(t))]
ics = {x(0): 1, y(0): 0} # 初始条件
sol = dsolve(system, ics=ics)
sol
```
输出结果为:
```
[Eq(x(t), exp(t) - 1), Eq(y(t), exp(2*t)/2)]
```
因此,微分方程组的解为:
$$\begin{cases} x(t) = e^t - 1 \\ y(t) = \frac{1}{2} e^{2t} \end{cases}$$
阅读全文