重点
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
>> [I,J]=ind2sub(size(A),[1,2,6,4])
I =
1 2 2 2
J =
1 1 3 2
与之前的sub2ind函数相对应。

这篇MATLAB笔记详细介绍了如何使用sub2ind将矩阵的行列下标转换为存储序号,以及如何通过ind2sub函数进行反向转换。此外,还讲解了如何删除矩阵的行或列元素,并利用reshape函数改变矩阵的形状。最后,提到了linspace函数用于创建等差序列。
最低0.47元/天 解锁文章
6939

被折叠的 条评论
为什么被折叠?



