Diese Frage ist geschlossen. Öffnen Sie sie erneut, um sie zu bearbeiten oder zu beantworten.

Random vector non repeated otherwise create new vector

2 Ansichten (letzte 30 Tage)
Yigitalp Ozmen
Yigitalp Ozmen am 12 Jul. 2019
Geschlossen: MATLAB Answer Bot am 20 Aug. 2021
I have number list from 1 to 5. We know there are 120 different permutation for these. I want to write a rule that for my algorithm, I want to create a permutation that does not creaated before. For example,
1 2 3 4 5 first
2 3 4 5 1 second
2 3 4 5 1 nth it shouldn't be created. It is already in the second iteration.
So, by this manner creations should end at most 120th trial.
Can you help me solve this? I'm using randperm
Thank you.
  2 Kommentare
Stephen23 am 12 Jul. 2019
Create all permutations, then pick randomly.

Antworten (2)

Brendan Hamm
Brendan Hamm am 12 Jul. 2019
p = perms(1:5);
idx = randi([1,size(p,1)]);
selection = p(idx,:)

Yigitalp Ozmen
Yigitalp Ozmen am 12 Jul. 2019
Thank you for your answers. What about for bigger numbers such as 10. Matlab cant generate 10!. But maybe it can generate permutations different from previous ones. Is it achivable?

Community Treasure Hunt

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

Start Hunting!

Translated by