求matlab中find的用法,[row,col]=find(X,...);

如题所述

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的元素所在位置追问

还是不大明白[i,j,v]=find(A) 中i和j到底返回的是什么

追答

i是行数,j是列数。比如上例元素3在矩阵A的第1行第1列,故i=1,j=1;再如-5在A的第2行第1列,故i=2,j=1,等等

温馨提示:答案为网友推荐,仅供参考
相似回答