Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MATLAB:从不同的分布生成两个独立的随机变量_Matlab - Fatal编程技术网

MATLAB:从不同的分布生成两个独立的随机变量

MATLAB:从不同的分布生成两个独立的随机变量,matlab,Matlab,当我多次运行rand函数时,它会生成一个遵循均匀分布的随机值序列,每个值都是根据前一个值计算出来的,因此整个序列是针对单个随机变量的,该随机变量的完整范围为0:1 现在在我的模拟程序中,我有两个独立的随机变量X,Y。在每次迭代中,我都应该为它们中的每一个生成一个新值,有时只为其中一个生成一个新值。所以我为X生成一个值,然后Y然后X然后Y。。。等等。这一生成顺序意味着它们共享相同的种子和0:1范围,因此在一个变量的情况下,之前生成的数字序列现在分布在两个变量上 我需要每个变量都有自己的独立序列,而

当我多次运行
rand
函数时,它会生成一个遵循均匀分布的随机值序列,每个值都是根据前一个值计算出来的,因此整个序列是针对单个随机变量的,该随机变量的完整范围为
0:1

现在在我的模拟程序中,我有两个独立的随机变量
X,Y
。在每次迭代中,我都应该为它们中的每一个生成一个新值,有时只为其中一个生成一个新值。所以我为
X
生成一个值,然后
Y
然后
X
然后
Y
。。。等等。这一生成顺序意味着它们共享相同的种子和
0:1
范围,因此在一个变量的情况下,之前生成的数字序列现在分布在两个变量上


我需要每个变量都有自己的独立序列,而不是共享同一序列。这是为了模拟的质量。有什么帮助吗?

听起来您想创建两个不同的实例,如下所示:

[xstream, ystream] = RandStream.create('mrg32k3a', 'NumStreams', 2)
for ii = 1:1000
    x = rand(xstream)
    y = rand(ystream)
    % compute simulation step here
end

随机数发生器通过设计,返回独立、均匀分布的随机变量。因此,这里没有任何问题。如果您担心x和y之间存在相关性,那么您需要担心x的不同值之间也存在相关性。人们非常努力地工作,以确保随机数生成器中不同值之间的相关性为零(无论种子是什么)。

嗯,我真的不知道那么多,但我认为如果它是均匀分布的,那么集合的任何子分区都是过均匀分布的,如果你正在生成它们(即,您根据标准选择一些数字的集合分区不会是,但您描述的情况应该是)不确定为什么会被否决。我认为这是正确的。我认为这正是我想要的。谢谢。