su2ind函数是对矩阵索引号检索的函数,ans=sub2ind(size,I,J) 其中第一个参数size表示矩阵的行数和列数,I是转换矩阵的行标,J是转换矩阵的列标。I和J的行列数必须相同。最终结果ans对应I,J对应行列在整个矩阵中的索引。在命令窗口中输入验证:
实例1
>> sub2ind([10 10],9,2)
ans=19
表示求一个10*10矩阵中,第9行第2列对应的元素在整个矩阵中的索引。输出结果为19
实例2
>> B=magic(5)
B =
17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9
>> sub2ind(size(B),[1,2,3],[2,3,4])
ans =
6 12 18
表示求矩阵B中第1行(2行/3行)第2列(3列/4列)的元素在整个矩阵B中的索引,分别为6 12 18.
【注意】Matlab中数据是按照列的方式存储的,即是以第一列,第二列这样的顺序直到对应元素出现求其索引的。