Intersection of three and more arrays

9 ビュー (過去 30 日間)
Baisseyev Miram
Baisseyev Miram 2018 年 11 月 15 日
コメント済み: Baisseyev Miram 2018 年 11 月 16 日
Hi, is it possible in matlab to find intersection of three and more arrays and index of intersection value in each of three array? Like [C,ia,ib] = intersect(A,B) but for three or more arrays.

採用された回答

Bruno Luong
Bruno Luong 2018 年 11 月 15 日
My FEX returns the index of the arrays
  8 件のコメント
Bruno Luong
Bruno Luong 2018 年 11 月 15 日
編集済み: Bruno Luong 2018 年 11 月 15 日
IIUC, what you want is the common element with the lowest max indexes over all the set.
a = [5,6,4,7,8],
b = [7,8,6,5,4],
c = [4,8,5,6,7],
sets = {a,b,c};
nset = length(sets);
idx = cell(1,nset);
[s,idx{:}] = mintersect(sets{:});
idx = cat(1,idx{:});
imax = accumarray(repmat((1:length(s))',nset,1),idx,[],@max);
[~,iminmax] = min(imax);
firstelem = s(iminmax) % returns 5
Baisseyev Miram
Baisseyev Miram 2018 年 11 月 16 日
Yes, thank you very much for spending your time

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeLogical についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by