微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

MATLAB程序设计与应用 3.4 矩阵的特征值与特征向量

MATLAB程序设计与应用

3. 第3章 MATLAB矩阵处理

3.4 矩阵的特征值与特征向量

对于n阶方阵A,求数λ和向量ξ,使得等式Aξ = λξ成立,满足等式的数λ称为A的特征值,而向量ξ称为A的特征向量。

实际上,方程Aξ = λξ 和 (A - λI ) ξ = 0 是两个等价方程。要使方程(A - λI)ξ = 0 有非零解ξ , 那必须使其系数行列式为0,即|A - λ I| = 0。

线性代数中已经证明,行列式|A - λ I|是一个关于λ的n次多项式,因而方程|A - λ I|=0是一个n次方程,有n个根(含重根),就是矩阵A的n个特征值,每一个特征值对应无穷多个特征向量。矩阵的特征值问题有确定解,但特征向量问题没有确定解。

特征值和特征向量在科学研究和工程计算中有广泛应用。在 MATLAB 中,计算矩阵A的特征值和特征向量的函数是eig(A)。

常用调用格式:

  • V=eig(A):求矩阵A的全部特征值,构成向量V。
  • [X,D]=eig(A):求矩阵A的全部特征值,构成对角阵D,并产生矩阵X,X各列是相应的特征向量,满足A·X=X·D。
  • [X,D]=eig(A,‘nobalance’):与第2种格式类似,但第2种格式中先对A作相似变换后求矩阵A的特征值和特征向量,而格式3直接求矩阵A的特征值和特征向量。

一个矩阵的特征向量有无穷多个,eig函数只找出其中的n个,A的其他特征向量均可由这n个特征向量的线性组合表示。

>> A = [1,1,0.5;1,1,0.25;0.5,0.25,2];
>> [X,D] = eig(A)

X =

    0.7212    0.4443    0.5315
   -0.6863    0.5621    0.4615
   -0.0937   -0.6976    0.7103


D =

   -0.0166         0         0
         0    1.4801         0
         0         0    2.5365

求得的3个特征值是-0.0166、1.4801和2.5365,各特征值对应的特征向量为X的各列构成的向量。验证结果A·X和X·D的值均为

>> X * D

ans =

   -0.0120    0.6576    1.3481
    0.0114    0.8320    1.1705
    0.0016   -1.0325    1.8018

示例:用求特征值的方法解方程

在这里插入图片描述

先构造与方程对应的多项式的伴随矩阵A,再求A的特征值。A的特征值即为方程的根。

>> p = [3,-7,0,5,2,-18];
>> A = compan(p); % 求A 的伴随矩阵 
>> x1 = eig(A)    % 求A 的特征值

x1 =

   2.1837 + 0.0000i
   1.0000 + 1.0000i
   1.0000 - 1.0000i
  -0.9252 + 0.7197i
  -0.9252 - 0.7197i

>> x2 = roots(p) % 直接求多项式p的零点

x2 =

   2.1837 + 0.0000i
   1.0000 + 1.0000i
   1.0000 - 1.0000i
  -0.9252 + 0.7197i
  -0.9252 - 0.7197i

可以看出,两种方法求得的方程的根是完全一致的,实际上,roots 函数正是应用求伴随矩阵的特征值的方法来求方程的根。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