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

时间:2010-10-02 18:36:00

标签: matlab

我有一个矩阵可以说

x =
 2     2     3
 4     3     2
 6     4     8

现在我想得到一个数字4的位置 我希望ans像这样:

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

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

2 个答案:

答案 0 :(得分:14)

使用find

[i,j] = find(x == 4)

答案 1 :(得分:1)

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来获得1s的数组指示:

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

   2
   3

j =

   1
   2

因此,指标是(2,1)和(3,2)。