8

我可以使用“==”运算符和“find()”函数在向量“数据”中查找值的位置,即 45:

data = [ 71 65 23 45 34 12 21 34 52 ];
value = 45;

find (data == value)
ans =  4

有没有办法在不使用循环的情况下对多个值执行相同的操作,即我想在一次调用中获得 [ 4 5 7 ]:

values = [ 45 34 21 ];
find (data == values)
error: mx_el_eq: nonconformant arguments (op1 is 1x9, op2 is 1x3)
error: evaluating argument list element number 1
error: evaluating argument list element number 1
4

1 回答 1

14

试试ismember函数:

data = [ 71 65 23 45 34 12 21 34 52 ];
values = [ 45 34 21 ];

find(ismember(data, values))

给予:

ans =

 4     5     7     8
于 2011-03-03T16:24:09.033 回答