Matlab矩阵处理之二

二、矩阵变换

目录

 对角阵

 三角阵

 矩阵的转置

 矩阵的旋转

 矩阵的翻转

 矩阵求逆

1.对角阵

 对角阵:只有对角线上有非零元素的矩阵;

 数量矩阵:对角线上的元素相等的对角矩阵;

 单位矩阵:对角线上的元素都为1的对角矩阵。

(1) 提取矩阵的对角线元素

 diag(A):提取矩阵A主对角线元素,产生一个列向量;

 diag(A,k):提取矩阵A第k条对角线的元素,产生一个列向量。

矩阵的对角线:与主对角线平行,往上为第1条、第2条、一直到第n条对角线,往下为第1条、-2条、一直到-n条对角线。主对角线为第0条对角线。

(2) 构造对角阵

 diag(V):以向量 V为主对角线元素,产生对角矩阵。

 diag(V,k):以向量 V为第k条对角线元素,产生对角矩阵。

2.三角阵

 上三角阵:矩阵的对角线以下的元素全为零的矩阵;

 下三角阵:对角线以上的元素全为零的矩阵。

(1)上三角矩阵

 triu(A):提取矩阵A的主对角线及以上的元素。

 triu(A,k):提取矩阵A的第k条对角线及以上的元素。

<< triu(ones(4),-1)

ans =

 1     1     1     1
 1     1     1     1
 0     1     1     1
 0     0     1     1

(2) 下三角矩阵

在MATLAB中,提取矩阵A的下三角矩阵的函数是tril,其用法与triu函数完全相同。

3.矩阵的转置

 转置运算符是小数点后面接单引号(.\');

 共轭转置,其运算符是单引号(\'),它在转置的基础上还要取每个数的复共轭。

 矩阵的转置:把源矩阵的第一行变成目标矩阵的第一列,第二行变成第二列,…,依此类推。

 如果矩阵的元素是实数,那么转置和共轭转置的结果是一样的。

A=[1,3;3+4i,1-2i]

A =

1.0000 + 0.0000i 3.0000 + 0.0000i

3.0000 + 4.0000i 1.0000 - 2.0000i

A.\'

ans =

1.0000 + 0.0000i 3.0000 + 4.0000i

3.0000 + 0.0000i 1.0000 - 2.0000i

A\'

ans =

1.0000 + 0.0000i 3.0000 - 4.0000i

3.0000 + 0.0000i 1.0000 + 2.0000i

4.矩阵的旋转

rot90(A,k):将矩阵A逆时针方向旋转90º的k倍,当k为1时可省略。

A=[1,3,2;-3,2,1;4,1,2]

A =

 1     3     2
-3     2     1
 4     1     2

rot90(A)

ans =

 2     1     2
 3     2     1
 1    -3     4

rot90(A,2)

ans =

 2     1     4
 1     2    -3
 2     3     1

5.矩阵的翻转

对矩阵实施左右翻转是将原矩阵的第一列和最后一列调换,第二列和倒数第二列调换,…,依此类推。

 fliplr(A):对矩阵A实施左右翻转;

 flipud(A):对矩阵A实施上下翻转。

6.矩阵的求逆

 对于一个方阵A,如果存在一个与其同阶的方阵B,使得AB=BA=I (I为单位矩阵),则称B为A的逆矩阵,当然,A也是B的逆矩阵;

 inv(A):求方阵A的逆矩阵。