连续模型的探索与应用
1. 微分方程求解
在处理微分方程时,我们常常会遇到难以精确求解的情况。例如,对于微分方程 $\frac{dx}{dt} = 1.0x(1 - \frac{x}{\sqrt{3000 - 100t}})$,使用 Mathematica 的 DSolve 无法得到精确解。此时,我们可以使用 NDSolve 进行数值求解。
1.1 使用 NDSolve 求解
以下是使用 NDSolve 求解上述微分方程的代码:
NDSolve[x'[t] == 1.0 x[t] (1 - (x[t] / (3000 - 100 t))^(1 / 2)), x[0] == 1000, x[t], {t, 0, 10}]
运行此代码后,返回的解为 {
{x[t] -> InterpolatingFunction[{0., 10.}, <>][t]}} 。虽然解是一个插值函数,但通过绘图(如图 5.50)可以更好地理解其行为。
1.2 精确解与数值解的比较
精确解能提供理论洞察,且不存在近似方法带来的误差问题。然而,大多数构造的微分方程无法得到精确解。数值求解器允许我们继续进行分析,但需要明确地将所有参数表示为数字,并给出所有必要的初始条件,而且在进行近似时总是存在误差。
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



