【发布时间】:2017-02-09 05:50:43
【问题描述】:
我不知道如何描述这个问题,所以我这样命名。如果您有更好的想法,请修复它。我提前道歉。
我在使用 MATLAB 的普通随机生成器编写代码时遇到了问题。
clear all;
clc;
close all;
rng(0,'twister');
sigma=50;
mean(normrnd(10,sigma,20,1))
n=20;
mean(normrnd(10,sigma,n,1))
当我通过将生成器设置为 Mersenne Twister 并将种子设置为 0 来控制它时生成 20 个正态分布数字时,我可以使用上面提供的代码。我可以在 normrnd 函数中编写样本大小,或者我可以在函数外定义它,但是当你运行它并找到两种方式生成数字的方法时,你也会发现它们有很大的不同。第一个平均值是 43.2294,第二个平均值是 7.1280。有人知道这种情况吗?
【问题讨论】:
-
当您只使用 20 个数据点时,您如何期望均值相同?这是对您的分布进行采样不足的方式。尝试 10,000 点。
标签: matlab random normal-distribution mersenne-twister