怎样返回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、如果我们找的一个值在矩阵中有多个的话,返回的下标位置也是多个。
参考技术Amatlab的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~=0B矩阵中1的值的位置对应A中就是非0元素 参考技术B [r c] = find(A ~= 0),r c表示了所有非零元素的下标 参考技术C 用find即可,您可以试一下1
以上是关于怎样返回matlab矩阵中某个元素的下标的主要内容,如果未能解决你的问题,请参考以下文章