rand()函数是产生随机数
但state是状态的意思,所以随机数也存在状态问题,当我们不给定义随机数状态的时候,每次产生的随机数就会不一样。
当我们提前输入
rand('state',0)
就会给当前产生随机数定义初始状态为0状态。
>> rand('state',0)
>> rand(3,1)
ans =
0.9501
0.2311
0.6068
>> rand('state',1)
>> rand(3,1)
ans =
0.9528
0.7041
0.9539
>> rand('state',0)
>> rand(3,1)
ans =
0.9501
0.2311
0.6068
通过在Matlab里面实现后,可看出0状态和1状态产生出来的随机数是不同的,但是再次在0状态下产生随机数是相同的。
由此可以理解为Matlab系统里有固定的数组,当我们给定义0状态时,产生相应的随机数,当我们给定义1状态时,产生另一些相应的随机数。以便于他人再次利用这些随机数进行操作和相应的学习。