二阶常系数线性微分方程:特征方程与待定系数法完全指南
先说明一下这题目我在给学生辅导时被问过无数次。刚开始他们以为只是《高等数学》里一个章节学完应付考试就完事。直到后来学《大学物理》里的弹簧振子、《电路分析》里的RLC回路、《自动控制原理》里的系统响应发现全是同一个方程反复出现才意识到当年这一章没白学。这篇东西不打算按照课本那套先给定义、再给定理、最后给例题的路子来写那些教材上都有。我想拆的是另一层东西这个方程到底在描述什么、特征方程法为什么可以这样干、待定系数法到底在猜什么以及真正的解题流程里哪些环节最容易翻车。适合正在学这部分内容、准备考研数学、或者学过但一直处于会背不会用状态的朋友。1. 弹簧振子与电路这个方程究竟从哪来的1.1 一个质量块就能推出整个标准形式先看一个最简单的力学模型。一个质量为 (m) 的物体挂在弹簧上下面再接一个阻尼器就是那种关门用的液压杆然后用力 (F(t)) 去拉它。写牛顿第二定律 (ma F) 的时候要小心这里的力有四个外力、弹簧回复力、阻尼力。整理完之后位移 (x(t)) 满足的方程长这样[ mx cx kx F(t) ]两边除以 (m)令 (p \frac{c}{m})、(q \frac{k}{m})、(f(t) \frac{F(t)}{m})就得到了二阶常系数线性微分方程的标准形式[ x px qx f(t) ]所以那个看起来挺抽象的 (y py qy f(x))背后就是一个实实在在的振动系统。(p) 对应阻尼的强弱(q) 对应弹簧的硬度(f(x)) 是外部激励。这就是为什么学过这部分的人后面看任何一本振动相关的书都会觉得眼熟——所有线性振动方程都是这个壳子。1.2 叠加原理为什么解可以拼出来方程左边 (y py qy) 本质上是对函数 (y) 做了一次线性变换就像把向量乘上一个矩阵记为 (L[y])。线性变换有个特点(L[ay_1 by_2] aL[y_1] bL[y_2])。把等式拆开来看对于方程 (L[y] f)先找一个能满足 (L[y_p] f) 的特解(y_p) ——它负责对上右边的激励再解齐次方程 (L[y_h] 0)得到通解(y_h) ——它负责提供自由度让最后的结果能配上初始条件。两者一加(L[y_p y_h] L[y_p] L[y_h] f 0 f)所以通解就是[ y y_h y_p ]这个道理可以类比成一次旅行(y_p) 是固定路线(y_h) 是你可以在路线附近随意晃悠的余量。问题就拆成了两半先找齐次通解再想办法找一个特解。这在后面会一直用到。2. 齐次方程通解特征方程法不是魔法而是结构化猜测2.1 为什么敢直接设 (y e^{rx})齐次方程是 (y py qy 0)。最关键的一步就是设 (y e^{rx})很多人不理解怎么凭空想到指数函数因为这是唯一一个求导之后长不变的函数。(e^{rx}) 求一次导变成 (re^{rx})求两次导变成 (r^2e^{rx})每一次求导都只是提出来一个因子函数本身形状不变。把它代入方程[ r^2e^{rx} p re^{rx} q e^{rx} 0 ]提出公共因子 (e^{rx})恒不为零放心约掉[ r^2 pr q 0 ]这里的思路本质是降维把找函数这种无穷维空间里的问题转化成了找数字 (r)这种一个二次方程就能搞定的事。这个代数方程就叫特征方程。微分方程和代数方程的关联就锚定在这一步上。2.2 三种根的情形以及重根为什么要乘 (x)特征方程是二次的根有三种情况。逐一来看情形一两个不同实根 (r_1 \ne r_2)这时有 (y_1 e^{r_1x}) 和 (y_2 e^{r_2x}) 两个线性无关的解通解直接是 [ y C_1e^{r_1x} C_2e^{r_2x} ]情形二重根 (r_1 r_2 r)这时只能得到一个解 (e^{rx})。需要第二个线性无关的解课本上用的方法是降阶法。设 (y_2 u(x)e^{rx})代入原方程最终得到 (u 0)于是取 (u x)。所以重根时通解是 [ y (C_1 C_2x)e^{rx} ] 那个多出来的 (x) 不是编造的而是为了补一个线性无关的解。一个直观的理解方式当两个根无限靠近时(\frac{e^{r_2x} - e^{r_1x}}{r_2 - r_1}) 的极限恰好是 (xe^{rx})——重根可以看成两个本来不同的指数解合并后留下的痕迹。情形三共轭复根 (r \alpha \pm \beta i)先用复指数写成 (y e^{\alpha x}(C_1e^{i\beta x} C_2e^{-i\beta x}))再用欧拉公式 (e^{i\theta} \cos\theta i\sin\theta) 把复指数化成三角函数。因为求的是实值函数重新组合常数之后得到 [ y e^{\alpha x}\left(C_1\cos\beta x C_2\sin\beta x\right) ] 核心要点是复数解只是中间工具最后结果一定落在实数上。2.3 两个完整的例子例1(y - 3y 2y 0) 特征方程 (r^2 - 3r 2 (r-1)(r-2) 0)得 (r_11,, r_22)。所以 [ y C_1e^{x} C_2e^{2x} ] 这个例子简单但注意观察(p-3 0)特征根一正一负对应物理上既有发散趋势又有衰减趋势的组合。例2(y 4y 0) 特征方程 (r^2 4 0)(r \pm 2i)。这是纯虚根(\alpha0, \beta2)。通解 [ y C_1\cos 2x C_2\sin 2x ] 这个形式从物理意义上是无阻尼的自由振动频率由 (q 4) 决定即 (\omega \sqrt{q})。很多初学者会把根是虚数和解是虚数搞混——根是虚的但解是实的只是以三角函数的形式出现。3. 非齐次方程的特解待定系数法到底在猜什么3.1 右端函数决定特解形式齐次部分学会之后剩下的核心任务就是找特解 (y_p)。最常用的方法是待定系数法解题逻辑是右端 (f(x)) 是某个类型的函数特解也取同类型的函数只是系数未知代进去解方程把系数定出来。右端常见的就那么几类每一种都有对应的特解形式右端 (f(x)) 的类型特解的基本形式(n) 次多项式 (P_n(x))(x^k \cdot Q_n(x))(Q_n)也是 (n) 次多项式(ae^{\lambda x})(x^k \cdot Ae^{\lambda x})(a\cos\beta x b\sin\beta x)(x^k \cdot (A\cos\beta x B\sin\beta x))多项式与指数/三角的乘积对应乘积形式次数取高的那个这里的 (k) 是关键当特解的基本形式和齐次解撞车时就乘上一个 (x) 来避开如果还撞就再乘一个最多乘到 (x^2)。3.2 为什么要乘 (x^k)避开与齐次解的共振这个细节特别容易出错。举个例子解方程 [ y - 3y 2y e^{2x} ]前一步已经知道齐次通解是 (y_h C_1e^x C_2e^{2x})。如果右端是 (e^{2x})按照同类型猜测特解应该设 (y_p Ae^{2x})。但代入左边会发现 [ (A\cdot4 e^{2x}) - 3(2Ae^{2x}) 2(Ae^{2x}) (4 - 6 2)Ae^{2x} 0 ] 左边恒等于零根本定不出 (A)。原因就是 (e^{2x}) 本身就是齐次方程的解代进去当然得零。这时必须设 [ y_p Ax e^{2x} ] 代入计算 [ y_p A(2x1)e^{2x}, \quad y_p A(4x4)e^{2x} ] 代入原方程 [ A[(4x4) - 3(2x1) 2x]e^{2x} A(4x4-6x-32x)e^{2x} A e^{2x} ] 于是 (A 1)特解 (y_p xe^{2x})。加上齐次通解最终 [ y C_1e^x C_2e^{2x} xe^{2x} ]在所有复合的数学过程中这大概是最容易出错的一步了。课本上有个漂亮的说法叫共振——当外力的频率刚好等于系统固有频率时响应会随时间线性增长乘的那个 (x) 就是这种增长的数学体现。理解到这里撞车就乘 (x)就不再是死记的规则了。3.3 一个混合类型的完整计算再看个稍复杂的例子感受一下多个类型并存时的完整流程。求解 [ y y x^2 \sin x ]第一步解齐次(r^2 1 0)(r \pm i)所以 [ y_h C_1\cos x C_2\sin x ]第二步分别看右端的两项。(x^2) 对应特解设 (y_{p1} ax^2 bx c)。(\sin x) 对应设 (y_{p2} A\cos x B\sin x)。注意 (\sin x) 已经出现在齐次解里撞车了所以需要乘 (x)变成 [ y_{p2} x(A\cos x B\sin x) ]先求 (y_{p1})。(y_{p1} 2ax b)(y_{p1} 2a)。代入 (y y) [ 2a ax^2 bx c x^2 ] 对比系数(a1)(b0)(2a c 0 \Rightarrow c-2)。故 (y_{p1} x^2 - 2)。再求 (y_{p2})。设 (y_{p2} x(A\cos x B\sin x))求导 [ y_{p2} (A\cos x B\sin x) x(-A\sin x B\cos x) ] [ y_{p2} (-A\sin x B\cos x) (-A\sin x B\cos x) x(-A\cos x - B\sin x) 2B\cos x - 2A\sin x - x(A\cos x B\sin x) ] 加回 (y_{p2})含 (x) 的项正好抵消 [ y_{p2} y_{p2} 2B\cos x - 2A\sin x ] 右边要等于 (\sin x)所以 (A -\frac12)(B 0)。于是 [ y_{p2} -\frac12 x\cos x ]合起来通解 [ y C_1\cos x C_2\sin x x^2 - 2 - \frac12 x\cos x ]从这个完整过程能看出一个操作要点碰到右端是多段叠加时分别设特解、分别代、分别定系数最后合起来就行。因为叠加原理保证了这样做的合法性。4. 换个视角微分算子法怎么把微分方程变成代数运算4.1 算子 (D) 的基本规则如果只掌握待定系数法应付考试其实够了。但很多人在学完这部分再去接触算子法时会觉得特别惊奇——因为它把微分方程变成了分式的处理。这里介绍一下核心思想对加深理解很有帮助。记 (D \frac{d}{dx})那么 (y Dy)(y D^2y)。原方程可以写成 [ (D^2 pD q)y f ] 形式上可以写成 [ y \frac{1}{D^2 pD q} f ] 除以一个算子这种说法并不严格但运算规则可以验证。两个最基本的公式(\frac{1}{D-a}e^{ax} xe^{ax})。这是因为 ((D-a)[xe^{ax}] e^{ax})。更一般地((D-a)^{-1}) 作用于一个函数是在解一个一阶线性方程。4.2 用算子法快速处理之前的例子以 (y - 3y 2y e^{2x}) 为例。算子形式 [ (D-1)(D-2)y e^{2x} ] 所以 [ y \frac{1}{(D-1)(D-2)}e^{2x} ] 先作用 ((D-2)^{-1})由于 (D-2) 作用在 (e^{2x}) 上得零要小心这时不能用直接代入 (a)的处理。正确的处理是 [ \frac{1}{D-2}e^{2x} xe^{2x} ] 然后乘上 ((D-1)^{-1})((D-1)^{-1}(xe^{2x})) 需要算积分。最后得到特解 (y_p xe^{2x})——和待定系数法的结果一致。整个过程体现的思想是特征多项式因式分解后非线性问题被拆成一串一阶线性问题每步都只需要做一次积分。算子法的价值在于当右端函数是 (e^{ax})、(\sin)、多项式这些好函数时它可以系统化地机械执行不需要猜测特解的形式尤其适合右端较复杂的情形。不过建议先把待定系数法练熟再学算子法——前者帮助理解原理后者提升计算效率。4.3 拉普拉斯变换同一个思想在更大舞台上的延伸如果从拉普拉斯变换的角度看方程里每一项的求导都会变成乘以 (s)[ \mathcal{L}{y} sY - y(0), \quad \mathcal{L}{y} s^2Y - sy(0) - y(0) ]代入之后整个微分方程变成了一个关于 (Y(s)) 的代数方程解出 (Y(s)) 再反变换回去就行。这和算子法的精神是一致的用代数运算代替微分运算。区别只是拉普拉斯变换对初值问题的处理更自然而算子在求特解时更直接。这部分用来扩展视野。如果目前只求考试过关掌握特征方程加待定系数法就够了如果后面要学信号与系统、自动控制拉普拉斯才是主角趁早认识它没有坏处。5. 标准解题流程与最容易踩的坑5.1 一套可以抄作业的流程整合前面的内容遇到一道二阶常系数线性微分方程题按这个顺序操作不会乱把方程化成标准形式 (y py qy f(x))确认 (p, q) 是常数。先写特征方程 (r^2 pr q 0)解出两根写出齐次通解 (y_h)。三种情形对应三种形式不确定就对照本文 2.2 节的表。看右端 (f(x)) 的类型按 3.1 节的表设出特解形式。写完之后跟 (y_h) 对比如果撞车就乘 (x)必要时乘 (x^2)。把设好的特解代入原方程对比系数解出未知常数。写出通解 (y y_h y_p)。如果给了初值条件 (y(0)) 和 (y(0))最后再把常数 (C_1, C_2) 定出来。注意第6步的顺序问题代入初值这一步必须放在通解写完之后做不能提前用初值替换齐次解里的常数更不能用初值去给特解定系数。5.2 高频错误的真实案例分析我在辅导时发现错误往往集中在几个固定的地方。整理成表格方便自查错误行为后果纠正方式特征方程写成 (r^2 - pr q 0)两根全错整体崩盘直接对照标准式 (y py qy0)对应 (r^2prq0)重根时忘了乘 (x)少一个线性无关解见到判别式等于零立刻写出 ((C_1C_2x)e^{rx})特解形式没有和齐次解对比代入后左边恒为零解不出系数设完特解后先跟 (y_h) 比对撞车就乘 (x)求特解时误把 (C_1, C_2) 也当成待定系数计算混乱求错特解里的系数只负责匹配 (f(x))与齐次常数无关初值代入时用了错误的 (y(0)) 表达式常数定错(y) 由通解整体求导得出不是只对特解求导上面这套错误清单是我在实际作业批改中反复见到的。最坑的是第三种设特解时不检查是否和齐次解撞车结果化到左边恒等于零卡在原地。遇到这种情况别怀疑自己代数算错先怀疑特解形式撞车了乘个 (x) 重算一遍通常就通了。6. 数学解背后的物理图景三种运动形态6.1 判别式决定运动模式回到开头那个弹簧振子模型 (x px qx 0)物理量变成了有明确意义的参数(p) 是阻尼系数(q) 是固有频率的平方。特征根有三种情况恰好对应三种运动形态(p^2 - 4q 0)两个负实根。阻尼很大系统被黏住慢慢回到平衡位置叫过阻尼。(p^2 - 4q 0)重根。系统在临界点附近以最快速度回到平衡位置而不振荡叫临界阻尼。很多工程系统的阻尼就是调到这个状态。(p^2 - 4q 0)共轭复根且实部为负。系统一边振荡一边衰减叫欠阻尼。把解的公式和物理对应起来你会发现以前背的三种通解形式根本不是孤立的数学技巧而是对三类物理行为的数学描述。这层理解一旦建立再看到 (y e^{\alpha x}(C_1\cos\beta x C_2\sin\beta x))你会立刻意识到这是衰减振荡——实部 (\alpha) 决定衰减快慢虚部 (\beta) 决定振动频率。6.2 共振的本质特解里乘出来的那个 (x)非齐次方程 (x px qx F_0\cos\omega t) 描述的是系统外加了一个周期激励。当外加频率 (\omega) 恰好等于系统固有频率时会出现共振现象。从数学角度看这时激励对应的特解形式撞上了齐次解需要乘 (x)产生了随时间增大的项——振幅越来越大。这跟第3部分撞车就乘 (x)是同一件事。理解了这层关系乘 (x)就不再是待定系数法里的一条奇怪规则而是共振现象的代数化表达。我总觉得把数学公式和物理现象一一对应起来学记起来清晰得多也不容易混淆。最后分享一点个人体会带过几届学生之后我的感受是二阶常系数线性微分方程是整个微分方程求解体系里性价比最高的一章。它的方法高度程序化只要理解特征方程和叠加原理这两根支柱就能覆盖绝大部分题型。更重要的是它是后面学习拉普拉斯变换、传递函数、系统稳定性等一大堆工程数学知识的起点。建议学的时候不要贪多把齐次通解三种情形、非齐次待定系数法包括乘 (x^k) 的规则练熟就足够应付需求了。至于算子法学有余力再掌握理解和计算能力都能上一个台阶。学完这部分之后再回去看看《大学物理》里的振动章节会有一种恍然大悟的感觉——原来当年物理课上那些记住就行的结论都是这个微分方程的自然推论。

