我想在matlab中找到一个数字在矩阵中的位置

我想在matlab中找到一个数字在矩阵中的位置,matlab,Matlab,我有一个矩阵 x = 2 2 3 4 3 2 6 4 8 现在我想知道数字4的位置。 我想要这样的ans: ans=(2,1) (3,2) 因为这些是矩阵中4的位置。ismember将返回1或0的数组,具体取决于单元格值是否为您正在搜索的值: octave:9> x x = 2 2 3 4 3 2 6 4 8 octave:10> ismember(x,4) ans = 0

我有一个矩阵

x =
 2     2     3
 4     3     2
 6     4     8
现在我想知道数字4的位置。
我想要这样的
ans

ans=(2,1) (3,2)

因为这些是矩阵中4的位置。

ismember将返回1或0的数组,具体取决于单元格值是否为您正在搜索的值:

octave:9> x
x =

   2   2   3
   4   3   2
   6   4   8

octave:10> ismember(x,4)
ans =

   0
   1
   0
   0
   0
   1
   0
   0
   0
然后,您可以使用find和ind2sub获取1的数组标识:

octave:11> [i,j] = ind2sub(size(x),find(ismember(x,4)))
i =

   2
   3

j =

   1
   2
因此标记为(2,1)和(3,2)。

使用:


实际上,我想您甚至可以跳过ismember位,只使用find:[I,j]=ind2sub(size(x),find(x==4))
[i,j] = find(x == 4)