首页 > 编程笔记

MATLAB求矩阵的逆

对于 n 阶方阵 A,如果有 n 阶方阵 B 满足 AB=BA=I,则称方阵 A 为可逆的,称方阵 B 为 A 的逆矩阵,记为 A-1

1、可逆矩阵的性质

一般地,可逆矩阵具有如下性质:
满足 |A|≠0 的方阵 A 称为非奇异的,否则就称为奇异的。

求解矩阵的逆使用函数 inv,调用格式为:
Y=inv(X)

【实例】求解矩阵的逆。在 MATLAB 命令行窗口中输入以下命令:
>> clear              % 清除工作区的变量
>> A=rand(3)         % 创建一个3×3的随机数矩阵A
A =
    0.0540    0.9340   0.4694
    0.5308    0.1299   0.0119
    0.7792    0.5688   0.3371
>> B = inv(A)         % 求矩阵A的逆矩阵
B =
   -0.5946    0.7689   0.8008
    4.7250    4.5818  -3.9912
   -3.2235  -14.1952   7.8498

注意,逆矩阵必须使用方阵,即 2×2、3×3,即 n×n 格式的矩阵,否则弹出警告信息。例如:
>> A=[1 -1;0 1;2 3];  % 创建3×2的矩阵A
>> B=inv(A)           % 求矩阵A的逆矩阵
错误使用 inv
矩阵必须为方阵

2、矩阵的求逆条件数运算

求解矩阵的逆条件数值使用函数 rcond,调用格式为
C=rcond(A)
【实例】求解矩阵的逆条件数。在 MATLAB 命令行窗口中输入以下命令:
>> clear              % 清除工作区的变量
>>  A=rand(3)         % 创建一个3×3的随机数矩阵A
A =
    0.0540    0.9340   0.4694
    0.5308    0.1299   0.0119
    0.7792    0.5688   0.3371
>> C = rcond(A)       % 求矩阵A的逆条件数
C =
    0.0349

【实例】求下列矩阵的逆矩阵与转置矩阵。


在 MATLAB 命令行窗口中输入以下命令:
>> clear                    % 清除工作区的变量
>> A=[1 -1 2;0 1 6;2 3 4]   % 输入矩阵A
A =
     1    -1     2
     0     1     6
     2     3     4
>> B=inv(A)                 % 求矩阵A的逆矩阵
B =
    0.4667   -0.3333    0.2667
   -0.4000         0    0.2000
    0.0667    0.1667   -0.0333
>> C=A'                     % 求矩阵A的转置矩阵
C =
     1     0     2
    -1     1     3
     2     6     4

【实例】验证逆矩阵性质 (λA)-1-1A-1。在 MATLAB 命令行窗口中输入以下命令:
>> clear                    % 清除工作区的变量
>> A=[1,-1,2;0,1,6;2,3,4];  % 创建一个3×3的方阵A
>> A1=6*A                   % 计算6与矩阵A的乘积
A1 =
     6    -6    12
     0     6    36
    12    18    24
>> B1=6*inv(A)              % 计算6与矩阵A的逆矩阵的乘积
B1 =
    2.8000   -2.0000   1.6000
   -2.4000         0   1.2000
    0.4000    1.0000  -0.2000
>> B2=inv(6)*inv(A)         % 计算6的倒数与A的逆矩阵的乘积
B2 =
    0.0778   -0.0556   0.0444
   -0.0667        0   0.0333
    0.0111    0.0278   -0.0056
>> B3=inv(A1)               % 计算6与矩阵A的乘积的逆矩阵
B3 =
    0.0778   -0.0556   0.0444
   -0.0667         0   0.0333
    0.0111    0.0278  -0.0056

推荐阅读