例如矩阵a
>> a=[1 2 3; 4 5 6 ]
a =
1 2 3
4 5 6
则a(1,1)=1, a(2,3)=6,其中,a(1,1)表示a的第一行第一列的元素,a(2,3)表示a的第二行第三列的元素。(1,1)和 (2,3)就是下标(Subscript )。矩阵元素的序号就是矩阵元素的存储顺序,在这个例子中这个矩阵中的元素的存储顺序是1 4 2 5 3 6, 第4个元素即a(4)=5 。
“矩阵元素的序号和下标可以相互转换”,这句话就是说a(4)和a(2,2)一样,a(2)和a(2,2)一样,a(5)和a(1,3)一样。参见help sun2ind 。
可以通过下标(行列索引)引用矩阵的元素,如 Matrix(m,n)。也能用元素的序号来引用矩阵元素。矩阵元素的序号就是相应元素在内存中的摆列顺序。在MATLAB中,矩阵元素按列储存,先储存头列,再第二列,依次类推。序号(Index)与下标(Subscript )是一一对应的,以m*n矩阵A为例,矩阵元素A(i,j)的序号为(j-1)*m+i。其彼此转换关系也可利用sub2ind和ind2sub函数求得。
追问你好,说得很明白,但是有时需要输出元素时,它偏偏输出了序号,看下面的例子。
a =
4 15 -45 10 6
56 0 17 -45 0
find(a>=10&a<=20)
ans =
3
6
7
输出的结果是序号,那么我想问如何让它输出元素呢?有没有一种互换的命令?下标---序号---元素
追答find函数可以直接返回下标,语法:[ i j ]=find(a>=10&a<=20)
你可以输入help find查看更多调用格式。
“有没有一种互换的命令?下标---序号---元素” 前面说了“其彼此转换关系也可利用sub2ind和ind2sub函数求得”
多利用help命令查看你不太了解的函数
help sub2ind