Add a command for unique permutations

13 Ansichten (letzte 30 Tage)
bettythedigitalhero
bettythedigitalhero am 4 Dez. 2019
At this moment I have function which creates a matrix of n rows and Nvar columns. I want to add to the if-line that each permutation should be unique.
E.g. when I enter InitialPopulation(60,3); I get a lot of the same permutations but I want him to make a list of the unique ones.
This is my code:
function InitPop = InitialPopulation(n,Nvar)
InitPop = zeros(n, Nvar);
for index = 1:n
test = 0;
while test ~= 1
test = 0;
InitPop(index,:) = randperm(Nvar);
%random permutations of the vertices
if InitPop(index, 1) == 1
test = 1;
%making sure that the permutation starts with the first vertex
end
end
end
end

Antworten (1)

JESUS DAVID ARIZA ROYETH
JESUS DAVID ARIZA ROYETH am 4 Dez. 2019
you can make
list = unique (InitialPopulation (60,3), 'rows')
but it would no longer be 60 in size
On the other hand if you want to get all the permutations you can simply do:
perms (1: 3)

Kategorien

Mehr zu Startup and Shutdown finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by