Intersection of three and more arrays
8 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Baisseyev Miram
le 15 Nov 2018
Commenté : Baisseyev Miram
le 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 commentaires
Réponse acceptée
Bruno Luong
le 15 Nov 2018
My FEX returns the index of the arrays
8 commentaires
Bruno Luong
le 15 Nov 2018
Modifié(e) : Bruno Luong
le 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
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Logical dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!