PDA

查看完整版本 : 八度/ Matlab:向量化'=='运算符?


poster
2019-12-14, 20:13
我可以使用“ ==”运算符和“ 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 (http://www.mathworks.com/help/techdoc/ref/ismember.html)函数:

data = [ 71 65 23 45 34 12 21 34 52 ]; values = [ 45 34 21 ]; find(ismember(data, values)) 给予:

ans = 4 5 7 8

更多&回答... (https://stackoverflow.com/questions/5183457)