前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何生成随机数

如何生成随机数

作者头像
fem178
发布2019-08-19 15:22:43
3.5K0
发布2019-08-19 15:22:43
举报

扔色子就是一个随机过程,得到的结果就是随机数。再比如对生产线的同一种产品称重,单个产品的重量也是不一样的,得到的结果也是随机数。

● 自定义随机数算法

这里mod是取余函数,比如mod(18, 5)结果是3。假设ni是一个非负整数,ni+1是一个0-134456之间的正整数,接下来,ni+2也是一个0-134456之间的正整数。

显然,该迭代依赖一个初值n0,称之为随机种子。

用来产生一个大于等于0且小于1的随机数。

5组连续1000个随机数的平均值接近0.5 。

● Fortran内置随机数过程

在 Fortran90 以后,语法规范引入了两个标准的函数用来产生随机数。它们就是 random_seed 和 random_number( 通常这两个函数需配合使用 )

在 Intel Fortran 编译器上, random_seed不加入任何参数,自动设置种子。所以这个操作可以简化为 call random_seed()。random_number函数是用来产生随机数的,整个程序可以通过call random_number( x )不限次数地调用它。这里的 x 必须是 real 类型,可以是单变量,也可以是数组。调用后,x 的值(0-1)变为当前的(伪)随机数。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-08-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数值分析与有限元编程 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档