Creating pairs of vector elements

11 visualizaciones (últimos 30 días)
N S
N S el 26 de Ag. de 2013
I have 3 vectors, each containing 9 elements. I want to create all the possible pairs (729) of the vector elements in a random order. What would be an efficient way to do it?
Thanks a million! N.

Respuestas (2)

Azzi Abdelmalek
Azzi Abdelmalek el 26 de Ag. de 2013
Editada: Azzi Abdelmalek el 26 de Ag. de 2013
% Example
a=randi(9,9,1);
b=randi(9,9,1);
c=randi(9,9,1);
%-----------------------------------
[ii2,jj2]=ndgrid(a,b);
[ii3,jj3]=ndgrid(1:numel(ii2),c);
v2=[a(ii2(:)) b(jj2(:))];
v3=[v2(ii3(:),:) c(jj3(:))];
n=size(v3,1);
v3=v3(randperm(n),:)

Andrei Bobrov
Andrei Bobrov el 26 de Ag. de 2013
a = (1:9)';
b = a;
c = a;
[ii,jj,k] = ndgrid(a,b,c);
out = [ii(:),jj(:),k(:)];

Categorías

Más información sobre Linear Model Identification en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by