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

初歩的な質問で申し訳ありません.
サイズの異なる列ベクトル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
と出てくることを期待しております.
ご教授いただければ幸いです.ご回答よろしくお願いいたします.

 Risposta accettata

Atsushi Ueno
Atsushi Ueno il 23 Gen 2022

0 voti

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 Commento

Shohei Taniguchi
Shohei Taniguchi il 23 Gen 2022
解決いたしました!
ご回答いただきありがとうございました.

Accedi per commentare.

Più risposte (0)

Prodotti

Release

R2020b

Tag

Community Treasure Hunt

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

Start Hunting!