重点
MATLAB中的矩阵元素按列存储,其序号即是矩阵元素再内存中的排列顺序。例如:
>> A=[1,2;3,4]
A =
1 2
3 4
>> A(2)
ans =
3
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
可以看出2×3的矩阵,(1,1)位置序号为1,(2,1)位置序号为2,(2,3)位置序号为6,(2,2)位置序号为4。
ind2sub
函数把矩阵元素序号转换为对应下标。调用格式:
[I,J]=ind2sub(S,D)
同上,I和J分别为行列下标,S为行数和列数组成的向量,D为序号。例如:
>> A=[1:3;4:6]
A =
1 2 3
4 5 6
>>