Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.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 如何使用与for循环中相同的随机数生成parfor循环?_Matlab - Fatal编程技术网

Matlab 如何使用与for循环中相同的随机数生成parfor循环?

Matlab 如何使用与for循环中相同的随机数生成parfor循环?,matlab,Matlab,在matlab中,如果我调用 rng(0,'twister'); for i = 1:10 rand(1); %do something end a=rand(1) 当matlab启动“rng(0,'twister')”时,我将随机数生成器设置为初始状态,并始终获得相同的数字“a” 现在如果我使用下面的代码 rng(0,'twister'); parfor i = 1:10 rand(1); %do something end b=rand(1) 然后我也总是得到相同

在matlab中,如果我调用

rng(0,'twister');
for i = 1:10
   rand(1);
   %do something
end
a=rand(1)
当matlab启动“rng(0,'twister')”时,我将随机数生成器设置为初始状态,并始终获得相同的数字“a”

现在如果我使用下面的代码

rng(0,'twister');
parfor i = 1:10
   rand(1);
   %do something
end
b=rand(1)
然后我也总是得到相同的值“b”。 然而,“a”并不等于“b”。我能以某种方式实现平等吗

  • 我现在可以使用rand(1,10),但这只是为了演示。我不想在循环之前存储随机数

我认为,只有在parfor之外创建数字并发送给工作人员,请参阅并感谢链接,问题才能解决。我认为,只有在parfor之外创建数字并发送给工作人员,请参阅并感谢链接,问题才能解决。