美丽飞机

文章
5
资源
0
加入时间
4年1月24天

Matlab中rand('state',sum(clock))解析

一.问题来源 来自于一份PSO代码,PSO中需要初始化粒子位置和速度。二.问题探究 众所周知,Matlab中的rand()函数产生的是伪随机数,但一般用来也可以接受。但是,如果我们知道伪随机数的初始状态,那么产生的伪随机数是唯一确定的。问题来了,Matlab每次启动会重置rand()和randn()的初始状态(重置为0),也就是说,你产生的随机数会出现两次随机数一模一样的情况,如: