Algorithm 版 (精华区)
发信人: sino (茶水博士), 信区: Theory
标 题: Re: 随机函数
发信站: 哈工大紫丁香 (Sun Aug 27 13:28:53 2000), 转信
发信人: Charcoal (Big Wood), 信区: algorithm
发信站: NJU Lily BBS (Wed Apr 7 22:44:59 1999), 站内信件
【 在 zfly (Face/Off) 的大作中提到: 】
: 好象每种计算机语言都有随机函数。连汇编都有这样的例子:
: 什么取系统时间,小时乘几,分秒各乘几,再除几。。。听说其实
: 并不好。
: c,fortran,basic等语言的随机好象也不完美。但我想知道这些函数
: 是怎么得出的。(不要告诉我去看头文件或help,拜托了)
: 或有什么好算法?
当然,使用随机函数最重要的是要符合我们所模拟的对象的统计特征。
看其群体效应是与哪种分布相似。
下面再提供一个符合正态分布的随机函数:
float normal_random( void )
{
float ran1,ran2,s,x;
do
{
ran1 = uniform_random();
ran1 = 2 * ran1 - 1;
ran2 = uniform_random();
ran2 = 2 * ran2 - 1;
s = ran1 * ran1 + ran2 * ran2;
}while( s > 0 );
return( ran1 * sqrt( -2 * log( s ) / s ) );
}
--
※ 修改:.fib 於 Aug 27 13:26:34 修改本文.[FROM: bbs.hit.edu.cn]
--
※ 转寄:.南京大学小百合 bbs.nju.edu.cn.[FROM: bbs.hit.edu.cn]
--
☆ 来源:.哈工大紫丁香 bbs.hit.edu.cn.[FROM: fib.bbs@bbs.nju.edu.]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.921毫秒