How to make a general code for a set of pairs between 2 men and 3 women
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Hi, all
I just want to know how to make a code for a set of pairs between 2 men and 3 women. I used meshgrid function to generate pairs but I cannot make possible "a set of pairs". can you help me please? Thanks
An example of a set of pairs :
Given, Men = {M1, M2}; Women = {W1, W2, W3}
a set of pairs =
(M1, W1), (M2,W2)
(M1, W1), (M2,W3)
(M1, W2), (M2,W1)
(M1, W2), (M2,W3)
(M1, W3), (M2,W1)
(M1, W3), (M2,W2)
0 Kommentare
Akzeptierte Antwort
Andrei Bobrov
am 28 Jul. 2013
Bearbeitet: Andrei Bobrov
am 29 Jul. 2013
M = {'M1' 'M2'}
W = {'W1' 'W2' 'W3'}
w = perms(1:numel(W));
w = w(:,1:numel(M));
s = size(w);
out = mat2cell(reshape([M(ones(s(1),1)*(1:2));W(w)],s(1),[]),...
ones(s(1),1),s(2)*ones(1,s(2));
ADD
M = 100 + (1:4); % males
W = 50 + (1:3); % women
[s,ii] = sort(cellfun('length',{M,W}));
jj = perms(1:s(2));
p1 = d{ii(2)}(jj(:,1:s(1)));
p2 = ones(size(p1,1),1)*d{ii(1)};
out = reshape([p2;p1],[],s(1)*2);
5 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Numeric Types finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!