应用MATLAB求解线性代数题目(五)——特征值与特征向量

目录

特征值和特征向量

相似矩阵

 orth--将矩阵正交规范化


特征值和特征向量

我们先看一下特征值和特征向量的定义:

可见,特征值可以通过特征方程(行列式)求得,则特征值与特征向量只存在于方阵中。

根据MATLAB中的帮助文档

help eig

e = eig(A) 返回一个列向量,其中包含方阵 A 的特征值。

>> A=[1 1 -1;1 -2 2;-3 1 3]

A =

     1     1    -1
     1    -2     2
    -3     1     3

>> e = eig(A)

e =

    4.0000
    1.0000
   -3.0000

由此求得矩阵A的特征值。

若同时求得矩阵A的特征值和对应的特征向量,可以采用下列命令:

其中D为特征值构成的对角阵,每个特征值对应于V矩阵中列向量(也正是其特征向量),如果只有一个返回变量,则得到该矩阵特征值构成的列向量。

>> [V,D] = eig(A)

V =

   -0.2202   -0.5774   -0.3015
    0.2752   -0.5774    0.9045
    0.9358   -0.5774   -0.3015


D =

    4.0000         0         0
         0    1.0000         0
         0         0   -3.0000

验证一下:A*V=V*D;V^-1*A*V=D

>> A*V

ans =

   -0.8808   -0.5774    0.9045
    1.1010   -0.5774   -2.7136
    3.7433   -0.5774    0.9045

>> V*D

ans =

   -0.8808   -0.5774    0.9045
    1.1010   -0.5774   -2.7136
    3.7433   -0.5774    0.9045

>> V^-1*A*V

ans =

    4.0000   -0.0000   -0.0000
   -0.0000    1.0000    0.0000
    0.0000   -0.0000   -3.0000

即特征值1对应的特征向量为(-0.5774,-0.5774,-0.5774)'。

A 的特征值位于 D 的对角线上。但是,特征值并未排序。

使用 diag(D) 从 D 的对角线上提取特征值,然后按升序对得到的向量进行排序。sort 的第二个输出返回索引的置换向量。

介绍一下diag()函数命令

diag

创建对角矩阵或获取矩阵的对角元素

v =

     4     1    -3

>> diag(v)

ans =

     4     0     0
     0     1     0
     0     0    -3

>> D=[4 0 0;0 1 0;0 0 -3]

D =

     4     0     0
     0     1     0
     0     0    -3

>> diag(D)

ans =

     4
     1
    -3

简而言之,当diag()命令的操作对象为行向量时,则生成的结果为对角矩阵;当diag()命令的操作对象为对角矩阵时,则生成的结果为主对角元素。

再介绍一下sort()函数命令:

sort

对数组元素排序

 sort()命令的操作对象为元素组,对特征值默认进行升序排序。ind的值表示的是对应的顺序,即矩阵D的主对角元素分别为a11=4、a22=1、a33=-3。

>> [d,ind] = sort(diag(D))

d =

    -3
     1
     4


ind =

     3
     2
     1

求出特征值排列后相对应的特征向量:

>> Vs = V(:,ind)

Vs =

   -0.3015   -0.5774   -0.2202
    0.9045   -0.5774    0.2752
   -0.3015   -0.5774    0.9358

对特征值进行降序排序时

>>  [d,ind] = sort(diag(D),'descend')

d =

     4
     1
    -3


ind =

     1
     2
     3

当矩阵A的特征值有重根时(如二重根λ1=λ2=0):

>> [V,D] = eig(A)

V =

   0.2673 + 0.0000i  -0.1996 + 0.4963i  -0.1996 - 0.4963i
   0.5345 + 0.0000i   0.7677 + 0.0000i   0.7677 + 0.0000i
   0.8018 + 0.0000i  -0.1228 - 0.3309i  -0.1228 + 0.3309i


D =

  13.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 - 0.0000i

相似矩阵

 若A与对角矩阵相似,则相似矩阵为上文中求得的V。

若A与一般矩阵相似,求相似矩阵可用下面这种方法。

P^-1*A*P=\Lambda

Q^-1*B*Q=\Lambda

则有V^-1*A*V=B,其中V=P*Q^-1

 orth--将矩阵正交规范化

先看一下这类题目的步骤:

 

>> A=[3 -2 -4;-2 6 -2;-4 -2 3]

A =

     3    -2    -4
    -2     6    -2
    -4    -2     3
>> eig(A)

ans =

    -2
     7
     7

>> B=orth(A) 

B =

   -0.7454    0.0000   -0.6667
    0.2981   -0.8944   -0.3333
    0.5963    0.4472   -0.6667

>> B^-1*A*B

ans =

    7.0000   -0.0000   -0.0000
   -0.0000    7.0000    0.0000
   -0.0000    0.0000   -2.0000

>> B'*B 

ans =

    1.0000   -0.0000   -0.0000
   -0.0000    1.0000   -0.0000
   -0.0000   -0.0000    1.0000

求得矩阵B即为正交矩阵。

注:正交矩阵不唯一。

补充:正交矩阵的性质

 

我是小韩每天进步一点点,一名研0的研究生,刚开始写博客。希望和大家多多交流,一起进步!

求朋友点赞、收藏、关注哈,鼓励一下新人博主,或者提出建议。

  • 2
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值