functions to exclude repetitions

hello everyone, I want to know if there is a function that allows me, through a random variable, to run my code with all the elements of a matrix 1xn without repetition. here's an example of what i want to do:
Caos = [1:10]; %is my matrix
a = min(Caos); %minimum value of "Caos"
b = max(Caos); %maximum value of "Caos"
c = length(Caos);
d = 0; %counter
R = randi([a b],1); %random variable that's I don't want to repeat
while d<c
%execute my code
d=d+1
end

 Akzeptierte Antwort

per isakson
per isakson am 4 Apr. 2013

0 Stimmen

Guess:
R2 = unique( R, 'stable' );
'stable' to avoid to sort R2

3 Kommentare

Nicolò
Nicolò am 4 Apr. 2013
ehm no, I want to keep the elements from array without the result's repetition. Like the balls with the numbers in lottery : you must take each time once until they finish.
It sounds like randperm() is what you want, then. This will randomly sort all of the integers between 1 and n, where n=10 in your example. You can then iterate through the elements of this vector, which by definition will not contain repeats (simulating your lottery-ball example).
doc randperm
Nicolò
Nicolò am 5 Apr. 2013
randperm seems to be a good solution, i'll give it a shot.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Random Number Generation finden Sie in Hilfe-Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by