产生一个均匀分布的随机数[0,1]

老秋先生 2010-01-09 08:05:04
不要NunberForat类哦
我要算法思路 或者代码
能的话顺便帮我解释一下
Xi=λxi-1(modM) (i=1,2,……n) (2-13)
中λ为乘子,M为模,当i=1时,xi=xi-1为初始参数,x0可取1或任意奇数。利用上式算出序列x1,x2……后再取 γi=xi / M (2-14)

谁帮我解释一下这公式?

膜拜各位 谢谢哈
...全文
875 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
老秋先生 2010-01-12
  • 打赏
  • 举报
回复
晕额... 有没有解答额...

便便,你给我个英文网址 叫我一个初二生去看!!
我郁闷
谁给我讲解一下额
nihuajie05 2010-01-09
  • 打赏
  • 举报
回复
果子。。你太N了吧。。这你都知道。。
我无知无畏了
  • 打赏
  • 举报
回复
多搜搜相关的资料;

用 “线性同余法”产生随机数,公式如下: x=(x*29+7) mod 1000
为什么是29和37?为什么用MOD ?

mod 1000的意思就是如果超过1000就把该数减去1000.还可以打个比方,x mod 12 代表的是钟表刻度,它的值永远在0..11之间。这个概念在数学里叫”同余”。一般:

在计算机上可以用物理方法来产生随机数,但价格昂贵,不能重复,使用不便。另一种方法是用数学递推公式产生,这样产生的序列与真正的随机数序列不同,所以称为伪随机数或伪随机序列,只要方法和参数选择合适,所产生的伪随机数就能满足均匀性和独立性,与真正的随机数具有相近的性质。

产生随机数的方法是先用一定的方法产生[0,1]均匀分布的随机数,然后通过一个适当的变换就可以得到符合某一概率模型的随机数。

常用的产生[0,1]均匀分布的随机数的方法有乘同余法和混合同余法。
imasmallbird 2010-01-09
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 bao110908 的回复:]
这好像是生成伪随机数的线性同余公式,原始的公式是这样的:


参考 wiki 上的词条“线性同余发生器”http://en.wikipedia.org/wiki/Linear_congruential_generator

你不会想让人来证明这个公式吧?
[/Quote]

唉,果子还是那么的强呀~~
CSDN最佩服的人,多日不见~~
老秋先生 2010-01-09
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 bao110908 的回复:]
这好像是生成伪随机数的线性同余公式,原始的公式是这样的:


参考 wiki 上的词条“线性同余发生器”http://en.wikipedia.org/wiki/Linear_congruential_generator

你不会想让人来证明这个公式吧?
[/Quote]
有可能哦 呵呵
主要是不了解Xn aXn+c 这俩个是什么意思
同余我懂
  • 打赏
  • 举报
回复
这好像是生成伪随机数的线性同余公式,原始的公式是这样的:


参考 wiki 上的词条“线性同余发生器”http://en.wikipedia.org/wiki/Linear_congruential_generator

你不会想让人来证明这个公式吧?
py330316117 2010-01-09
  • 打赏
  • 举报
回复
学学高数可能会有用,而且有现成的api不用,用java写这么复杂的算法干什么,一般写算法都是用c,因为有指针,写起来比较方便
bawgiitx 2010-01-09
  • 打赏
  • 举报
回复
O,YE,不懂你这个式子

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