functions to exclude repetitions

2 次查看(过去 30 天)
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

采纳的回答

per isakson
per isakson 2013-4-4
Guess:
R2 = unique( R, 'stable' );
'stable' to avoid to sort R2
  3 个评论
Matt Kindig
Matt Kindig 2013-4-4
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ò 2013-4-5
randperm seems to be a good solution, i'll give it a shot.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by