Intersection of three and more arrays
9 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Baisseyev Miram
il 15 Nov 2018
Commentato: Baisseyev Miram
il 16 Nov 2018
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.
0 Commenti
Risposta accettata
Bruno Luong
il 15 Nov 2018
My FEX returns the index of the arrays
8 Commenti
Bruno Luong
il 15 Nov 2018
Modificato: Bruno Luong
il 15 Nov 2018
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
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Logical in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!