用 Excel 求解矩阵特征值与特征向量1 引言 求矩阵的特征值和特征向量是一个既基础又重要的数值计算问题通常我们可以用编写高级语言程序的方法加以解决,也可以使用专门的数学软件(如 MATLAB 等)来实现本文给出的用 Excel 实现求矩阵的特征值和特征向量的方法,既不需要设计程序,也不需要专门的数学软件,只须在 Excel 中进行简单操作,就可以快速、直观地得到实矩阵的特征值和特征向量,且计算结果具有较高的精度 2 在 Excel 中利用数组公式和数组常量建立并命名矩阵 在 Excel 中,可以在一个单元格区域内通过逐个输入矩阵的各个元素来建立矩阵,还可以使用数组公式和数组常量更加方便地建立矩阵[1]例如,可以通过下列操作建立矩阵:(1)在 Excel 的工作表 Sheet1 中,选择单元格区域 A1:D4; (2)输入公式:={2,-1,0,0;-1,2,-1,0;0,-1,2,-1;0,0,-1,2}(顺便指出:在 Excel 的数组公式中,将矩阵元素用大括号{}括起来称为数组常量,其中不同列的元素用逗号隔开,不同行的元素用分号隔开参见文献[1]); (3)按 Ctrl+Shift+Enter 键,结束数组公式的输入,形成图 1 所示的矩阵。
建立了矩阵之后,在 Excel 的数组公式中,就可以用矩阵所在的单元格区域 A1:D4 表示该矩阵;但若将该矩阵命名为 A 显然更便于使用,也便于理解公式的含义,方法如下: 选择该矩阵所在的单元格区域 A1:D4;单击编辑栏左端的“名称”框,输入 A,按回车键确认,如图 2 所示此后,在当前工作薄的所有工作表中,就可以使用名称 A 在数组公式中代表该矩阵尤其需要指出的是:通过对矩阵命名,不仅能方便地实现跨工作表引用单元格区域,而且更重要的是:在复制公式时,Excel 将名称(如 A)按常量对待,所以更便于矩阵的运算和使用类似地,我们还可以在单元格区域 F1:I4 中通过输入数组公式:{={1,0,0,0; 0,1,0,0; 0,0,1,0; 0,0,0,1}}建立 4 阶单位矩阵,并命名为 I 3 利用 Excel 求矩阵的特征值 由于矩阵 A 的特征值 λ就是特征方程 det(A-λI)的根,因此可以利用 Excel 工具菜单中的“单变量求解” 命令求矩阵的特征值 例如,上述矩阵 A 在 0.4 附近的特征值的求解方法如下: (1)在 A6 单元格中输入值 0.4; (2)在 B6 单元格中输入公式:=MDETERM(A-A6*I)=0,其中 MDETERM 为 Excel 提供的求矩阵行列式的函数; (3)按 Ctrl+Shift+Enter 键,形成数组公式: {=MDETERM(A-A6*I)},于是 B6 单元格中的值 0.1264 即为特征多项式在 的值; (4)单击“工具”菜单中的“单变量求解” 命令,打开“单变量求解”对话框; (5)在“目标单元格(E) ”中输入或选择 B6,在“目标值(V ) ”中输入 0,在“可变单元格(C) ”中输入或选择 A6; (6)单击“确定”按钮。
此时,A6 单元格中的值 0.381966011 就是矩阵 A 在 0.4 附近特征值的近似值(顺便指出:在 Excel“选项”对话框的“重新计算”选项卡中,通过设置“迭代计算”栏还可控制计算精度) 4 求特征值对应的特征向量 在此我们介绍如何利用数值计算中的逆幂法[2],求特征值所对应的特征向量所谓逆幂法,就是取 A 的特征值 λi的一个近似值 λ,并取非零初始向量 X0,按迭代公式: (其中符号‖·‖∞代表向量的按模最大分量,即) 进行迭代,当相邻两次迭代,Xk-1,Xk 近似成比例时,则 Xk 即为矩阵 A 对应于特征值 λi的近似特征向量 例如,为求上例矩阵 A 的特征值 λ=0.381966011对应的特征向量,我们取近似特征值为 0.38,并取初始向量为(1,1,1,1) ,使用逆幂法进行迭代可以在 Excel 中进行如下操作: (1)在工作表 Sheet2 中,先在单元格区域 A1:A4 中输入 1,1,1,1 形成初始向量 X0; (2)选择单元格区域 B1:B4,输入公式:=MMULT(MINVERSE(A-0.38*I), A1:A4),按Ctrl+Shift+Enter 键,形成数组公式计算出 Y1 (注:其中 MINVERSE, MMULT 分别为 Excel提供的计算逆矩阵和计算两个矩阵乘积的函数); (3)在 B5 单元格中输入公式:=MAX(ABS(B1:B4)) ,按 Ctrl+Shift+Enter 键,形成数组公式计算出‖Y1‖∞ ; (4)选择单元格区域 C1:C4,输入公式:=B1:B4/B5 ,按 Ctrl+Shift+Enter 键,形成数组公式计算出逆幂法迭代一次后的向量 X1=(0.618321,1,1,0.618321); (5)选择 B1:C5 单元格区域,向右拖动 C5 右下角的填充柄,即得逆幂法的迭代序列,如下图: 从上图可以看出:用逆幂法迭代 3 次,可得 A 的对应于近似特征值 λ=0.381966011的近似特征向量为(0.618033989,1,1,0.618033989)。
若与 A 的相应精确特征值 λ=2-2cos(π/5)=0.3819660112…和特征向量(sin(π/5)/sin(2π/5),1,1,sin(π/5)/sin(2π/5))=(0.6180339887…,1,1,0.6180339887…)相比较,显然已具有较高的精度5 结束语 开发 Excel 的强大计算功能用于求解数值计算问题 [3,4],既不需要设计程序,也不需要专门的数学软件,而且计算精度控制方便,操作简单,同时注意到 Excel 软件在各类计算机上随处可见,这不仅为课堂教学,而且也为解决工程计算问题提供了极大的便利 参考文献: [1]卢秋根. 中文版 Office 应用基础教程[M]. 上海:上海科学普及出版社,2005 年 9 月第1 版,151-152. [2]李庆杨, 王能超, 易大义. 数值分析[M]. 北京:清华大学出版社,2001 年 8 月第 4 版,308-312. [3]彭海静. 基于 Excel 求高次方程的解 [J]. 计算机应用与软件,2006,23(2):142-144. [4]杨明波, 卢建立. 在 Excel 中实现用牛顿法求解非线性方程组[J]. 电脑学习,2006,4,62-63. 本文中所涉及到的图表、注解、公式等内容请以 PDF 格式阅读原文。