单位矩阵:
eye(3) %3row 3col identity matrix
ans =
Diagonal Matrix
1 0 0
0 1 0
0 0 1
普通矩阵:
A=[1 3;5 7;9 11] %normal matrix
A =
1 3
5 7
9 11
通过上述可得出,行向量表示为[x x x],列向量表示为[x;x;x]
获取矩阵的维度:
size(A) % matrix dimension
ans =
3 2
获取向量长度:
>> ma=[1 2 3 4 5 6]
ma =
1 2 3 4 5 6
>> length(ma) % vector length
ans = 6
>>
获取指定位置的数据:
B=[1 2 3;5 6 7;9 10 11]
B =
1 2 3
5 6 7
9 10 11
>> B(3,1) % 3row,1col matrix indexes
ans = 9
获取整行数据:
>> B(2,:)
ans =
5 6 7
获取整列数据:
>> B(:,1)
ans =
1
5
9
求矩阵的逆:
A=[1 2;1 4]
A =
1 2
1 4
>> pinv(A) % pseudo inverse 伪逆
ans =
2.00000 -1.00000
-0.50000 0.50000
>> inv(A)
ans =
2.00000 -1.00000
-0.50000 0.50000
生成一个4x4的矩阵,且该矩阵每行之和=每列之和=对角线之和
A=magic(4)
A =
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
sum(A,1) %求每列之和
ans =
34 34 34 34
>> sum(A,2) %每行之和
ans =
34
34
34
34
>> A.*eye(4) %只留下主对角线
ans =
16 0 0 0
0 11 0 0
0 0 6 0
0 0 0 1
>> sum(sum(A.*eye(4))) %计算对角线的和
ans = 34
>>sum(sum(A.*flipud(eye(4)))) %计算副对角线之和
ans = 34
>>flipud(eye(4)) %使单位矩阵中的主对角线变成副对角线
>> exp(A) %以e为底数,e^x运算
ans =
8886110.52051 7.38906 20.08554 442413.39201
148.41316 59874.14172 22026.46579 2980.95799
8103.08393 1096.63316 403.42879 162754.79142
54.59815 1202604.28416 3269017.37247 2.71828
>> A+1 %矩阵中元素+1
ans =
17 3 4 14
6 12 11 9
10 8 7 13
5 15 16 2
>> abs(A) % 计算矩阵元素中的绝对值
ans =
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
>> log(A) % 运算log(X)
ans =
2.77259 0.69315 1.09861 2.56495
1.60944 2.39790 2.30259 2.07944
2.19722 1.94591 1.79176 2.48491
1.38629 2.63906 2.70805 0.00000
>> -A %矩阵中元素的相反数
ans =
-16 -2 -3 -13
-5 -11 -10 -8
-9 -7 -6 -12
-4 -14 -15 -1
>> A' %矩阵的转置
ans =
16 5 9 4
2 11 7 14
3 10 6 15
13 8 12 1
>> B=magic(2),C=[1 1;2 2],B+C %两个矩阵相加;对应位置上的元素相加
B =
4 3
1 2
C =
1 1
2 2
ans =
5 4
3 4
>> v=max(A) %取矩阵中每列max值
v =
16 14 15 13
[v,c]=max(A) %v为矩阵中每列max值,c为max值的行位置
v =
16 14 15 13
c =
1 4 4 1
>> max(A,[],1) % 每列的max值
ans =
16 14 15 13
>>max(A,[],2) % 每行的max值
ans =
16
11
12
15
取矩阵中最大的值:
>>max(max(A))
ans = 16
>> a=[1 2 3 4] %定义矩阵
a =
1 2 3 4
>> a>3 %让矩阵中每个元素与3比较,返回真假值
ans =
0 0 0 1
>> a<2 %让矩阵中每个元素与2比较,返回真假值
ans =
1 0 0 0
>> find(a>3) %让矩阵中每个元素与3比较,找出符合条件的值
ans = 4
>> prod(a) %各个元素相乘
ans = 24
>> b=[0.1 4 5 7.9]; %定义矩阵
>> floor(b) %矩阵元素向下取整
ans =
0 4 5 7
>> ceil(b) %矩阵元素向上取整
ans =
1 4 5 8
>> rand(3) %随机生成 3x3矩阵,元素值范围0-1
ans =
0.26595 0.83826 0.34971
0.78031 0.31777 0.65351
0.39140 0.97180 0.29602