4. 小型特征值问题的解析求解

当系统自由度很少时,特征值问题可以完全手算,这不仅是理解数值算法的基础,也是检验软件结果、建立物理直觉的重要手段。本节围绕 2×2 与 3×3 系统,梳理特征多项式法、特征向量求解与归一化、重根与亏损矩阵的判别,并用一个弹簧-质量系统完整走一遍计算流程。

一、标准形式与求解路线

工程模态分析通常面对广义特征值问题 Kφ = λMφ,其中 K 为刚度矩阵、M 为质量矩阵、λ = ω² 为特征值、φ 为振型向量。手算时先化为标准形式:若 M 可逆,左乘 M⁻¹ 得 Aφ = λφ,A = M⁻¹K;若 M 为对角正定矩阵,也可用对称化变换 A = M-1/2KM-1/2,保持对称性便于校核。求解路线为:写出特征方程 det(A − λI) = 0 → 解出 λ → 代回 (A − λI)φ = 0 求零空间 → 归一化。

二、2×2 系统:特征多项式直接展开

对 2×2 矩阵,特征方程为 λ² − tr(A)λ + det(A) = 0,其中 tr 为迹、det 为行列式。两根为

λ₁,₂ = [tr(A) ± √(tr²(A) − 4det(A))] / 2

判别式 Δ = tr² − 4det 决定根的性质:Δ > 0 为两个不等实根(对应两个不同固有频率);Δ = 0 为重根;Δ < 0 为共轭复根(对应非比例阻尼或陀螺系统,本课程暂不展开)。求出 λ 后代回,取 (A − λI) 的任一行写出方程,例如 a₁₁ − λ 与 a₁₂ 给出 φ₂/φ₁ = −(a₁₁ − λ)/a₁₂,即可得到特征向量方向。

校核技巧:两个特征值之和应等于 tr(A),之积应等于 det(A);两个特征向量应满足加权正交性 φ₁ᵀMφ₂ = 0。手算时用这两条快速验算,能发现大部分代数错误。

三、3×3 系统:特征多项式与降阶

3×3 矩阵的特征方程为 λ³ − c₁λ² + c₂λ − c₃ = 0,其中 c₁ = tr(A),c₂ 为所有二阶主子式之和,c₃ = det(A)。手算时优先尝试有理根(如 ±1、±2、±3 等整数因子),找到一个根 λ₁ 后用多项式除法降为二次式,再用求根公式解出 λ₂、λ₃。对每个 λᵢ,将 (A − λᵢI) 做初等行变换化为行阶梯形,自由变量取 1,回代得到特征向量。

若矩阵具有对称性或特殊结构(如三对角、循环),可先用观察法猜出一个特征向量,例如全 1 向量或交替向量,往往能显著减少计算量。

四、特征向量的归一化

特征向量只确定到任意常数倍,必须归一化才能比较和用于后续模态叠加。工程中常用两种归一化:

  • 质量归一化:令 φᵀMφ = 1,即 φ ← φ / √(φᵀMφ)。模态分析中首选,使模态质量矩阵为单位阵,便于振型分解。
  • 最大值归一化:令向量中绝对值最大的分量为 1,便于观察振型形状和相对幅值。

归一化不改变特征值和振型方向,只改变幅值标尺,因此报告振型时必须注明所用归一化方式。

五、重根与亏损矩阵

当特征方程出现重根时,需区分两种情况。若重根 λ 对应的几何重数(零空间维数,即 n − rank(A − λI))等于代数重数,矩阵可对角化,仍能得到一组完整的线性无关特征向量;若几何重数小于代数重数,则矩阵亏损,无法对角化,需引入广义特征向量构成 Jordan 链。工程上,亏损矩阵对应无法解耦的耦合模态,实际结构中较少见,但数值上接近重根时会出现振型对载荷敏感、模态识别不稳定的现象,应引起注意。

广义问题 Kφ = λMφ → Aφ = λφ 2×2:λ² − tr·λ + det = 0 Δ = tr² − 4det 判别根性质 3×3:λ³ − c₁λ² + c₂λ − c₃ = 0 试有理根 → 降阶为二次式 代回 (A − λI)φ = 0 求零空间 行变换 → 自由变量取 1 → 回代 归一化:φᵀMφ = 1 或最大分量 = 1 校核:Σλ = tr(A),φ₁ᵀMφ₂ = 0 重根判别:几何重数 = n − rank(A − λI) 是否等于代数重数?

六、实例:两自由度弹簧-质量系统

设两个质量 m₁ = m₂ = 1 kg,弹簧刚度 k₁ = k₂ = k₃ = 100 N/m,按串联布置(左端固定,m₁ 与 m₂ 之间为 k₂,右端 m₂ 接 k₃ 至固定端)。刚度矩阵与质量矩阵为

K = [k₁+k₂   −k₂  ] = [200  −100]
    [−k₂   k₂+k₃]   [−100  200]
M = [1  0]
    [0  1]

因 M = I,A = K。特征方程 λ² − 400λ + 30000 = 0,解得 λ₁ = 100、λ₂ = 300,即 ω₁ = 10 rad/s、ω₂ ≈ 17.32 rad/s。代回 λ₁ = 100:(A − 100I) 给出 100φ₁ − 100φ₂ = 0,故 φ₁ = (1, 1)ᵀ,两质量同向运动;代回 λ₂ = 300:−100φ₁ − 100φ₂ = 0,故 φ₂ = (1, −1)ᵀ,两质量反向运动。质量归一化后 φ₁ = (1/√2, 1/√2)ᵀ,φ₂ = (1/√2, −1/√2)ᵀ,可验证 φ₁ᵀφ₂ = 0,与理论一致。

若把 k₂ 调为 0,则 K 变为对角阵,λ₁ = λ₂ = 100 出现重根,但 rank(A − 100I) = 0,几何重数为 2,矩阵可对角化,两个质量各自独立振动,振型不唯一但可任取标准正交基。若把系统改为刚性耦合(k₂ → ∞),则会出现一个零频刚体模态与一个高频模态,此时需注意约束条件的处理。

手算时务必保持单位一致(N/m、kg、rad/s),并在最后用 Σλ = tr(A) 与正交性两条独立校核。若两条校核中任一条不满足,应优先检查特征多项式系数 c₂ 的计算,这是 3×3 手算最易出错之处。

掌握上述流程后,面对小型系统即可脱离软件独立求解,并能在软件输出异常时快速定位是模型错误还是数值问题。