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.

 采纳的回答

x = .4 * rand(100,1)-.2;

1 个评论

This answer is good if you want uniform distribution. If you want normal distribution then this answer will not work; see my Answer.

请先登录,再进行评论。

更多回答(2 个)

Oleg Komarov
Oleg Komarov 2012-5-13

0 个投票

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

2 个评论

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.

请先登录,再进行评论。

Walter Roberson
Walter Roberson 2012-5-14

0 个投票

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.

类别

帮助中心File Exchange 中查找有关 MATLAB 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by