查看单个帖子
旧 2019-12-14, 20:13   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
帖子 八度/ Matlab:向量化'=='运算符?

我可以使用“ ==”运算符和“ 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

更多&回答...
poster 当前离线   回复时引用此帖