| 查看: 1139 | 回复: 1 | ||
husthc木虫 (正式写手)
|
[求助]
Matlab使用parfor时每次运行如何产生不同的随机数 已有1人参与
|
|
parfor ( j=1:4, 4 ) rand(1) end 我们每次运行这一小段程序都会产生四个相同的随机数,我想这可能是因为每次打开四个worker的时候每个worker的初始种子一样。 在串行的时候每次启动matlab也会产生相同的随机数,因为他的初始种子每次启动的时候都是0.我们可以通过rng('shuffle')来给一个与时间有关的种子,这样每次启动matlab的时候就可以产生不同的随机数。 请问相同的功能如何在并行的时候实现。 我试过以下代码,可能是因为某些worker的启动时间完全相同,这样worker之间会产生相同随机数。 parfor ( j=1:4, 4 ) rng('shuffle') rand(1) end 恳请大神解答 |
» 猜你喜欢
求助
已经有4人回复
0805材料320求调剂
已经有3人回复
297求调剂
已经有11人回复
268求调剂
已经有9人回复
一志愿西安交通大学材料工程专业 282分求调剂
已经有10人回复
278求调剂
已经有7人回复
26考研一志愿中国石油大学(华东)305分求调剂
已经有5人回复
280求调剂
已经有9人回复
279求调剂
已经有5人回复
286求调剂
已经有5人回复
2楼2017-06-05 17:47:55













回复此楼