MATLAB教程:特征值分解及系统模态分析实战(基于[V,D]=eig(A))
本文基于MATLAB R2020b版本编写(兼容R2018及以上所有版本),聚焦线性代数核心运算——特征值分解,详细讲解特征值、特征向量的基础概念,拆解MATLAB中特征值分解核心函数eig的用法,重点演示[V,D]=eig(A)的实操案例,最终落地到工程核心应用——系统模态分析,实现“理论+实操+应用”的闭环。全文严格控制字数在5000字左右,避免冗余表述,所有代码均经过实测验证,可直接复制运行,兼顾新手入门与工程实战需求,帮助读者快速掌握特征值分解的MATLAB实现,以及在系统模态分析中的具体应用。
一、核心基础:特征值分解的理论铺垫
特征值分解(Eigenvalue Decomposition)是线性代数中针对方阵的核心运算,广泛应用于工程计算、信号处理、系统分析等领域,而系统模态分析正是其在动力学系统中的典型应用。在学习MATLAB实操前,需先掌握特征值、特征向量的基础概念及特征值分解的核心原理,为后续实操和应用奠定基础。
1.1 特征值与特征向量的定义
对于n阶方阵A,若存在一个非零向量v和一个标量λ,使得等式 $$A\mathbf{v} = \lambda \mathbf{v}$$ 成立,则称:
标量λ(lambda)为方阵A的一个特征值(Eigenvalue);
非零向量v为方阵A对应于特征值λ的特征向量(Eigenvector)。
通俗理解:特征向量v经过方阵A的线性变换后,仅发生伸缩(或反向伸缩),伸缩比例由特征值λ决定,不改变向量的方向(若λ为负,则方向反向)。例如,若