怎样返回matlab矩阵中某个元素的下标

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎样返回matlab矩阵中某个元素的下标相关的知识,希望对你有一定的参考价值。

0 . 0 5 . 5 6 . 0 3 . 1
1 . 3 6 . 0 1 . 1 6 . 0
6 . 0 4 . 3 2 . 3 1 . 1

列出值为 0.6 的元素的下标

1、首先需要知道matlab中求矩阵元素下标,可以使用find函数,在命令行窗口中输入“help find”,可以看到find函数的使用方法。

2、命令行窗口中输入 a=[1 3 5 6;7 8 12 9],创建一个a矩阵。

3、输入[row,col]=find(a==5),求a矩阵元素为5的下标。

4、按回车键之后,可以看到元素为5的下标是第1行第3列。

5、如果我们找的一个值在矩阵中有多个的话,返回的下标位置也是多个。

参考技术A

matlab的find()函数可以找出参数中非零元素的索引(即下标),因此获取矩阵中某个元素的下标的实现方法为:在matlab命令窗口输入find()函数。具体应用举例如下:

1、在matlab命令窗口输入一个示例矩阵:A = [1 2 3;3 4 5;5 6 7],输入及显示如下:

2、继续在命令窗口输入:[m,n] = find(A==2),表示二维矩阵A中等于2的元素的行列位置分别赋值给m和n,输出结果为:

即表示元素2在矩阵A的第1行第2列。

3、为了测试矩阵中存在多个元素的情况,例如查找元素3的下标,在命令窗口输入: [m,n] = find(A==3),此时输出结果为:

因为矩阵A中有两个元素都等于3,所以结果包含两组位置,分表表示第2行第1列和第1行第3列。

参考技术B 假设你上面的矩阵为a,用find函数就行了,如果你找的是不重复的某个数,例如6则在windows输入[row,col] =find(x == 6) 就会返回6行列数,如果是重复的数如0,则[row,col] =find(x == 0) 返回的是row=[1 2]
clo=[1 5]
意思是第1行第1列和第2行第5列都是0,行坐标和列坐标被分别放置的本回答被提问者采纳
参考技术C 你给的数据格式太模糊……
如果在rect中找value为val的值的位置,使用
ind=find(rect==val)%返回索引
[row column]=find(rect==val)%返回row和column
更多find()资料,请参阅百科wiki.ilovematlab.cn

参考资料:http://wiki.ilovematlab.cn/doc-view-298.html

参考技术D find(A == 1.1)

MATLAB中查找数组中的非零元素用啥函数

参考技术A B=A~=0
B矩阵中1的值的位置对应A中就是非0元素
参考技术B [r c] = find(A ~= 0),r c表示了所有非零元素的下标 参考技术C 用find即可,您可以试一下1

以上是关于怎样返回matlab矩阵中某个元素的下标的主要内容,如果未能解决你的问题,请参考以下文章

MATLAB学习四:矩阵寻访

用matlab如何求出一个数组中最接近某个数的两个数的下标??

MATLAB基础知识——1.4矩阵元素的引用

matlab-常用函数

MATLAB中如何找出第一个大于某数的元素的下标

稀疏矩阵某个元素对应一维数组的下标