Is there any difference between rand(n,1) and unifrnd(0, 1, n, 1)?

9 vues (au cours des 30 derniers jours)
Fred
Fred le 18 Sep 2014
Is there any difference between
rand(n,1)
and
unifrnd(0, 1, n, 1)?

Réponse acceptée

Youssef  Khmou
Youssef Khmou le 18 Sep 2014
They both generate sample from uniform distribution, unifrnd offers a possibility to enter the parameters while with rand you need to adjust them, example of uniform distribution of interval [5,10] with size of 400 :
h1=unifrnd(5,10,1,400);
h2=5+5*rand(1,400); % same pdf
  3 commentaires
Image Analyst
Image Analyst le 19 Sep 2014
I find no unifrnd in base MATLAB, yet no toolbox is listed above.
Fred
Fred le 19 Sep 2014
@Image Analyst It's in Statistics toolbox

Connectez-vous pour commenter.

Plus de réponses (1)

Anne van Rossum
Anne van Rossum le 29 Juin 2016
There is less error checking in rand, which can be at times preferred... For example, if you need to generated random numbers between a and b, and it doesn't matter if a > b.
a = 5
b = -5
Then:
a+(b-a)*rand(1,400)
But you'll need to make sure a and b are properly ordered for unifrnd:
if (b < a)
[a, b] = deal(b, a);
end
unifrnd(a,b,1,400)
Or else your result will be a vector of NaNs.

Community Treasure Hunt

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

Start Hunting!

Translated by