具有给定方差的均匀分布的数字序列和matlab中的均值

时间:2017-10-18 10:58:51

标签: matlab random probability uniform-distribution

我想使用特定方差(v)和均值(m)的均匀分布生成n个点。

我目前正在使用MATLAB来完成这项任务。这可以使用y = v.*randn(n,1) + m;

进行正态分发

在MATLAB中有没有直接的方法呢?

1 个答案:

答案 0 :(得分:1)

对于统一分发,请使用enter image description hererandn用于正态分发)。

rand生成在区间(0,1)上均匀分布的数字,因此均值为0.5,方差为1/12。要获得不同的均值或方差,您需要进行移位和缩放:

desired_mean = 3;
desired_var = 5;
N = 1e6; % number of samples
x = sqrt(12*desired_var) * (rand(1,N)-0.5) + desired_mean;

检查:

>> mean(x)
ans =
   3.003083912414557
>> var(x)
ans =
   4.998928353933906