一步一步建立直观
先预测,再点“演示本步”核对右图。每一步都重设到指定情形,随后可以自由修改参数。
01规则先告诉你下一瞬间往哪里走
微分方程给出当前位置对应的速度,而不是直接给出整条路线。右图的小箭头标示当地速度方向;选定一个初始点后,轨线必须处处沿着这些方向前进。先选择纯旋转场,比较沿轨线的切向方向与经过位置上的速度箭头是否一致。
02同一旋转可以叠加径向收缩
加入负的径向增长率,轨线向内盘旋。角度继续变化,半径却按指数缩小,因此“在转动”和“向平衡点靠近”并不冲突。这里使用有显式解的线性系统,便于把局部方程、整体轨迹和实时坐标三者直接核对。
03初值与稳定性是不同问题
把径向增长率改为正,同样的旋转伴随向外增长。拖动初始点可得到同一方程的另一条解;修改增长率则已经改变方程本身。靠近原点的初始状态能否始终保持接近,是稳定性问题,不能仅凭某个初值恰好静止来判断。
4.1.1 先知道变化规则,也能研究运动¶
很多问题先给出的不是位置公式,而是当前位置决定的速度。例如 说“量越大,单位时间的变化越大”。微分方程的未知对象是一条函数轨迹;初值告诉我们从哪里出发,变化规则告诉我们之后往哪里走。
在每个状态处画一根速度箭头,解曲线就必须沿箭头前进。即使没有简单显式解,也可观察平衡点、增长方向或长期趋势。二阶摆方程同时依赖角度和角速度,把它们合成状态 ,就能在相平面中画一阶系统的箭头。
4.1.2 公式解、几何观察与数值近似各做什么¶
猜测 后,对它求导并代回,能验证它满足方程与初值。但“找到了一个解”与“证明只有这一个解”仍是两件事,唯一性需要相应定理条件。
欧拉法在当前点沿速度走一个有限小步,再重新估计速度。它把局部直线近似串起来,并不精确遵循曲线;步长过大可能改变定性行为。减小步长并比较结果,是检查数值可信度的基本方式。
读本章时坚持三个层次:规则是什么,哪些轨迹符合规则,从初值能否确定唯一轨迹。方向场提供直觉,代回提供局部验证,分析定理给存在与唯一性保证。后续热方程会把有限维状态变成整条温度分布,但这种提问方式不变。
定义 4.1.1 线性平面速度场
考虑 、,其中 为常数。前者控制径向伸缩,后者控制角向转动。
命题 4.1.1 长度平方的增长只由径向项控制
沿任意可微解,。特别地, 时长度不变。
证明 · 展开纸笔推导
由乘积法则,导数为 。代入速度场,两个交叉项 与 抵消,剩下 。
因此转动不会单独改变长度,正负径向项则分别使长度平方增长或衰减。这是本线性系统的精确计算,并非任意速度场都可如此分离。
□
数学表述 4.1.1¶
与其先寻找闭式解,不如在每个状态处画出速度。解曲线必须始终沿着这些箭头前进;相空间把位置和速度合并为状态。
一阶系统写成 。二阶摆方程 可改写为 。
例 4.1.1 把概念用于具体计算
最简单的 有解 。若 ,它趋近零;若 ,非零初值的绝对值增大。
练习 4.1.1¶
的解?
展开解答与检查
,代回可直接检查。
Lean 对照 4.1.1 命题、证明与适用边界
完整验证 的导数等于 ;不是对所有微分方程的存在唯一性证明。
DifferentialEquations.exponential_solution
theorem exponential_solution (k t : ℝ) :
HasDerivAt (fun s : ℝ => Real.exp (k*s)) (k*Real.exp (k*t)) t := by
convert (Real.hasDerivAt_exp (k*t)).comp t ((hasDerivAt_id t).const_mul k) using 1
ring