MATLAB Answers

複数の比較対象に関し​てどのインデックスが​一致しているかを知る​方法

4 ビュー (過去 30 日間)
Yuki Koyama
Yuki Koyama 2020 年 5 月 10 日
コメント済み: Yuki Koyama 2020 年 5 月 10 日
たとえば,配列
11:20
に対して,
[11 12 14 14]
のように比較対象を用意します.
11は11:20の1番目の値に対応しています.同様に12は2番目,14は4番目の値です.
したがって,11:20と[11 12 14 14]を比較したとき,一致するインデックスの番号は
[1 2 4 4]
となります.
この結果を得るために,
rem((find((11:20==[11;12;14;14]).')),10)
とすることで所望の結果を得ることができましたが,もっと簡単な方法はないでしょうか?

  0 件のコメント

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

採用された回答

Akira Agata
Akira Agata 2020 年 5 月 10 日
ismember 関数を使うと、簡単に見つけることができます。たとえばご質問の例ですと、以下のようになります。
A = 11:20;
B = [11 12 14 14];
[~,loc] = ismember(B,A);
>> loc
loc =
1 2 4 4

  1 件のコメント

Yuki Koyama
Yuki Koyama 2020 年 5 月 10 日
ありがとうございます.まさに求めていたものです.活用していきます.

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

その他の回答 (0 件)

Community Treasure Hunt

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

Start Hunting!