>> A = [1 2; 3 4; 5 6]
A =
1 2
3 4
5 6
>> B = [11 12; 13 14; 15 16]
B =
11 12
13 14
15 16
>> C = [1 1; 2 2]
C =
1 1
2 2
>> A * C % 矩阵的乘法
ans =
5 5
11 11
17 17
>> A + B % 矩阵的加法,也可写作A .+ B
ans =
12 14
16 18
20 22
>> A<4 % ans[i, j] = (A[i, j]<4)
ans =
1 1
1 0
0 0
>> find(A<4) % 找到符合条件的元素的序号(列优先排序)
ans =
1
2
4
对矩阵中的每个元素分别进行操作
>> A .* B % ans[i, j] = A[i, j] * B[i, j]
ans =
11 24
39 56
75 96
>> A .^ 2 % ans[i, j] = A[i,j] ^ 2
ans =
1 4
9 16
25 36
>> A .^ B % ans[i, j] = A[i, j] ^ B[i, j]
ans =
1 4096
1594323 268435456
30517578125 2821109907456
>> 1 ./ A % ans[i, j] = 1 / A[i, j]
ans =
1.00000 0.50000
0.33333 0.25000
0.20000 0.16667
>> log(A) % 对每个元素求对数
ans =
0.00000 0.69315
1.09861 1.38629
1.60944 1.79176
>> exp(A) % ans[i, j] = e ^ A[i, j]
ans =
2.7183 7.3891
20.0855 54.5982
148.4132 403.4288
>> -A % ans[i, j] = -A[i, j]
ans =
-1 -2
-3 -4
-5 -6
>> abs(-A) % ans[i, j] = | A[i, j] |
ans =
1 2
3 4
5 6
>> A=[1 2 3; 4 5 6; 7 8 9]
A =
1 2 3
4 5 6
7 8 9
>> sum(A) % 计算和:若为矩阵则计算列范围的和;若为向量则计算所有元素的和
ans =
12 15 18
>> sum(A, 1) % 列范围求和
ans =
12 15 18
>> sum(A, 2) % 行范围求和
ans =
6
15
24
>> prod(A) % 计算积,若为矩阵则计算每一列的积;若为向量则计算所有元素的积
ans =
28 80 162
>> v = [1 2 3 0.5]
v =
1.00000 2.00000 3.00000 0.50000
>> floor(v) % 对每个元素向下取整
ans =
1 2 3 0
>> ceil(v) % 对每个元素向上取整
ans =
1 2 3 1
>> max(rand(3), rand(3)) % 对矩阵中的每个位置,取对应位置的两个元素中最大的一个
ans =
0.40973 0.55714 0.92148
0.84970 0.84769 0.46497
0
>> max(A, [], 1) % 列范围取最大值,当存在第三个参数时,第二个参数无效,但又必须给第二个参数留个位置-_-||
>> % 第三个参数越界时,返回原矩阵A
ans =
7 8 9
>> max(A, [], 2) % 行范围取最大值
ans =
3
6
9
>> max(A) % 同max(A, [], 1)
ans =
7 8 9
>> max(max(A)) % 取矩阵中最大值
ans = 9
>> flipud(A) % 将矩阵沿水平中线翻转
ans =
7 8 9
4 5 6
1 2 3
>> A = magic(3) % 2*2的幻方(行、列、对角线的和都相等,且元素不重复, 2*2无法构造。除方便创造矩阵外在机器学习中没啥用)
A =
8 1 6
3 5 7
4 9 2
>> A = [1 2; 3 4; 5 6]
A =
1 2
3 4
5 6
>> A' % 转置矩阵
ans =
1 3 5
2 4 6
>> pinv(A) % 逆矩阵
ans =
-1.33333 -0.33333 0.66667
1.08333 0.33333 -0.41667
>> pinv(A)*A % 单位矩阵 A * A^-1 = E
ans =
1.0000e+00 4.4409e-16
-2.7756e-16 1.0000e+00