一、题目
设矩阵
- (1) 提取矩阵
的第一、三行,矩阵
的第一、三列;交换矩阵
的第一、 二行,矩阵
的第一、二列;
- (2) 删去矩阵
的第二行,删去矩阵
的第二列;
- (3) 计算
,
,
,
,
、
的特征值与特征向量,
、
的转置矩阵,将矩阵
上下颠倒、矩阵
左右颠倒,计算矩阵
的每行的最大值与均值、每列的最小值,输出矩阵
最大元素与最小元素所在的行与列位置、合并矩阵
和
;
- (4) 计算
,
,
,
,
,
,
。
二、解答
① 创建两个矩阵:
代码语言:javascript复制>> A = [4 -2 2;-3 0 5;1 5 3] %创建矩阵A
A =
4 -2 2
-3 0 5
1 5 3
>> B = [1 3 4;-2 0 3;2 -1 1] %创建矩阵B
B =
1 3 4
-2 0 3
2 -1 1
题一
1. 提取矩阵A的一、三行
代码语言:javascript复制>> A([1 3],:)
ans =
4 -2 2
1 5 3
2. 提取矩阵B的一、三列
代码语言:javascript复制>> B(:,[1 3])
ans =
1 4
-2 3
2 1
3. 交换矩阵 A 的第一、 二行
代码语言:javascript复制>> A([1 2],:) = A([2 1],:)
A =
-3 0 5
4 -2 2
1 5 3
4. 交换矩阵 B 的第一、二列
代码语言:javascript复制>> B(:,[1 2]) = B(:,[2 1])
B =
3 1 4
0 -2 3
-1 2 1
题二
1. 删去矩阵 A 的第二行
代码语言:javascript复制>> A([2],:) = []
A =
-3 0 5
1 5 3
2. 删去矩阵 B 的第二列
代码语言:javascript复制>> B(:,[2]) = []
B =
3 4
0 3
-1 1
题三
1. 计算
,
代码语言:javascript复制>> det(A)
ans =
-158
>> det(B)
ans =
35
2. 计算
、
代码语言:javascript复制>> inv(A)
ans =
0.1582 -0.1013 0.0633
-0.0886 -0.0633 0.1646
0.0949 0.1392 0.0380
>> inv(B)
ans =
0.0857 -0.2000 0.2571
0.2286 -0.2000 -0.3143
0.0571 0.2000 0.1714
3. 计算
、
的特征值与特征向量
代码语言:javascript复制>> [x1,y1] = eig(A)
x1 =
0.3055 0.8054 0.2410
0.7795 0.0974 0.5208
-0.5469 0.5847 0.8189
y1 =
-4.6842 0 0
0 5.2102 0
0 0 6.4740
>> [x2,y2] = eig(B)
x2 =
列 1 至 2
0.8210 0.0000i -0.0719 0.5666i
0.0181 0.0000i -0.7330 0.0000i
0.5706 0.0000i 0.1776 - 0.3240i
列 3
-0.0719 - 0.5666i
-0.7330 0.0000i
0.1776 0.3240i
y2 =
列 1 至 2
3.8461 0.0000i 0.0000 0.0000i
0.0000 0.0000i -0.9230 2.8720i
0.0000 0.0000i 0.0000 0.0000i
列 3
0.0000 0.0000i
0.0000 0.0000i
-0.9230 - 2.8720i
4. 求
、
的转置矩阵
代码语言:javascript复制>> A.'
ans =
4 -3 1
-2 0 5
2 5 3
>> B.'
ans =
1 -2 2
3 0 -1
4 3 1
5. 将矩阵
上下颠倒、矩阵
左右颠倒
代码语言:javascript复制>> flipud(A)
ans =
1 5 3
-3 0 5
4 -2 2
>> fliplr(B)
ans =
4 3 1
3 0 -2
1 -1 2
6. 计算矩阵
的每行的最大值与均值、每列的最小值
① 计算
的每行的最大值
代码语言:javascript复制>> max(A,[],2)
ans =
4
5
5
② 计算
的每行的均值
代码语言:javascript复制>> mean(A,2)
ans =
1.3333
0.6667
3.0000
③ 计算
的每列的最小值
代码语言:javascript复制>> min(A,[],1)
ans =
-3 -2 2
7. 输出矩阵
最大元素与最小元素所在的行与列位置
① 输出矩阵
最大元素所在的行与列位置
代码语言:javascript复制>> [x,y] = find(B==max(max(B)))
x =
1
y =
3
>> for i = 1:length(x)
fprintf('[%d,%d]n',x(i),y(i))
end
[1,3]
① 输出矩阵
最小元素所在的行与列位置
代码语言:javascript复制>> [x,y] = find(B==min(min(B)))
x =
2
y =
1
>> for i = 1:length(x)
fprintf('[%d,%d]n',x(i),y(i))
end
[2,1]
8. 合并矩阵
和
代码语言:javascript复制>> [A,B]
ans =
4 -2 2 1 3 4
-3 0 5 -2 0 3
1 5 3 2 -1 1
题四
1. 计算
代码语言:javascript复制>> A B
ans =
5 1 6
-5 0 8
3 4 4
2. 计算
代码语言:javascript复制>> A-B
ans =
3 -5 -2
-1 0 2
-1 6 2
3. 计算
代码语言:javascript复制>> A*B
ans =
12 10 12
7 -14 -7
-3 0 22
4. 计算
代码语言:javascript复制>> B*A
ans =
-1 18 29
-5 19 5
12 1 2
5. 计算
代码语言:javascript复制>> A*A
ans =
24 2 4
-7 31 9
-8 13 36
6. 计算
代码语言:javascript复制>> inv(A)*det(A)*B
ans =
-77.0000 -65.0000 -62.0000
-58.0000 68.0000 60.0000
17.0000 -39.0000 -132.0000
7. 计算
代码语言:javascript复制>> A/B
ans =
0 0 2.0000
0.0286 1.6000 0.0857
1.4000 -0.6000 -0.8000