Python解微分方程
微分方程回顾
微分方程:python 解析解(SymPy)
微分方程:python数值解(SciPY)
微分方程组:python数值解
微分方程回顾
微分方程是用来描述某一类函数与其导数之间的关系的方程,其解是一个符合方程的函数。(解为常数值的是代数方程)
微分方程的求解是研究微分方程的重点之一,例如解是否存在,存在是否唯一等等。只有少数类型的微分方程存在解析解;无法求得解析解时,可以求数值解(用程序做数值分析),以此确认其解的部分性质。
微分方程按自变量的个数可分为常微分方程(Ordinary Differential Equations)和偏微分方程(Partial Differential Equations),前者只有一个自变量,表达通式形如
f ( d n y d x n , d ( n − 1 ) y d x ( n − 1 ) , . . . , d y d x , y ) = p ( x ) . f(\frac{d^ny}{dx^n}, \frac{d^{(n-1)}y}{dx^{(n-1)}} ,...,\frac{dy}{dx}, y) =p(x) .f(dxndny,dx(n−1)d(n−1)y,...,dxdy,y)=p(x).
后者有两个及以上自变量,例如∂ ϕ ∂ x + x ∂ ϕ ∂ y = 0. \frac{\partial \phi}{\partial x} + x\frac{\partial \phi}{\partial y} = 0.∂x∂ϕ+x∂y∂ϕ=0.
以常微分方程为例讲一下常见的一些概念,其中包括 (非)齐次,常(变)系数,(非)线性 。
如果第一个公式里左侧为线性微分方程(前提条件),且右侧的p ( x ) = 0 p(x)=0p(x)=0,则为齐次线性微分方程,否则非齐次。出现齐次概念的另一个场合是一阶微分方程f ( x , y ) d y = g ( x , y ) d x f(x,y) dy = g(x,y)dxf(x,y)dy=g(x,y)dx,具体可以参见Wikipedia 齐次微分方程。简单来说,如果方程的解是齐次函数,那么这个方程就是齐次方程。
常系数和变系数就看函数及其各阶导数前系数是否为常数。
线性,则取决于函数本身是否线性以及函数是否与其导数有乘积,跟自变量无关。
例如:
非齐次二级线性微分方程:d 2 y d x 2 + x d y d x + x y = x + 1 \frac{d^2y}{dx^2} +x\frac{dy}{dx}+xy = x+1dx2d2y+xdxdy+xy=x+1
谐振子齐次二阶常系数微分方程:
d 2 u d x 2 + ω 2 u = 0 \frac{d^2u}{dx^2} +\omega ^2u = 0dx2d2u+ω2u=0
单摆二阶非线性微分方程:L d 2 u d x 2 + g s i n ( u ) = 0 L\frac{d^2u}{dx^2} +g sin(u) = 0Ldx2d2u+gsin(u)=0
一阶非线性微分方程: