()
矩阵变换:
(1)对角矩阵对角矩阵:只在对角线上有非零元素的矩阵。
数量矩阵:对角线上元素相等的对角矩阵。
单位矩阵:对角元素全为1的对角矩阵。
(1)提取矩阵的对角元素
Diag(A):提取矩阵A的主对角线元素,生成列向量。
Diag(A,k):提取矩阵A的第kth个对角元素,生成列向量。
对角线解释
示例:
命令行窗口输入如下:
a=[1 0 0 0 0;0 3 0 0 0;0 0 2 0 0;0 0 0 5 0;0 0 0 0 6]
按回车键显示结果:(以下命令输入与显示操作类似)
A=
1 0 0 0 0
0 3 0 0 0
0 0 2 0 0
0 0 0 5 0
0 0 0 0 6
诊断(一)
ans=
一个
三
2
五
六
a=[1 2 3 4 5;2 3 4 5 6;3 4 5 6 7;4 5 6 7 8;5 6 7 8 9]
A=
1 2 3 4 5
2 3 4 5 6
3 4 5 6 7
4 5 6 7 8
5 6 7 8 9
诊断(一)
ans=
一个
三
五
七
九
诊断(甲,乙)
ans=
三
五
七
诊断(A,-2)
ans=
三
五
七
图(V):以向量V为主对角元素生成对角矩阵。
Diag(V,k):使用向量V作为第kth个对角元素来生成对角矩阵。
示例:
n
n=
1 2 3 4 5
诊断(n)
ans=
1 0 0 0 0
0 2 0 0 0
0 0 3 0 0
0 0 0 4 0
0 0 0 0 5
诊断(n,1)
ans=
0 1 0 0 0 0
0 0 2 0 0 0
0 0 0 3 0 0
0 0 0 0 4 0
0 0 0 0 0 5
0 0 0 0 0 0
诊断(n,-1)
ans=
0 0 0 0 0 0
1 0 0 0 0 0
0 2 0 0 0 0
0 0 3 0 0 0
0 0 0 4 0 0
0 0 0 0 5 0
示例:首先构建一个55的矩阵A,然后将A的第一行中的元素乘以1,第二行乘以2,……,第五行乘以5。
a=[7 0 1 0 5;3 5 7 4 1;4 0 3 0 2;1 1 9 2 3;1 8 5 2 9]
A=
7 0 1 0 5
3 5 7 4 1
4 0 3 0 2
1 1 9 2 3
1 8 5 2 9
d=diag(1:5);
丁*甲
ans=
7 0 1 0 5
6 10 14 8 2
12 0 9 0 6
4 4 36 8 12
5 40 25 10 45
(2)三角矩阵
上三角矩阵:矩阵对角线以下的所有元素都为零的矩阵。
下三角矩阵:对角线以上所有元素都为零的矩阵。
上三角矩阵:triu函数
Triu(A)提取矩阵A的主对角线及以上元素。
Triu(A,k)从矩阵A及以上的k对角线上提取元素。
示例:
triu(one(4),-1)
ans=
1 1 1 1
1 1 1 1
0 1 1 1
0 0 1 1
下三角矩阵
在MATLAB中,提取矩阵A的下三角矩阵的函数是tril,其用法与triu函数完全相同。
矩阵换位:
转置运算符是小数点,后跟单引号(。').
共轭换位,运算符为单引号('),在换位的基础上取每个数的复共轭。
A=
1.0000 0.0000i 3.0000 0.0000i
3.0000 4.0000 1.0000-2.0000 I
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
注:当所有矩阵元素都是实数时,A '和A '得到的结果是一样的。
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
矩阵翻转:
Fliplr(A): FliplR (a)将矩阵A从左向右翻转;
翻转(A):上下翻转矩阵A。
例:验证魔方矩阵的主对角线和辅助对角线元素之和相等。
A
A=
17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9
D1=诊断(A);
sum(D1)
ans=
65
b=flip ud(A);
D2=诊断(B);
sum(D2)
ans=
65
MATLAB软件