在MATLAB中,“矩阵元素的序号和下标可以相互转换”,这句话怎么理解?谢谢

问题同上,还有什么叫做“下标”?最好可以举个例子说说,感谢大家不求回报的帮助。

例如矩阵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

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-03-26
a = [1 2 3 4;5 6 7 8];
a[1,:] 这里1就是下标,表示第一行,:也是下标,指代所有的列。
至于那个序号一般向量里说得多
a = [1 2 3 4 5 6 7 8];
a[i] i既可以说是下标,也可以说是元素序列号。
第2个回答  2012-09-13
>> a=[1 2 3;4 5 6;7 8 9]
a =
1 2 3
4 5 6
7 8 9
>> b=find(a>=4&a<=8)
b =
2
3
5
6
8
>> a(b)
ans =
4
7
5
8
6
>>
相似回答