Re:rand('seed',key)是用来做什么的呀
对于固定的key,不是说从此以后产生的随机数都是相同的,而是在相同的key下,第一次调用rand产生的结果是相同的。
就是说每次你要产生随机数的时候,比如你产生rand(10,1),先调用rand('seed',key),这里key是某个确定的整数,那么你得到的结果是相同的,再体会一下:
>> rand('seed',1)
>> rand(10,1) rand(m,n) m行n列随机数,在0 1之间
ans =
0.5129
0.4605
0.3504
0.0950
0.4337
0.7092
0.1160
0.0781
0.3693
0.0336
>> rand('seed',1)
>> rand(10,1)
ans =
0.5129
0.4605
0.3504
0.0950
0.4337
0.7092
0.1160
0.0781
0.3693
0.0336
如果你不调用rand('seed',1),直接调用rand(10,1),那么和第一次的结果是不一样的:
>> rand(10,1)
ans =
0.1922
0.4714
0.1449
0.7178
0.6617
0.4319
0.4460
0.5083
0.5281
0.5729
也就是说,在指定某个seed后,你第一次调用rand(10,1)得到的结果是“确定的”,相当于给rand设定了一个startpoint,相同的seed,对应的startpoint是相同的。