矩阵的幂和平方根

矩阵的幂运算使用运算符“^”,幂运算具有类似X^p的形式。如果p是整数,则幂通过重复求平方来计算;如果该整数为负值,则首先计算矩阵X的逆;如果p取其他值,则计算需要用到特征值和特征向量,即如果[V,D]=eig(X),则X^p=VD.^p/V。

在命令窗口中输入

code.matlab
>> b=[21 34 20;78 20 21;17 34 31];
>> c=b^2
c =
        3433        2074        1754
        3555        3766        2631
        3536        2312        2015
>> d=b^-2
d =
    0.0023   -0.0002   -0.0017
    0.0032    0.0011   -0.0042
   -0.0077   -0.0009    0.0083

用sqrtm函数求取矩阵的平方根。该函数的语法格式如下。

X=sqrtm(A):求矩阵A的平方根X,即XX=A。X是唯一的平方根,此时每个特征值具有非负的实部。如果A的特征值中至少具有一个负的实部,则生成复数结果;如果A是奇异的,则A可能没有平方根。若系统发现矩阵A奇异,则生成警告信息。

[X,resnorm]=sqrtm(A):不生成任何警告信息,并返回残差norm(A-X^2, 'fro')/norm (A,'fro')。

[X,alpha,condest]=sqrtm(A):返回稳定性因子alpha和X矩阵平方根条件数的估计值condest。

在命令窗口中输入

code.matlab
>> a=[1 3 4;2,6,5;3 2,4];
>> c=sqrtm(a)
c =
   0.6190 + 0.8121i   0.8128 - 0.2263i   1.1623 - 0.4157i
   0.3347 + 0.1497i   2.3022 - 0.0417i   1.1475 - 0.0766i
   1.0271 - 0.5372i   0.3347 + 0.1497i   1.6461 + 0.2750i