How to avoid repetition in for loop that is using randi

2 Ansichten (letzte 30 Tage)
I have the following loop where I fill IDCELL with different combinations of ID numbers. However, if a combination of ID numbers already exists, I want the loop to move on and try again. VID1, VID2 are two 3x3 cells.
for o=1:numel(INCREASE2)
for oz=1:999
index=randi([1,numel(VID1)]);
ID1 = VID1{index};
index2 = randi([1, numel(VID2)]);
ID2 = VID2{index2};
%ID1 and ID2 cannot be the same number
if numel(intersect(ID1,ID2))|| %some statement here
continue
else
IDCELL{o}={ID1; ID2};
break
end
end
end

Akzeptierte Antwort

Alan Stevens
Alan Stevens am 13 Apr. 2021
Does randperm do what you want?
help randperm

Weitere Antworten (0)

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange

Produkte


Version

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by