任意分布规律随机数快速生成源码

此源码为基础底层代码贴,没有应用代码。是作为运行库使用的。

一:易原生随机数特性

易语言生成随机数,其实为平均分布的随机数。

即是为多个随机数是满足平均分布规律的,也就是说所有范围内的数都是一样多的。

下图为100万个易随机数的,概率分布图。

二、随机数的应用

由上可以看出,虽然规律很好。但这样的分布规律并不能满足我们所有的需求。

我们需要在某些时候让一些区域分布减少或都加。平均随机数就不能满足我们需求了。

比如,

1、发牌时,可以让一些牌发放机率高,一些牌机率低。

2、验证码生成时,可以让一些因素生成高,一些低。

3、抽奖时,可以让一些数字高,一些数据字,甚至是没有。

(虽然看起来数据都是随机杂乱的,但是经过概率设定,可以是完全没有),这样一想大多数的抽奖软件,背后操作空间真是太大了。

4、所有需用随机数的地方都可以用到。

三、统计学常用的随机分布

以下只贴几个数学上常用的随机数的分布图形。这些都只需作为了解

四、任意分布随机数

这里说的是本文的重点。

本模块源码重点包含两块算法:

1、正态随机数的算法生成(多次单个随机数生成)

单个点生成点的概率按正态分布,无数个后统计规律呈现正态分布特性。

     基于Box–Muller变换的正态随机数生成方法

2、任意分布随机数的类(一次多个随机数生成)

任意随机数的生成算法,这里就不详讲,算法是我自创。各位不用非得理解里面的算法。

这算法没有数字理论证明,在数学应用上是不存在"任意分布随机数"的算法的。

也不存在统一的数学算法,那是因为绝大多数的概率密度函数是不可计算反函数。

而要正面生成概率随机数,就必须得到概率分布函数的反函数。这就是几乎不可能做到的事。

(这一点可以在正态分布随机数源码中看得到)

我使用的算法是我自创的,算法并不复杂,但算法很抽象。重在于快速、稳定、可靠。(源码各位能理解就理解,理解不了,直接调用就行)

实际无数次使用完全符合理论分布规律,各位可以随意点击尝试分布曲线,是否是按预设的一样。

相关文件下载地址
©下载资源版权归作者所有;本站所有资源均来源于网络,仅供学习使用,请支持正版!

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注