相关新闻

电商评论情感分析实战:从34000条数据到TF-IDF与朴素贝叶斯模型

电商评论情感分析实战:从34000条数据到TF-IDF与朴素贝叶斯模型

简介:这份资源包面向Python开发者、NLP初学者以及正在准备毕业设计或课程设计的学生,提供一套完整的电商买家评论情感分析实践项目。内容覆盖从数据预处理到模型训练的全流程,帮助读者理解情感分析的基本原理并动手构建可运行的系统。压缩包共…

2026/10/12 19:33:19 阅读更多 →
Python股票量化系统源码拆解:从回测到实盘的工程链路避坑指南

Python股票量化系统源码拆解:从回测到实盘的工程链路避坑指南

简介:Python股票量化系统源码及教程是一套实战型学习资源,面向具备基础Python知识并希望进入量化投资领域的读者,解决从零搭建股票量化策略系统、理解量化分析流程的问题。资源包共244个文件,压缩后约3.53MB,包含71个p…

2026/10/13 21:19:19 阅读更多 →
XGBoost回归预测实战:Python代码实现与散点图折线图可视化

XGBoost回归预测实战:Python代码实现与散点图折线图可视化

简介:这份资源面向具备一定机器学习基础的Python开发者与数据科学学习者,提供一套基于XGBoost的回归预测完整实现方案,用于解决房价类连续值预测的建模与结果展示问题。压缩包共5个文件,约191KB,包含2个xlsx格式的训练…

