跳到正文
格致开物
MATHWIKI
探索
学科导航
学习路径
搜索
☾
登录
探索
学科导航
学习路径
随机漫游
希腊字母
关于本站
管理员登录
搜索
数学百科
/
知识地图
查看“︁微分方程”︁的源代码
←
微分方程
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于这些用户组的用户执行:
管理员
、aipublisher
您可以查看和复制此页面的源代码。
'''微分方程'''(differential equation)是含有未知函数及其[[导数]]的方程,用来规定一个量与其变化率之间的关系。解方程的目标是一条函数或一组函数,而不只是一个数。只有一个自变量的称为常微分方程(ordinary differential equation,ODE);涉及多个自变量及偏导数的称为偏微分方程(partial differential equation,PDE)。完整的问题还需要说明解所在的区间、初始或边界条件以及所要求的光滑程度。 == 从局部规律反推整个过程 == 普通求导从已知函数出发,例如从 <math>y(t)=e^{2t}</math> 得到 <math>y'(t)=2e^{2t}</math>。微分方程则从关系 <math>y'=2y</math> 出发,寻找满足它的函数。这条关系说明瞬时增长率始终是当前数量的两倍,却没有说明起始数量,所以 <math>e^{2t}</math>、<math>3e^{2t}</math> 和零函数都符合。 加入 <math>y(0)=3</math>,才选出对应的解 <math>y(t)=3e^{2t}</math>。方程给出演化规则,初值给出起点,两者不能互相替代。参数也不等于初值:改变增长系数会改变规律,改变起始数量则是在同一规律下选择不同轨迹。 实际建模往往先写有限时间内的收支关系,再除以时间长度并取极限。例如“物体储热变化率等于净热流”“水箱质量变化率等于流入减流出”都能产生微分方程。但从测量数据到连续函数、从复杂机制到少数参数,包含了理想化假设;这些假设必须与求解过程分开检查。 == 如何识别方程的结构 == 方程的'''阶数'''由出现的最高阶导数决定。<math>y'=ky</math> 是一阶,<math>y''+\omega^2y=0</math> 是二阶;<math>(y')^3+y=0</math> 仍是一阶,导数的幂次不等于求导次数。对于常微分方程,如果未知函数及其各阶导数只以一次形式出现,彼此不相乘,且系数只依赖自变量,就称为线性方程。 例如 <math>y'+t^2y=\sin t</math> 是线性的,虽然系数并不简单;<math>y'+y^2=0</math> 是非线性的。线性不是说解曲线一定是直线,而是说作用在未知函数上的运算符合线性结构。标准分类见 [https://www.jirka.org/diffyqs/html/classification_section.html Jiří Lebl,§0.3]。 <div class="math-table-scroll" role="region" aria-label="微分方程的结构比较" tabindex="0"> {| class="wikitable" ! 方程 !! 类型 !! 额外数据的典型形式 |- | <math>y'+p(t)y=q(t)</math> || 一阶线性常微分方程 || 一个初值 |- | <math>y'=ry(1-y/K)</math> || 一阶非线性、自治方程 || 一个初值与参数范围 |- | <math>y''+\omega^2y=0</math> || 二阶线性常微分方程 || 初始位置与初始速度 |- | <math>u_t=\kappa u_{xx}</math> || 热方程,偏微分方程 || 初始温度分布及边界条件 |} </div> “自治”表示右端不显含时间;这使相线与平衡点分析成为可能。“齐次”在线性方程中表示外加项为零,不能与其他语境下的齐次函数混淆。分类的用途是选择可用理论,而不是给每个方程贴完标签就算理解。 == 算例一:冷却方程从假设到验证 == 假设物体内部温度可视作均匀,环境温度 <math>T_a</math> 恒定,单位时间净散热使温差按比例减少,比例系数 <math>k>0</math> 近似不变。由此写出 <math display="block">\frac{dT}{dt}=-k(T-T_a),\qquad T(0)=T_0.</math> 负号表示高于环境时降温,低于环境时升温;<math>k</math> 的单位为时间的倒数。令温差 <math>u=T-T_a</math>,便有 <math>u'=-ku</math>。 为了不因除以 <math>u</math> 而漏掉零解,可直接乘积分因子 <math>e^{kt}</math>。由乘积法则,<math>(e^{kt}u)'=e^{kt}(u'+ku)=0</math>,所以 <math>e^{kt}u</math> 为常数。初值确定该常数为 <math>T_0-T_a</math>,得到 <math display="block">T(t)=T_a+(T_0-T_a)e^{-kt}.</math> 代回方程和初值都成立,验证完成。此推导也包含 <math>T_0=T_a</math> 时温度恒定的平衡解。 [[File:Gezhi-ode-cooling.svg|frame|center|alt=温度从八十摄氏度接近二十摄氏度环境温度,离散欧拉近似点与解析曲线相比较|连续曲线是理想冷却模型的解析解;离散点展示有限步长产生的数值误差。]] 取教学参数 <math>T_a=20</math> 摄氏度、<math>T_0=80</math> 摄氏度、<math>k=0.2</math> 每分钟,5 分钟后 <math>T(5)=20+60e^{-1}\approx42.07</math> 摄氏度。要降到 30 摄氏度,解 <math>60e^{-0.2t}=10</math>,得 <math>t=5\log6\approx8.96</math> 分钟。模型在有限时间内不会恰好达到环境温度,但仪器分辨率可能使剩余温差无法识别。 若环境温度也随时间变化,原来的简单指数式一般不再适用;方程会变成[[一阶线性微分方程]]。若物体内部存在显著温度梯度,就可能需要空间相关的热方程。公式的求解正确性不替代这些物理适用性检查。 == 算例二:振动需要两个初始数据 == 考虑 <math>y''+4y=0</math>,给定 <math>y(0)=3</math>、<math>y'(0)=-2</math>。由于 <math>\cos2t</math> 与 <math>\sin2t</math> 分别代入都满足方程,尝试 <math display="block">y(t)=A\cos2t+B\sin2t.</math> 第一个初值给出 <math>A=3</math>;求导后 <math>y'(0)=2B=-2</math>,所以 <math>B=-1</math>。于是解为 <math>y(t)=3\cos2t-\sin2t</math>。再次求二阶导数得到 <math>y''=-4y</math>,两项初值也均匹配。 仅证明这个表达式是解,还没有证明它是唯一的。对任意两个满足相同初值的解,令其差为 <math>w</math>,则 <math>w''+4w=0</math> 且初始位置、速度均为零。定义能量量 <math>E=(w')^2+4w^2</math>,有 <math>E'=2w'(w''+4w)=0</math>,故 <math>E</math> 恒为初值 0。平方项只能同时为零,所以 <math>w=0</math>,唯一性得到证明。 二阶方程的一般解在这个例子中有两个常数,对应位置和速度。对规则的高阶线性初值问题,有相应的一般存在唯一性定理;但不能把“几阶就总有几个任意常数”当作覆盖所有奇异非线性方程的无条件规律。 == 解为什么存在,为什么可能不唯一 == 一阶初值问题 <math>y'=f(t,y),y(t_0)=y_0</math> 等价于积分方程 <math display="block">y(t)=y_0+\int_{t_0}^t f(s,y(s))\,ds.</math> 若 <math>f</math> 在初始点附近连续,并在所取时间邻域内对 <math>y</math> 满足具有统一常数的局部 Lipschitz 条件,就能保证在某个小时间区间存在唯一解。常用的更容易检查的充分条件是 <math>f</math> 与偏导数 <math>\partial f/\partial y</math> 在邻域内连续。教材陈述见 [https://www.jirka.org/diffyqs/html/slopefields_section.html Lebl,§1.2.2]。 '''证明思路。''' 从常函数 <math>y_0</math> 开始,把上一次近似代入积分右侧,产生下一次近似。取足够短的时间区间,可以保证这些函数不跑出所讨论的矩形区域;Lipschitz 常数乘区间长度小于 1 时,两次近似之间的距离会被压缩。压缩映射原理给出唯一的不动点,也就是所求解。这是证明概要,完整论证需要连续函数空间的完备性与相应估计。 连续性本身不保证唯一。例如在 <math>t\ge0</math> 上,<math>y'=2\sqrt{|y|},y(0)=0</math> 有零解;对每个 <math>c\ge0</math>,先在 <math>0\le t\le c</math> 取零、再在 <math>t\ge c</math> 取 <math>(t-c)^2</math>,也得到可导的解。接合点两侧导数都是零,而右端不满足零附近的 Lipschitz 条件。初值没有选择出何时“离开零”的唯一时刻。 局部唯一也不保证解存在到所有时间。<math>y'=y^2,y(0)=1</math> 的解为 <math>y=1/(1-t)</math>,在 <math>t=1</math> 前趋于无穷,不能作为有限实值解穿过该时刻。这是有限时间爆破;它不违背局部定理,因为定理从未承诺无限长的存在区间。 == 不求闭式也能看懂:相线与稳定性 == 对自治方程 <math>y'=F(y)</math>,满足 <math>F(y_*)=0</math> 的常值解称为平衡解。把这些零点标在数轴上,在各间隔检查 <math>F</math> 的符号,便知道轨迹向增大还是减小的方向移动。若两侧箭头都指向平衡点,小扰动会被拉回;若都背离,平衡点不稳定。 在可微情况下,<math>F'(y_*)<0</math> 给出局部渐近稳定的充分条件,<math>F'(y_*)>0</math> 给出不稳定;导数为零时需要进一步分析。例如 <math>y'=-y^3</math> 的零点仍会吸引附近轨迹,而 <math>y'=y^3</math> 的零点则会排斥它们。线性化没有判定能力时,不能把“没有得到结论”当成“中性稳定”。 [[洛吉斯蒂模型]]利用相线解释零种群、承载量与单调趋近,不必先背出解公式。稳定性讨论的是附近轨迹随时间的变化;它不同于求解算法的数值稳定性,也不同于模型参数是否能从观测数据可靠估计。 == 数值解:离散近似也有自己的条件 == 显式欧拉法以步长 <math>h</math> 用当前切线推进: <math display="block">y_{n+1}=y_n+h f(t_n,y_n),\qquad t_{n+1}=t_n+h.</math> 在冷却模型中取 <math>h=1</math> 分钟,第一步得到 <math>T_1=80-0.2(80-20)=68</math>,而解析值约为 69.12 摄氏度。误差来自用整段切线变化代替逐渐减小的真实冷却率。 对温差 <math>u'=-ku</math>,迭代为 <math>u_{n+1}=(1-kh)u_n</math>。要使离散温差渐近衰减,需要 <math>|1-kh|<1</math>,即 <math>0<kh<2</math>;若还要求不出现正负交替的温差,需进一步限制 <math>0<kh\le1</math>。真实解始终从同一侧接近环境,不会来回穿越,离散计算却可能因步长不当表现出假振荡。 步长缩小、不同方法交叉检查、代回残差和守恒量检查,都能帮助发现计算问题,但不能单独证明模型符合现实。对于刚性方程,显式方法可能因稳定性要求被迫使用很小的步长;选择更合适的隐式方法往往比盲目增加小数位更有意义。 == 初值与边界值不是同一类约束 == 二阶方程通常可以在同一时刻给位置与速度,也可以在不同位置或时刻给两个函数值。这两种安排的理论性质不一样。例如 <math>y''+y=0</math> 的初值 <math>y(0)=0,y'(0)=1</math> 唯一确定 <math>y=\sin t</math>;但边界条件 <math>y(0)=0,y(\pi)=0</math> 允许所有 <math>C\sin t</math>,并不唯一。如果改为 <math>y(0)=0,y(\pi)=1</math>,则根本没有解。 因此“二阶方程给了两个数”还不足以判断存在唯一性,必须说明这些数是什么数据、放在哪里。边界值问题常与特征值、振动频率和空间约束联系,初值问题则更直接描述从一个状态出发的演化。偏微分方程中,边界条件的种类和几何区域还会进一步影响问题是否适定。 所谓适定,通常要求解存在、唯一,并对输入数据连续依赖。最后一项描述很小的观测或边界误差是否会引起不可控制的输出变化。一个问题即使形式上有唯一解,若恢复解的过程会无限放大噪声,实际计算仍可能困难;这在反问题中尤其需要留意。 == 把高阶方程改写成状态系统 == 对二阶方程 <math>y''+4y=0</math>,令 <math>x_1=y,x_2=y'</math>,即可写成两个一阶关系 <math>x_1'=x_2,x_2'=-4x_1</math>。状态 <math>(x_1,x_2)</math> 同时记录位置和速度,只知道位置通常不足以决定下一刻向哪里运动。 在状态平面中,量 <math>x_2^2+4x_1^2</math> 沿轨迹保持不变,因此非零轨迹位于椭圆上。这不是说时间图像也是椭圆;时间图像表示位置如何随时间起伏,状态轨迹表示位置与速度之间的关系。区分这两种图像,有助于理解相平面分析与通常函数图像的不同用途。 高阶规则方程都可以用增加状态变量的方式转成一阶系统。这让存在唯一性、数值算法和[[矩阵]]方法具有统一的语言。不过维数增加后,行为也可能比一维相线丰富,例如出现周期轨道;不能把一维自治方程的所有限制直接搬到高维系统。 == 方程残差很小意味着什么 == 对候选近似 <math>\widetilde y</math>,把它代回方程得到的差 <math>\widetilde y'-f(t,\widetilde y)</math> 称为残差。残差衡量它在局部多接近满足方程,却不单独保证它接近所需的初值解。候选可能满足方程非常精确,但用了错误的初值;也可能在不稳定系统中把很小的误差随时间放大。 例如 <math>y'=y,y(0)=1</math> 的真解为 <math>e^t</math>,而 <math>(1+\varepsilon)e^t</math> 的方程残差恰为零,却有绝对误差 <math>\varepsilon e^t</math>。这个误差完全来自初值,长时间后可能很大。数值检查因而应同时查看初值误差、局部残差和系统的传播性质。 解析解、相线、守恒量与数值细化提供不同层面的检查。它们相互支持,但没有哪一张光滑曲线能够代替所有验证。对于来源于数据的模型,参数不确定性往往还会超过数值截断误差;精细求解一个未校准的方程,并不会自动带来精确的现实预测。 初始时刻本身也应明确。写 <math>y(t_0)=y_0</math> 不要求 <math>t_0=0</math>;改变时间原点只是坐标选择,但系数若显含时间,也必须一起变换。例如季节性外力依赖绝对相位,不能只把初值移到零而忘记平移外力。对自治方程,时间平移后的轨迹仍满足同样形式;对非自治方程,一般没有这种不变性。 这种检查在整理不同来源的数据时尤其重要:观测开始时刻、物理过程开始时刻和模型的时间零点可以不同。正确的初始数据必须对应同一个状态与时间坐标,否则即使后面的积分与数值迭代没有错误,预测轨迹也会整体错位。 == 历史与概念关系 == 微分方程随十七世纪微积分和力学问题发展起来。雅各布·伯努利在 1690 年讨论等时线问题时将其化为一阶非线性微分方程;约翰·伯努利等人继续发展以积分处理微分方程的方法。这些具体工作见 [https://mathshistory.st-andrews.ac.uk/Biographies/Bernoulli_Jacob/ MacTutor:Jacob Bernoulli] 与 [https://mathshistory.st-andrews.ac.uk/Biographies/Bernoulli_Johann/ Johann Bernoulli]。 欧拉在十八世纪扩展了求解方法与数值近似,十九世纪研究进一步重视存在性、唯一性和定性行为。微分方程作为学科并非一位数学家“发现的一条公式”;求出特殊解、证明一般理论、建立物理模型和设计数值算法,分别是不同层面的贡献。 学习路线可以从[[导数]]、[[积分]]进入可分离方程与[[一阶线性微分方程]],再到高阶线性方程、[[矩阵]]表示的方程组和非线性动力系统。[[数学建模]]提供问题来源,[[数值积分]]所体现的误差思想则与数值解密切相关。 == English overview == <div lang="en" class="math-english-summary"> A differential equation constrains an unknown function through its derivatives. Ordinary equations use one independent variable; partial equations involve several. The equation alone often specifies a family of possible trajectories, while initial or boundary conditions select particular members. A complete solution includes its domain and must satisfy both the differential relation and the supplied data. Classification distinguishes order, linearity, and dependence on time. These properties guide methods but do not mean that every equation has a simple formula. Integrating factors solve first-order linear equations, whereas phase lines can reveal equilibrium behavior without an explicit solution. Existence and uniqueness require hypotheses: continuity alone may allow several solutions from the same initial value, and a unique local solution can still blow up in finite time. Numerical methods introduce another layer of reasoning. Euler's method follows a local tangent over a finite step, creating truncation error and step-size restrictions. Numerical stability should not be confused with stability of the underlying equilibrium. Finally, a mathematically correct solution validates the calculation within the chosen model, not the model's fit to reality. Physical assumptions, parameter estimation, and observational checks remain essential when differential equations are used to describe measured processes. </div> == 编者评注(AI 辅助) == 本站把“验证一个候选解”与“证明它是唯一解”分开,这是为了避免常见的推理跳步,属于本文的编辑判断。冷却算例展示模型与参数,振动算例展示初值和唯一性,非唯一与爆破例子则标出一般理论的边界。学会一种解法之后,仍应保留三个问题:解在哪个区间有效、是否遗漏平衡解、数值或物理解释是否超出了假设。能回答这些问题,比仅得到一个公式更接近理解微分方程。 == 来源与继续阅读 == * [https://www.jirka.org/diffyqs/html/classification_section.html Jiří Lebl,《Notes on Diffy Qs》§0.3]:方程分类。 * [https://www.jirka.org/diffyqs/html/slopefields_section.html 同书 §1.2]:存在唯一性与反例。 * [https://www.jirka.org/diffyqs/html/intfactor_section.html 同书 §1.4]:积分因子。 * [https://www.jirka.org/diffyqs/html/numer_section.html 同书 §1.7]:欧拉法。 * [https://mathshistory.st-andrews.ac.uk/Biographies/Bernoulli_Jacob/ MacTutor:Jacob Bernoulli];[https://mathshistory.st-andrews.ac.uk/Biographies/Bernoulli_Johann/ Johann Bernoulli]:早期发展。 [[分类:微分方程与动力系统]] [[分类:应用与建模]]
返回
微分方程
。