常微分方程(ODE)

操作界面简洁友好,无需精通复杂编程,可视化的输入,快速获得解析解。

一阶线性微分方程

一阶线性微分方程的基本形式:

$$ a_0(x)\frac{dy}{dx} + a_1(x)y = f(x)$$

这里$y$是未知函数,$x$是自编量,$y$的最高幂是一次幂。在方程两边同时除以$a_0(x)$得到:

$$ \frac{dy}{dx} + \frac{a_1(x)}{a_0(x)}y = \frac{f(x)}{a_0(x)}$$

令$P(x) = \frac{a_1(x)}{a_0(x)}, Q(x) = \frac{f(x)}{a_0(x)}$,那么一阶线性微分方程的标准形式为:

$$ \frac{dy}{dx} + P(x)y = Q(x)$$

当$Q(x) = 0$是齐次方程,$Q(x) \neq 0$是非齐次方程。在QkCalc中,求解一阶线性微分方程通过“常微分方程”菜单中的“一阶线性微分方程”来完成,它的输入如下:

$$ \LARGE \begin{cases} \frac{d\color{red}y}{d\color{#08c365}x} + P\cdot y = Q\cdot x \\ {\color{red}y}({\color{red}x}) = \Box \end{cases}$$

你可以根据需要修改其中的符号$y,x$,并将$P\cdot y$和$Q \cdot x$修改成你需要的表达式。$\Box$位置输入函数的初值,如果没有初值,则空着。下面是求解一个一阶线性微分方程的例子:

$$ \begin{cases} x\frac{d\color{red}y}{d\color{#08c365}x} + y = \sin(x) \\ {\color{red}y}({\color{red}x}) = \Box \end{cases}$$

在QkCalc中显示的求解结果是该方程的通解,包含常数$C$:

$$ -\frac{\cos(x)}{x} + \frac{C}{x} $$

下面是一个带有初值的一阶线性微分方程,它表示当$y(0) = 0,x=0$:

$$ \begin{cases} \frac{d\color{red}y}{d\color{#08c365}x} + y = e^{-x}\cos(x) \\ {\color{red}y}({\color{red}0}) = 0 \end{cases}$$

在QkCalc中显示的求解结果是该方程的特解:

$$ e^{-x}\sin(x)$$

伯努利(Bernoulli)方程

伯努利微分方程的基本形式:

$$ \frac{dy}{dx} + P(x)y = Q(x)y^n \quad (n\neq 0, 1)$$

这里$P(x),Q(x)$是关于$x$的表达式,与一线线性微分方程一样,可为常数。其中$y^n$幂指数要求大于1, 在QkCalc中,求解一阶线性微分方程通过“常微分方程”菜单中的“伯努利方程”来完成,它的输入如下:

$$ \LARGE \begin{cases} \frac{d\color{red}y}{d\color{#08c365}x} + P\cdot y = Q\cdot x\cdot y^2 \\ {\color{red}y}({\color{red}x}) = \Box \end{cases}$$

这里默认的是$y^2$,你可以根据需要修改其中的指数项,也可以修改$P(x),Q(x)$等。下面是求解一个伯努利方程的例子:

$$ \begin{cases} \frac{d\color{red}y}{d\color{#08c365}x} - y = x\cdot y^5 \\ {\color{red}y}({\color{red}x}) = \Box \end{cases}$$

在QkCalc中显示的求解结果是该方程的通解,包含常数$C$:

$$ \frac{1}{y^4} = \frac{1}{4} - x + e^{-4x}C $$

该方程的解是一个隐式解。

下面是逻辑斯谛人口增长的通用模型微分方程

$$ \frac{dx}{dt} = rx(1 - \frac{x}{M}) $$

其中常数$r$为种群(人口)增长率,$M$为环境承载力。方程中,早期的几乎无阻力的增长率来自$+rx$。增长率$r$代表种群(人口)数量$x$在一个单位时间内的增长比例。经过变换后就是一个伯努利方程:

$$ \frac{dx}{dt} - rx = -\frac{r}{M}x^2 $$

在QkCalc中,该方程可表示为:

$$ \LARGE \begin{cases} \frac{d\color{red}x}{d\color{#08c365}t} = rx(1 - \frac{x}{M}) \\ {\color{red}x}({\color{red}0}) = x_0 \end{cases}$$

注意该方程设定了初值$t=0$时,$x=x_0$,QkCalc中的特解显示为:

$$\frac{1}{x} = \frac{1+\frac{M-x_0}{e^{rt}x_0}}{M} \implies x = \frac{x_0M}{x_0 - (x_0 - M)e^{-rt}}$$

全微分方程

全微分方程基本形式:

$$ M(x,y)dx + N(x,y)dy = 0$$

在QkCalc中,通过“常微分方程”菜单中的“全微分方程”来完成,它的输入如下:

$$ \LARGE (\Box)dx + (\Box)dy = {\color{red}0}$$

在$\Box$中输入表达式,等号后面的零不可以修改。例如:

$$ (5x^4+3xy^2-y^3)dx + (3x^2y-3xy^2+y^2)dy=0$$

在QkCalc中显示的求解结果是该方程的通解,包含常数$C$:

$$ x^5+\frac{3}{2}x^2y^2-xy^3+\frac{1}{3}y^3=C $$

在计算全微分之前,系统会先确定下列的条件是否成立,如果不成立,则无法求解,结果返回的是原表达式。

$$ \frac{\partial M}{\partial y} = \frac{\partial N}{\partial x} $$

高阶微分方程

在QkCalc中,菜单“常微分方程”中的“高阶微分方程”提供了求解高阶微分方程的输入模板:

$$ \LARGE \frac{d^{\color{red}2}y}{dx^{\color{red}2}} = {\color{red}f}$$

系统默认的阶数是2,用户可以根据需要修改阶数、未知函数符号、自变量符号和方程右端的$f$也可以输入。在QkCalc中,上述高阶微分方程的计算结果为:

$$y=C_1x+C_2+\frac{1}{2}fx^2$$

其中$C_1,C_2$表示常数。因为求解时经过了两次积分,所以有两个常数。在很多时候,高阶微分方程除了存在高阶求导符号$\frac{d^2y}{dx^2}$外,还需要一阶求导符号$\frac{dy}{dx}$,例如:

$$ \begin{cases} \frac{d^2y}{dx^2} \cdot x + 3\cdot \frac{dy}{dx} = 0 \\ y(x) \end{cases} $$

上述方程中的$\frac{dy}{dx}$表达式可通过插入“常微分方程”->“微分方程元素”分类中的“一阶导数”表达式来实现。

二阶常系数齐次线性微分方程

在QkCalc中,菜单“常微分方程”中的“常系数齐次线性微分方程”提供了求解该微分方程的输入模板:

$$ \LARGE \frac{d^{\color{red}2}y}{dx^{\color{red}2}} + p \frac{d\color{red}y}{d{\color{red}x}} + q{\color{red}y} = {\color{red}0}$$

其中$p,q$是常数,方程式右边为0.常系数齐次线性微分方程的特征方程是:

$$ r^2 + pr + q = 0 $$

根据特征方程的解的不同,方程的通解也不同,当特征方程有两个不同的实根$r_1,r_2$,那么方程的通解是:

$$ y = C_1e^{r_1x} + C_2e^{r_2x} $$

如果特征方程有二重根$r_1=r_2=r$,那么方程的通解是:

$$ y=C_1e^{rx} + C_2xe^{rx} $$

如果特征方程有一对共轭复根$r=\alpha \pm \beta i$,那么方程的通解是:

$$ y = e^{\alpha x}(C_1\cos \beta x + C_2 \sin \beta x)$$

例如,在QkCalc中,下面的方程:

$$ 4\frac{d^2y}{dx^2} - 20\frac{dy}{dx} + 25y= 0 $$

通解是:

$$ y=C_1e^{\frac{5}{2}x} + C_2xe^{\frac{5}{2}x}$$

二阶常系数非齐次线性微分方程

在QkCalc中,菜单“常微分方程”中的“常系数非齐次线性微分方程”提供了求解该微分方程的输入模板:

$$ \LARGE \frac{d^{\color{red}2}y}{dx^{\color{red}2}} + p \frac{d\color{red}y}{d{\color{red}x}} + q{\color{red}y} = {\color{red}f}$$

其中$p,q$是常数,$f$是自由项,它是一个关于$x$的多项式与$e^{\lambda x}$的乘积。在QkCalc中,这里的$f$是一个常数。常系数非齐次线性微分方程一般的形式是:

$$ \begin{equation} \LARGE \frac{d^2y}{dx^2} + p\frac{dy}{dx} + qy = P_m(x)e^{\lambda x} \end{equation}$$

这是$\large I$型自由项常系数非齐次线性微分方程。$P_m(x)$是$m$次多项式,它的通解是:

$$ y = Y + y^{\star}$$

其中$Y$是对应齐次方程的通解,$y^{\star}$是方程的特解,特解的形式为:

$$ y^{\star} = x^kQ_m(x)e^{\lambda x}, k = \begin{cases} 0 & 当\lambda不是特征根 \\ 1 & 当\lambda是特征单根 \\ 2 & 当\lambda是特征重根 \end{cases} $$

在QkCalc中,下面的方程:

$$ \frac{d^2y}{dx} + y = 2x^2-3 $$

通解是:

$$ y=C_1\cos(x) + C_2\sin(x) + 2x^2-7 $$

这里的通解$Y=C_1\cos(x) + C_2\sin(x)$,特解$y^{\star} = 2x^2-7$

$\large II$型自由项常系数非齐次线性微分方程的一般形式为:

$$ \LARGE \frac{d^2y}{dx^2} + p\frac{dy}{dx} + qy = e^{\lambda x}[P_l(x)\cos(\omega x) + P_n(x)\sin(\omega x)]$$

例如,下面的都是这种方程:

$$ \frac{d^2y}{dx^2} + p\frac{dy}{dx} + qy = \cos(\omega x)$$

$$ \frac{d^2y}{dx^2} + p\frac{dy}{dx} + qy = x\cos(\omega x)$$

$$ \frac{d^2y}{dx^2} + p\frac{dy}{dx} + qy = xe^{\lambda x}\sin(\omega x)$$

$$ \frac{d^2y}{dx^2} + p\frac{dy}{dx} + qy = e^{\lambda x}[(x+1)\cos(\omega x) + x^2\sin(\omega x)]$$

特点是必须含有三角函数。例如下面的方程:

$$ \begin{cases} \frac{d^2y}{dx^2} + y = x\cos(2x) \\ y(x) \end{cases} $$它的解是:

$$ y = C_1\cos(x) + C_2\sin(x) - \frac{1}{3}\cos(2x)x + \frac{4}{9}\sin(2x)$$

欧拉方程

在QkCalc中,菜单“常微分方程”中的“欧拉方程”提供了求解该微分方程的输入模板:

$$ \LARGE x^2\frac{d^{\color{red}2}y}{dx^{\color{red}2}} + x \frac{d\color{red}y}{d{\color{red}x}} + y = 0 $$

欧拉方程一般的形式是:

$$ \LARGE p_nx^ny^{(n)} + p_{n-1}x^{n-1}y^{(n-1)} + \dots + p_1xy' + p_y = f(x) $$

根据欧拉方程的求解方式,令$x=e^t, t = \ln(x)$,引入记号$D = \frac{d}{dt}$

$$ D^k = \frac{d^k}{dt^k} (k=1,2,3,\dots) $$

将原方程式转换为:

$$ x^ky^{(k)} = D(D-1)\dots(D-k+1)y \quad (k=1,2,3,\dots)$$

得到一个以$y$为未知函数,$t$为自变量的常系数线性微分方程:

$$ p_n\frac{d^ny}{dt^n} + p_{n-1}\frac{d^{n-1}y}{dt^{n-1}} + \dots + p_1\frac{dy}{dt} + p_0y = f(e^t) $$

例如:

$$ x^2\frac{d^2y}{dx^2} + 4x\frac{dy}{dx} + 2y = 0$$

在QkCalc中的求解结果为:

$$ y=\frac{C_1}{x} + \frac{C_2}{x^2}$$