因此,要求解例 10.6,我们可以使用
dsolve(diff(x,t) == –4*x)
MATLAB 返回的答案是 C1*exp(–4*t)。C1 表示一个任意常数。其原因将在下一节中变得清楚。要求解例 10.7,我们可以使用
syms x(t) lambda dsolve(diff(x,t,2) + lambda^2*x == 0)
10.4.2 通解与特解
例 10.6 和例 10.7 也说明了用这种方法求解方程的一个陷阱。函数 $x(t) = e^{-4t}$ 当然是例 10.6 中方程的一个解,但函数 $x(t) = Ae^{-4t}$ 也是它的解,其中 $A$ 是一个任意常数。函数 $x(t) = \sin \lambda t$ 当然是例 10.7 中方程的一个解,但函数 $x(t) = A \sin \lambda t + B \cos \lambda t$ 也是它的解,其中 $A$ 和 $B$ 是任意常数。微分方程通常都具有这一性质——满足微分方程的最一般的函数包含一个或多个任意常数。这样的函数被称为该微分方程的通解。给通解中的常数赋予特定的数值,就得到方程的一个特解。通解中任意常数的个数通常等于微分方程的阶数。
例 10.8 求微分方程的通解
$$\frac{d^2 x}{dt^2} = t - 3e^{3t}$$
解 这个微分方程可以通过对两边积分两次来求解,注意每次对右边积分时都会引入一个未知的积分常数。因此,对
$$\frac{d^2 x}{dt^2} = t - 3e^{3t}$$
我们有两次
$$\frac{dx}{dt} = \frac{1}{2}t^2 - e^{3t} + A$$
和
$$x(t) = \frac{1}{6}t^3 - \frac{1}{3}e^{3t} + At + B$$
该解包含两个任意常数, $A$ 和 $B$ 。方程 $\frac{d^2x}{dt^2} = t - 3e^{3t}$ 是一个二阶微分方程,因此按照一般规则,我们预期会有两个常数。