上下解的构造技巧

通过上下解/比较函数构造估计解的存在区间与爆破时间。

2026.01.12 · 3 min · evolving · 数学

在常微分方程(ODE)中,通过构造**比较函数(Comparison Functions)**来估计解的生存区间 \([0, \beta)\) 是一种经典的解析技巧。

构造的核心逻辑是:寻找一类初等函数,其导数形式与原方程的右端项 \(f(x, y)\) 在量级上匹配,且其爆破点(Singularity)易于计算。

以下是针对不同右端项增长速度的常见构造表:

1. 二次增长型(Ricatti 型微分不等式)

这是你遇到的类型,也是竞赛和考试中最常见的。

  • 特征形式: \(y' \approx y^2 + C\) 或 \(y' \approx (y+a)^2 + b^2\)
  • 推荐构造: 正切函数 \(\tan(kx + \theta)\)
  • 构造细节:
    • 若目标是证明 \(\beta \ge L\),构造 \(u(x) = A \tan(kx + \frac{\pi}{4}) + B\)。
    • 技巧: 利用 \((\tan x)' = 1 + \tan^2 x\)。通过调整频率 \(k\) 和相位,可以直接对齐爆破点。
    • 爆破点: 当内部参数达到 \(\pi/2\) 时爆破。

2. 超二次增长型(级数增长)

  • 特征形式: \(y' \approx y^p \quad (p > 1)\)
  • 推荐构造: 幂函数 \(u(x) = \frac{A}{(L-x)^\alpha}\)
  • 构造细节:
    • 令 \(\alpha = \frac{1}{p-1}\)。
    • 这类函数在 \(x = L\) 处爆破。
    • 例子: 对于 \(y' = y^3\),构造 \(u(x) = \frac{1}{\sqrt{2(L-x)}}\),因为 \(u' = \frac{1}{(2(L-x))^{3/2}} = u^3\)。

3. 指数增长型(非爆破,用于估计下界)

  • 特征形式: \(y' \approx Ay\)(线性增长)
  • 推荐构造: 指数函数 \(u(x) = y(0)e^{Ax}\)
  • 结论: 线性增长通常意味着解是全局存在的(\(\beta = \infty\))。但在某些有限区间问题中,可以用它来证明解增长得“不够快”。

4. 含有自变量 \(x\) 的交互影响

  • 特征形式: \(y' \approx x^n y^p + x^m\)
  • 推荐构造: 变系数构造或分段放大
  • 技巧:
    1. 先粗筛: 在区间 \([0, L]\) 上,将 \(x\) 替换为其最大值(如 \(x \le L\)),转化为上述的自治系统(Autonomous System)。
    2. 构造: \(u(x) = (A - Bx)^{-\alpha}\)。

综合构造对照表

原方程右端项 \(f(x, y)\) 的主导项推荐的上解 \(u(x)\) 形式爆破点 \(x_{blow-up}\) 计算适用场景
\(y^2 + k^2\)\(k \tan(kx + \frac{\pi}{4})\)\(x = \frac{\pi}{4k}\)证明存在区间的下界(如 \(\beta \ge \pi/4\))
\(y^p\) (\(p>1\))\(C(L-x)^{-\frac{1}{p-1}}\)\(x = L\)证明幂次增长型的爆破界限
\(e^y\)\(-\ln(L-x)\)\(x = L\)涉及指数级增长增长的方程
\(A y \ln y\)\(e^{C e^{Ax}}\)无有限爆破点验证 Osgood 条件或全局存在性
\(y^2 + x^2\)\(\tan(x + C)\) 或放缩为 \(y^2 + L^2\)视 \(C\) 而定含有自变量扰动的二次增长

专家建议(如何选择 \(K\) 和相位):

你在尝试 K tan(2x) - 1 时失败的根本原因在于待定系数法的匹配顺序。建议遵循以下流程:

  1. 先确定初值对齐: 设 \(u(x) = A \tan(kx + \phi) + B\)。首先令 \(x=0\), 确保 \(u(0) \ge y(0)\)。
  2. 再确定爆破位置: 如果题目要你证 \(\beta \ge L\),那么令 \(kL + \phi = \frac{\pi}{2}\)。
  3. 最后验证微分不等式: 计算 \(u'(x)\),看它是否满足 \(u' \ge f(x, u)\)。如果 \(u'\) 项太小,可以通过增大 \(A\) 或改变 \(k\) 来调整。

一个很有用的口诀:

  • 想证明“解能活得久”(\(\beta \ge \dots\)),就找一个跑得刚好够快的上解去罩住它。
  • 想证明“解死得早”(\(\beta \le \dots\)),就找一个跑得更快的下解去捅破它。

你的直觉中 tan(2x) 确实跑得很快,所以它更适合用来证明 \(\beta \leq \text{某个值}\)(作为下解),而不是证明 \(\beta \geq \text{某个值}\)。