我可以使用“==”运算符和“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
最佳答案
试试 ismember功能:
data = [ 71 65 23 45 34 12 21 34 52 ];
values = [ 45 34 21 ];
find(ismember(data, values))
给予:
ans =
4 5 7 8
关于matlab - 倍频程/Matlab : vectorising '==' operator?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5183457/