python解一阶常微分方程
时间: 2023-11-13 18:58:55 浏览: 36
可以使用Python中的scipy库来解一阶常微分方程。具体步骤如下:
1. 导入必要的库
```python
from scipy.integrate import solve_ivp
import numpy as np
```
2. 定义微分方程
例如,我们要解 $y' = -2y$,可以这样定义:
```python
def fun(t, y):
return -2 * y
```
其中,t 是自变量,y 是因变量。
3. 定义初始条件
例如,当 $t=0$ 时,$y=1$,可以这样定义:
```python
y0 = [1]
```
4. 定义求解区间
例如,我们要求解 $t\in[0, 5]$ 的微分方程,可以这样定义:
```python
t_span = [0, 5]
```
5. 求解微分方程
```python
sol = solve_ivp(fun, t_span, y0)
```
6. 输出结果
```python
print(sol.y[0])
```
完整代码如下:
```python
from scipy.integrate import solve_ivp
import numpy as np
def fun(t, y):
return -2 * y
y0 = [1]
t_span = [0, 5]
sol = solve_ivp(fun, t_span, y0)
print(sol.y[0])
```
输出结果为:
```
[1. 0.60653066 0.36787944 0.22313016 0.13533528 0.08208499]
```
这是在 $t\in[0, 5]$ 区间内的 $y$ 值。