2026/10/13 22:03:50 阅读更多 →

最新新闻

Python Plotly交互式数据可视化:从快速出图到精细定制

Python Plotly交互式数据可视化:从快速出图到精细定制

做数据分析的同学都有一个共同感受:数据算完之后,最头疼的不是处理逻辑,而是怎么把结果变成一张别人一眼能看懂的图。这两年我用得最顺手的工具就是 Plotly,一个典型的 Python 交互式绘图库。用 Plotly 创建交互式图表&#xff0c…

2026/10/13 22:03:47 阅读更多 →
基于Spring Boot和Vue的电影订票管理系统全栈项目

基于Spring Boot和Vue的电影订票管理系统全栈项目

每年做课程设计或者毕业设计的季节,总有人问我"有没有一个既能体现技术栈又不算太复杂、最好还带完整界面的项目"。老实说,这类需求里出镜率最高的就是各种"管理系统",而其中电影订票管理系统又是一直没凉过的经典选题。…

2026/10/13 22:03:47 阅读更多 →
机器学习集成学习实战:三大流派与工程应用

机器学习集成学习实战:三大流派与工程应用

集成学习这几年在机器学习面试和实际工程里都是绕不开的东西。不管你是刚开始学模型,还是已经在跑实验,迟早会遇到一个问题:单个模型的效果到了瓶颈,怎么再往上提一点?很多人第一反应是换更复杂的模型,但更…

