临街小站

Matlab学习(四)

矩阵

矩阵是两维数字数组,要在 MATLAB 创建矩阵,输入的行各元素之间用空格或逗号分隔,行末使用分号标记。

1
2
3
4
5
6
7
8
9
>> A = [-1,6; 7, 11]
A =
-1 6
7 11
>> B = [2,0,1;-1,7,4; 3,0,1]
B =
2 0 1
-1 7 4
3 0 1

转置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
>> A = [-1 2 0; 6 4 1]
A =
-1 2 0
6 4 1
>> B = A'
B =
-1 6
2 4
0 1

% 如果矩阵包含有复数元素,那么转置操作会自动计算复数的共轭值:

>> C = [1+i, 4-i; 5+2*i, 3-3*i]
C =
1.0000 + 1.0000i 4.0000 - 1.0000i
5.0000 + 2.0000i 3.0000 - 3.0000i
>> D = C'
D =
1.0000 - 1.0000i 5.0000 - 2.0000i
4.0000 + 1.0000i 3.0000 + 3.0000i

% 如果要转置复数矩阵的而不计算它的共轭值,那么我们使用(.'

>> D = C.'
D =
1.0000 + 1.0000i 5.0000 + 2.0000i
4.0000 - 1.0000i 3.0000 - 3.0000i

乘法

与数组类似,矩阵的乘法同样分为两种:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
>> A = [12 3; -1 6]; B = [4 2; 9 1];
>> C = A .* B
C =
48 6
-9 6

>> A = [2 1; 1 2]; B = [3 4; 5 6];
>>> A * B
ans =
11 14
13 16

>> A = [1 4; 8 0; -1 3]; B = [-1 7 4; 2 1 -2];
>> C = A*B
C =
7 11 -4
-8 56 32
7 -4 -10

特殊矩阵

单元矩阵是一个对角线为非零元素其它元素为零的方形矩阵。要创建 n×n 的单元矩阵,输入下面的 MATLAB 命令:

1
2
3
4
5
6
>> eye(4)
ans =
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1

下面是创建全0或者全1的矩阵操作:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
>> zeros(3)

ans =

0 0 0
0 0 0
0 0 0

>> zeros(2,3)

ans =

0 0 0
0 0 0

>> ones(3)

ans =

1 1 1
1 1 1
1 1 1

>> ones(2,3)

ans =

1 1 1
1 1 1

矩阵引用

在 MATLAB 中,矩阵的单个元素或整列都能够被引用。考虑下面的矩阵:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
>> A = [1 2 3; 4 5 6; 7 8 9]
A =
1 2 3
4 5 6
7 8 9

% 单元素选择

>> A(2,3)
ans =
6

% 列元素选择

>> A(:,2)
ans =
2
5
8

% 行元素选择

>> A(2,:)
ans=
4 5 6

>> A(:,2:3)
ans =
2 3
5 6
8 9

>> E = A([1,1,1,1],:)
E =
1 2 3
1 2 3
1 2 3
1 2 3
clinjie wechat
Think about u every day