Random number in a specific range

4 visualizzazioni (ultimi 30 giorni)
Bret
Bret il 13 Mag 2012
Hello,,I wanna generate random numbers from range for example [-0.2,0.2] using matlab functions like randn or sth. thanks in advance.

Risposta accettata

bym
bym il 13 Mag 2012
x = .4 * rand(100,1)-.2;
  1 Commento
Walter Roberson
Walter Roberson il 14 Mag 2012
This answer is good if you want uniform distribution. If you want normal distribution then this answer will not work; see my Answer.

Accedi per commentare.

Più risposte (2)

Oleg Komarov
Oleg Komarov il 13 Mag 2012
You can scroll down the documentation of randn for an example.
EDIT You don't even need to scroll down.
  2 Commenti
Walter Roberson
Walter Roberson il 14 Mag 2012
The closest I see in the randn documentation is for a given mean and standard deviation. Nothing about a given range. Not for randn.
http://www.mathworks.com/help/techdoc/ref/randn.html
Oleg Komarov
Oleg Komarov il 14 Mag 2012
Right, on the FEX there are contributions with random generators from truncated normal.

Accedi per commentare.


Walter Roberson
Walter Roberson il 14 Mag 2012
It is not possible to construct a normal distribution over a restricted range. By definition a normal distribution must have an infinite tail in both directions.
If you need something that is much like a normal distribution but is defined over a limited range, then consider using a beta distribution.

Categorie

Scopri di più su Random Number Generation in Help Center e File Exchange

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by