我想使用特定方差 (v) 和均值 (m) 的均匀分布生成 n 个点。
我目前正在使用 MATLAB 来完成这项任务。这可以使用正态分布来完成y = v.*randn(n,1) + m;
在 MATLAB 中是否有任何直接的方法可以做到这一点?
我想使用特定方差 (v) 和均值 (m) 的均匀分布生成 n 个点。
我目前正在使用 MATLAB 来完成这项任务。这可以使用正态分布来完成y = v.*randn(n,1) + m;
在 MATLAB 中是否有任何直接的方法可以做到这一点?
对于均匀分布使用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