Random number in a specific range

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

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

0 voti

You can scroll down the documentation of randn for an example.
EDIT You don't even need to scroll down.

2 Commenti

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
Right, on the FEX there are contributions with random generators from truncated normal.

Accedi per commentare.

Walter Roberson
Walter Roberson il 14 Mag 2012

0 voti

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 Centro assistenza e File Exchange

Prodotti

Richiesto:

il 13 Mag 2012

Community Treasure Hunt

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

Start Hunting!

Translated by