Info

This question is locked. Öffnen Sie sie erneut, um sie zu bearbeiten oder zu beantworten.

Making random to work like randi

5 Ansichten (letzte 30 Tage)
Snoopy
Snoopy am 4 Aug. 2025
Locked: Matt J am 4 Aug. 2025
I have this code
idx = randi(N_clusters,N_clusters,1);
but I want to use the random function to achieve the same output. I do not get into why I want to use the random function but it is important for my work flow. So then I tried
pd = makedist('DiscreteUniform','Lower',1,'Upper',N_clusters);
idx = random(pd,N_clusters,1);
But MATLAB gives an error that "DiscreteUniform" is not recognized. What is my best alternative usinf the random function, if I stll can.

Akzeptierte Antwort

Paul
Paul am 4 Aug. 2025
I wonder why makedist doesn't support Uniform Distribution (Discrete).
But random can be called with that distribution.
N_clusters = 10;
rng('default');
idx = randi(N_clusters,N_clusters,1)
idx = 10×1
9 10 2 10 7 1 3 6 10 10
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
rng('default');
random('Discrete Uniform',N_clusters,N_clusters,1)
ans = 10×1
9 10 2 10 7 1 3 6 10 10
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
  1 Kommentar
Snoopy
Snoopy am 4 Aug. 2025
This
idx = random('Discrete Uniform',N_clusters,[N_clusters 1]);
seems to work. I wonder about the makedist too. This caused the whole confusion on my end.

Weitere Antworten (1)

Matt J
Matt J am 4 Aug. 2025
Bearbeitet: Matt J am 4 Aug. 2025
idx = floor( (N_clusters-1)*rand(N_clusters,1) )+1
  11 Kommentare
Snoopy
Snoopy am 4 Aug. 2025
Yes, that is the problem and hence I am seeking a solution to that, using still the random function.
Matt J
Matt J am 4 Aug. 2025
Bearbeitet: Matt J am 4 Aug. 2025
AI suggested
But that's not what I suggested to you earlier. I suggested 'Uniform'
N_clusters = 10;
rng('default');
pd = makedist('Uniform','Lower',1,'Upper',N_clusters+1);
idx = floor(random(pd,N_clusters,1))
idx = 10×1
9 10 2 10 7 1 3 6 10 10
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>

This question is locked.

Kategorien

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

Produkte


Version

R2025a

Community Treasure Hunt

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

Start Hunting!

Translated by