【问题标题】:Number series with uniform distribution for a given variance and a mean in matlab对于给定方差和matlab中的均值具有均匀分布的数列
【发布时间】:2018-03-30 05:38:54
【问题描述】:
我想使用特定方差 (v) 和均值 (m) 的均匀分布生成 n 个点。
我目前正在使用 MATLAB 来完成这项任务。这可以使用y = v.*randn(n,1) + m; 对正态分布完成
在 MATLAB 中是否有任何直接的方法可以做到这一点?
【问题讨论】:
标签:
matlab
random
probability
uniform-distribution
【解决方案1】:
对于均匀分布,请使用 rand(randn 用于正态分布)。
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