次元の異なる二つの列​ベクトルで一番最初に​一致する値を検索する​方法

6 views (last 30 days)
初歩的な質問で申し訳ありません.
サイズの異なる列ベクトルA,Bで一番最初に一致した値を抽出したいと思っております.
列ベクトルA,Bはそれぞれfind関数で抽出した,ある条件を満たした行数を表しているため,列数が増加するにつれて値も大きくなります.
以下試しましたが,当然ですが次元が一致していないというエラーメッセージが出ます.
A = [1;2;3;6;7;8;9;10;11;12];
B = [4;5;10;12;14];
C = A(A == B,1);
Arrays have incompatible sizes for this operation.
エラー:行列の次元は一致しなければなりません。
上記の例ですと,
C = 10
と出てくることを期待しております.
ご教授いただければ幸いです.ご回答よろしくお願いいたします.

Accepted Answer

Atsushi Ueno
Atsushi Ueno on 23 Jan 2022
A = [1;2;3;6;7;8;9;10;11;12];
B = [4;5;10;12;14];
common = A(ismember(A,B)) % B(ismember(B,A))
common = 2×1
10 12
common(1)
ans = 10
  1 Comment
Shohei Taniguchi
Shohei Taniguchi on 23 Jan 2022
解決いたしました!
ご回答いただきありがとうございました.

Sign in to comment.

More Answers (0)

Tags

Products


Release

R2020b

Community Treasure Hunt

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

Start Hunting!