Add a command for unique permutations

조회 수: 11 (최근 30일)
bettythedigitalhero
bettythedigitalhero 2019년 12월 4일
댓글: bettythedigitalhero 2019년 12월 4일
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

답변 (1개)

JESUS DAVID ARIZA ROYETH
JESUS DAVID ARIZA ROYETH 2019년 12월 4일
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)

카테고리

Help CenterFile Exchange에서 Startup and Shutdown에 대해 자세히 알아보기

제품

Community Treasure Hunt

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

Start Hunting!

Translated by