2026/10/13 22:03:47 阅读更多 →
WEKA数据挖掘入门:从ARFF格式到J48决策树与交叉验证实战

WEKA数据挖掘入门:从ARFF格式到J48决策树与交叉验证实战

简介:一份面向数据挖掘初学者与课程学习者的WEKA中文详细教程PPT,围绕怀卡托智能分析环境(WEKA)的开源特性、获得ACM SIGKDD奖项的里程碑地位及常见应用场景展开,适合作为高校数据挖掘、机器学习课程的配套讲义或自学入…

2026/10/13 22:03:47 阅读更多 →
支付系统设计与落地:状态机、幂等、对账与避坑指南

支付系统设计与落地:状态机、幂等、对账与避坑指南

线下业务上线支付系统的那段时间,几乎每天都要和数据、异常单、渠道对账单较劲。当时踩过的坑、重构过的状态机、跟渠道商务来回确认的限额规则,后来都沉淀成了这套经验。今天不聊架构图,也不念文档,就实打实拆一下“支付系统”从…

2026/10/13 22:03:47 阅读更多 →
同花顺日线文件解析:从二进制乱码到可回测的OHLCV表

同花顺日线文件解析:从二进制乱码到可回测的OHLCV表

简介:这份资源面向金融数据分析初学者与量化爱好者,聚焦同花顺日线二进制文件(.day)的解析问题。压缩包仅4KB,内含2个文件:一个以600000为代码的日线样本文件,以及一份约20行的Python解析脚本&a…

