matlab中find 函数如何使用

如题所述

matlab很常用,下面是find()函数的所有用法:

1、 b=find(a),a是一个矩阵,查询非零元素的位置,如果X是一个行向量,则返回一个行向量,否则,返回一个列向量。如果X全是零元素或者是空数组,则返回一个空数组,例子如下所示,也可以用b=find(a>2),这句的意思是在a中找到比较2大的元素;

2、b=find(a,2),找出a中最先出现的2个不为零的数,a是你所要找的矩阵,2参数是指数量;

3、c=find(a,2,'first'),用法和上例基本一样;

4、c=find(a,2,'last') 这句的意思是从最后一个非零元素起,找2个不为零的元素,如下图所示;

5、[a1,a2]=find(a),找出a矩阵中非零元素所在行和列,并存在a1,a2中;

6、[a1,a2,v]=find(a),找出矩阵中非零元素所在行和列,并存在a1、a2中,并将结果放在v中,下图所示1表示行号,2表示列号,3表示矩阵a中的非零值;

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-12-04

    用法一: b=find(a),a是一个矩阵,查询非零元素的位置,如果X是一个行向量,则返回一个行向量,否则,返回一个列向量。如果X全是零元素或者是空数组,则返回一个空数组,例子如下所示,也可以用b=find(a>2),这句的意思是在a中找到比较2大的元素

    用法二:b=find(a,2),找出a中最先出现的2个不为零的数,a是你所要找的矩阵,2参数是指数量所下图

    用法三:c=find(a,2,'first')用法和二基本一样,如下图

    用法四:c=find(a,2,'last') 这句的意思是从最后一个非零元素起,找2个不为零的元素,如下图所示

    用法五:[a1,a2]=find(a),找出a矩阵中非零元素所在行和列,并存在a1,a2中

    用法六:[a1,a2,v]=find(a),找出矩阵中非零元素所在行和列,并存在a1,a2中,并将结果放在v中,下图所示1,表示行号,2表示列号,3表示矩阵a中的非零值

    用法七:[a1,a2,val]=find(a>4),返回一个单位列向量,这里不满足a>4,所以出现如下图显示,最全的matlab 中的find()函数用法!

网页链接

望采纳

第2个回答  2016-03-04
find函数用于返回所需要元素的所在位置 (位置的判定:在矩阵中,第一列开始,自上而下,依次为1,2,3...,然后再从第二列,第三列依次往后数) find(A)返回矩阵A中非零元素所在位置 >> A = [1 0 4 -3 0 0 0 8 6]; >> X = find(A) X = 1 3 4 8 9 find(A>5)返回矩阵A中大于5的元素所在位置 >> find(A>5) ans = 8 9 [i,j,v]=find(A) 返回矩阵A中非零元素所在的行i,列j,和元素的值v(按所在位置先后顺序输出) >> A=[3 2 0; -5 0 7; 0 0 1]; >> [i,j,v]=find(A) i = 1 2 1 2 3 j = 1 1 2 3 3 v = 3 -5 2 7 1 find(A>m,4)返回矩阵A中前四个数值大于m的元素所在位置 也是自己理解,如有不正之处,还望指正!希望我可以帮上点小忙!
第3个回答  2017-11-15
如果对这个函数要学习,可在命令窗中help find查看用法,如果有具体问题不会用,可讲出来,帮你解决。
第4个回答  推荐于2017-11-17
find函数用于返回所需要元素的所在位置 (位置的判定:在矩阵中,第一列开始,自上而下,依次为1,2,3...,然后再从第二列,第三列依次往后数)

find(A)返回矩阵A中非零元素所在位置
>> A = [1 0 4 -3 0 0 0 8 6];
>> X = find(A)

X =

1 3 4 8 9
find(A>5)返回矩阵A中大于5的元素所在位置
>> find(A>5)

ans =

8 9

[i,j,v]=find(A) 返回矩阵A中非零元素所在的行i,列j,和元素的值v(按所在位置先后顺序输出)
>> A=[3 2 0; -5 0 7; 0 0 1];
>> [i,j,v]=find(A)

i =

1
2
1
2
3

j =

1
1
2
3
3

v =

3
-5
2
7
1

find(A>m,4)返回矩阵A中前四个数值大于m的元素所在位置

也是自己理解,如有不正之处,还望指正!希望我可以帮上点小忙!本回答被提问者采纳
相似回答