Concise way to compare/find multiple values

If I have a matrix of integers called A and want to find the mask corresponding to values 1 and 7, I currently do this:
mask = (A == 1 | A == 7);
But is there a conciser way of doing this? Something like A == [1 7]. If I have many lookups I'd need to use a for loop or maybe bsxfun. It feels like there should be some simple way I'm missing.

 採用された回答

Birdman
Birdman 2017 年 12 月 15 日

3 投票

You may try ismember function.
ismember(A,[1 7]);

1 件のコメント

Jurgen
Jurgen 2017 年 12 月 15 日
I knew there was something! :D

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

製品

質問済み:

2017 年 12 月 15 日

コメント済み:

2017 年 12 月 15 日

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by