一、矩阵元素的引用方式
(1)通过下标
A(3,2)表示A矩阵第三行第二列的元素
>>a(3,2)=200
注意只改变这个元素的值
(2)通过序号
*在MATLAB中,矩阵元素按列存储
*矩阵元素的序号就是矩阵元素在内存中的排列顺序
>>A=[1,2,3;4,5,6]
A=
1 2 3
4 5 6
>>A(3)
ans=
2
序号与下标是一一对应的,以m*n矩阵A为例,矩阵元素A(i,j)的序号为(j-1)*m+I
矩阵元素的序号和下标可以利用sub2ind和ind2sub函数相互转换
sub2ind函数:将矩阵中指定元素的行、列下标转换成存储的序号。调用格式为
D=sub2ind(S,I,J)
D:序号
S:行数和列数组成的向量
I:转换矩阵元素的行下标
J:转换矩阵元素的列下标
举例:
>>A=[1:3;4:6]
A=
1 2 3
4 5 6
>>D=sub2ind(size(A),[1,2;2,2],[1,1;3,2])
D=
1 2
6 4
Ind2sub函数:将把矩阵元素的序号转换成对应的下标,调用格式为:
[I,J]=ind2sub(S,D)
I:行下标
J:列下标
S:行数和列数组成的向量
D:序号
举例:
>>[I,J]=ind2sub([3,3],[1,3,5])
I=
1 3 2
J=
1 1 2
(3)利用冒号表达式
子矩阵是由矩阵中的一部分元素构成的矩阵
end运算符:表示某一维的末尾元素下标
二、利用空矩阵删除矩阵的元素
X=[]
三、改变矩阵的形状
Reshape(A,m,n):在矩阵总元素保持不变的前提下,将矩阵A重新排成m*n的二维矩阵
注意reshape函数只是改变原矩阵的行数和列数,但并不改变原矩阵的元素个数和存储顺序
特殊表达
A(:):将矩阵A的每一列元素堆叠起来,成为一个列向量