need help in creating matrix.....please

1 view (last 30 days)
I wanna create matrix like this A(m,n), which n defined by user input. matrix A is consist of combination between number 1,2,3. then the form of this matrix if n=3: A=[1 1 1; 2 1 1; 1 2 1; 1 1 2; 2 2 1; 2 1 2; 1 2 2; 2 2 2; 3 1 1; 1 3 1; 1 1 3; 3 3 1; 3 1 3; 1 3 3; 3 2 2; 2 3 2; 2 2 3; 1 2 3; 1 3 2; 2 1 3; 2 3 1; 3 2 1; 3 1 2; 3 3 3] please help me to create this matrix.
thanks in advance.

Accepted Answer

Andrei Bobrov
Andrei Bobrov on 12 Nov 2011
a = 1:3;
n = 3;
k = perms(reshape(ones(n,1)*a,1,[]));
aout1=unique(k(:,1:n),'rows');
OR
a2 = cell(1,n);
[a2{:}] = ndgrid(a);
aout2 = cell2mat(cellfun(@(x)x(:),a2,'un',0));
  3 Comments
andy ganteng
andy ganteng on 12 Nov 2011
wait, i have n=20, then both of code above cannot work....please answer...thanks

Sign in to comment.

More Answers (0)

Categories

Find more on Statistics and Machine Learning Toolbox in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!