- 1、本文档共28页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
随机数生成原理 实现方法 不同编程语言得随机数函数
1-0:Microsoft VC++产生随机数的原理:
Srand ( )和Rand( )函数。它本质上是利用线性同余法,y=ax+b(mod m)。其中a,b,m都是常数。因此rand的产生决定于x,x被称为Seed。Seed需要程序中设定,一般情况下取系统时间作为种子。它产生的随机数之间的相关性很小,取值范围是0—32767(int),即双字节(16位数),若用unsigned int 双字节是65535,四字节是4294967295,一般可以满足要求。
1-1: 线性同余法:
其中M是模数,A是乘数,C是增量,为初始值,当C=0时,称此算法为乘同余法;若C≠0,则称算法为混合同余法,当C取不为零的适当数值时,有一些优点,但优点并不突出,故常取C=0。模M大小是发生器周期长短的主要标志,常见有M为素数,取A为M的原根,则周期T=M-1。例如:
a=1220703125
a=32719 (程序中用此组数)
a=16807
代码:
void main( )
{
const int n=100;
double a=32719,m=1,f[n+1],g[n],seed;
m=pow(2,31);
cout设置m值为 m-1endl;
cout输入种子endl; //输入种子
cinseed;
f[0]=seed;
for(int i=1;i=n;i++) //线性同余法生成随机数
{
f[i]=fmod((a*f[i-1]),(m-1));
g[i-1]=f[i]/(m-1);
cout.setf(ios::fixed);cout.precision(6); //设置输出精度
couti \tg[i-1]endl;
}
}
结果分析:统计数据的平均值为:0.485653
统计数据的方差为:0.320576
1-2:人字映射
递推公式
就是有名的混沌映射中的“人字映射”或称“帐篷映射”,它的非周期轨道点的分布密度函数:人字映射与线性同余法结合,可产生统计性质优良的均匀随机数。
for(int i=1;i=n;i++) //线性同余法生成随机数
{
f[i]=fmod((a*f[i-1]),m);
if(f[i]=m/2) //与人字映射结合生成随机数
{
f[i]=2*f[i];
}
else
{
f[i]=2*(m-f[i])+1;
}
1-3:平方取中法——冯?诺伊曼
1946年前后,由冯?诺伊曼提出,他的办法是去前面的随机数的平方,并抽取中部的数字。例如要生成10位数字,而且先前的值是5772156649,平方后得到33317792380594909201,所以下一个数是7923805949。
for(j=1;j=n;j++)
{
i[j]=i[j-1]*i[j-1];
i[j]=i[j]/pow(10,5);
i[j]=fmod(i[j],pow(10,10));
g[j]=i[j]/pow(10,10);
cout.setf(ios::fixed);cout.precision(6); //设置输出精度
coutj\tg[j]endl;
}
二:任意分布随机数的生成
利用(0,1)均匀分布的随机数可以产生任意分布的随机数。主要的方法有反函数法,舍选法,离散逼近法,极限近似法和随机变量函数法等。这里主要讨论了反函数法,当然对于具体分布函数可以采用不同的方法。
设随机变量X具有分布函数F(X),则对一个给定的分布函数值,X的值为
其中inv表示反函数。现假设r是(0,1)均匀分布的随机变量R的一个值,已知R的分布函数为
因此,如果r是R的一个值,则X具有概率
也就是说如果 (r1,r2,...,rn)是R的一组值,则相应可得到的一组值
具有分布。从而,如果我们已知分布函数的反函数,我们就可以从
您可能关注的文档
- 重力、弹力、摩擦力得分析与计算.ppt
- 配合物得形成.ppt
- 配合物得化学键理论.ppt
- 重型设备高强度地脚螺栓预紧力得确定.doc
- 重复接地与等电位联结得探讨.doc
- 采用Global Mapper14输出指定区域JPG图像得方法.doc
- 天天酷跑埃及艳后VS特种大尉得分能力实测对比.pdf
- 采煤机得部件功能.ppt
- 采用WEVB系统后,柴油机排气门间隙得调整方法.doc
- 重型卡车主减速器及差速器得设计.doc
- 小学数学试卷一年级上册期中测试卷含答案(培优a卷).docx
- 行政行为的法律性质分析试题及答案.docx
- 小学数学试卷一年级上册期中测试卷含答案【达标题】.docx
- 江苏省泰州市靖江高级中学2023-2024学年高二上学期期中考地理含解析.docx
- 小学数学试卷一年级上册期中测试卷含答案【达标题】.docx
- 小学数学试卷一年级上册期中测试卷含答案【达标题】.docx
- 小学数学试卷一年级上册期中测试卷含答案【黄金题型】.docx
- 小学数学试卷一年级上册期中测试卷含答案【综合题】.docx
- 小学数学试卷一年级上册期中测试卷含答案【考试直接用】.docx
- 小学数学试卷一年级上册期中测试卷含答案【精练】.docx
最近下载
- (安卓手机刷机包制作.doc VIP
- 学生如何预防颈椎疾病.pptx VIP
- 美学观点和历史观点的批评标准市公开课金奖市赛课一等奖课件.pptx
- T_CTSS 58-2022_茶叶感官风味轮.pdf
- 2025年北京市朝阳区高三二模物理试卷及答案.pdf
- 保险投诉培训课件.pptx VIP
- SWITCH暗黑破坏神3超级金手指修改 版本号:2.7.4.84040.docx
- 第52次《中国互联网络发展状况统计报告》.docx
- 八年级下册-【知识速记】备战2023年中考地理核心知识背记(湘教版).docx VIP
- 七年级上册(考点梳理课件)-【知识速记】备战2023年中考地理核心知识背记(湘教版).pptx VIP
文档评论(0)