Creating pairs of vector elements

17 次查看(过去 30 天)
N S
N S 2013-8-26
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.

回答(2 个)

Azzi Abdelmalek
Azzi Abdelmalek 2013-8-26
编辑:Azzi Abdelmalek 2013-8-26
% 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 2013-8-26
a = (1:9)';
b = a;
c = a;
[ii,jj,k] = ndgrid(a,b,c);
out = [ii(:),jj(:),k(:)];

类别

Help CenterFile Exchange 中查找有关 Linear Model Identification 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by