MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   MATLAB论坛 (https://www.labfans.com/bbs/forumdisplay.php?f=6)
-   -   [求助]菜鸟求助--rand()问题 (https://www.labfans.com/bbs/showthread.php?t=4717)

GoldSpear 2008-10-04 11:25

[求助]菜鸟求助--rand()问题
 
发现用rand()产生的伪随机数太有规律了
每次500点的 dla分形都能做出一模一样的图来。。。:sweat:

请问下有没有办法在Matlab中产生与机器时间关联的随机数,即种子每次不同

大谢~~~

meteora1005 2008-10-04 12:01

回复: [求助]菜鸟求助--rand()问题
 
2 个附件
rand是0-1间的均匀分布的生成函数,还有其它分布的生成函数,你自己看一下。

GoldSpear 2008-10-04 13:32

回复: [求助]菜鸟求助--rand()问题
 
re ls

我的问题不在于随机数的分布
而是如何改变产生伪随机数的种子,用rand()的话,每次初始运行Matlab时dla做出的图都一样,因为rand()总是从相同的种子开始产生,比如:第一个总是0.9501,第二个总是0.2311,以此类推。。。
这个对monte carlo的结果会有一定的影响

当然一种办法是多重套用随机数产生命令,从而每次获得不同的初始值,但这个办法依然很局限

C中的解决办法很简单,即用即时的机器时间作为种子,这样保证了更高的随机性

所以我的问题是matlab中有没有类似的办法

fanxing39 2008-10-05 02:01

回复: [求助]菜鸟求助--rand()问题
 
好问题!:tongue:

FFirX 2008-10-05 10:55

回复: [求助]菜鸟求助--rand()问题
 
rand('seed',second(now)) %先由当前时间秒数产生种子
rand() %这里就可以用rand()产生随机数了
%为了得到不相同的结果,当然也可以和hour()和minate()一同使用,以保证种子在很大范围内不同

GoldSpear 2008-10-05 15:40

回复: [求助]菜鸟求助--rand()问题
 
谢ls,和lss,呵呵


所有时间均为北京时间。现在的时间是 12:33

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.