2017-10-18 224 views
2

我想要使用特定方差(v)和均值(m)的均匀分布生成n个点。对于给定方差和均值在matlab中具有均匀分布的数列

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

正常分布来完成吗?是否有任何直接的方法可以在MATLAB中执行此操作?

+0

是的,但是,我想用一个均匀分布生成的数据集。 – ccc

回答

1

用于均匀分配使用randrandn用于正态分布)。

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 
+1

谢谢,路易斯!这工作... – ccc