2026/10/13 22:02:46 阅读更多 →

日新闻

物联网系统集成避坑指南:从选型到验收的关键要点

物联网系统集成避坑指南:从选型到验收的关键要点

做了这么多年物联网系统集成的项目,我最大的感受是,大部分坑不是出在技术前沿,而是出在一些看起来很平常的地方。设备选了便宜的、协议没问清楚、现场没摸透、验收标准写得含糊——这些细枝末节,最后都会变成延期、超支和扯皮的大…

2026/10/13 0:00:57 阅读更多 →
ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

如果你玩ESP32有一阵子了,很难不碰到舵机控制这道坎。做智能小车要转方向,做机械臂要抬关节,做云台要偏航俯仰,背后都是同一个东西在干活:舵机。而我见过太多人卡在“代码能编译、舵机就是不听话”这个阶段&#xff0c…

2026/10/13 0:00:57 阅读更多 →
CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

1. 为什么CAN总线至今仍是工业现场的“硬通货”?——从汽车底盘到智能温室的真实需求你有没有拆过一辆老款燃油车的中控台?或者调试过某高校实验室里那台跑着Modbus协议却频频丢帧的PLC控制柜?又或者,在某个农业物联网项目里&…

2026/10/13 0:00:57 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/13 2:54:56 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/13 16:22:04 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 22:01:27 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →