2

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

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

在 MATLAB 中是否有任何直接的方法可以做到这一点?

4

1 回答 1

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
于 2017-10-18T11:16:25.270 回答