解析解
数值解
传染病
0 微分方程分类
微分方程是用来描述某一类函数与其导数之间关系的方程,
其解是一个符合方程的函数。微分方程按自变量个数可分为
常微分方程
和
偏微分方程
,前者表达通式
后者有两个以上的自变量,如:
1 微分方程解析解
具备解析解的ODE,我们可以利用SymPy库进行求解
以求解阻尼谐振子的二阶ODE为例,其表达式为:
www.tutorialspoint.com/sympy/
1 微分方程解析解
➢ 代码:
import numpy as np
from scipy import integrate
import sympy
def apply_ics(sol, ics, x, known_params):
free_params = sol.free_symbols – set(known_params)
eqs = [(sol.lhs.diff(x,n)-
sol.rhs.diff(x,n)).subs(x,0).subs(ics) for n in
range(len(ics))]
sol_params = sympy.solve(eqs, free_params)
return sol.subs(sol_params)
<续下页>
求解代数方程组,得
到自由参数表达式
替换自由参数后返回
解决结果
将x=0和ics中y(0)和
dy/dx(x=0)代入整体
解决公式中
评论0