首页 理论教育 地震荷载动力分析-伪随机数产生

地震荷载动力分析-伪随机数产生

时间:2023-08-23 理论教育 版权反馈
【摘要】:产生伪随机数的数学方法目前已有多种,包括取中法、移位法和同余法,其中同余法应用最多。为得到较大周期的伪随机数序列,参数x0、λ取值应满足其中,a为任意选定的正数。表7-1均匀随机数表从本例结果可见,随机数出现周期为8的规律,这种随机数质量不高,原因在于m取值过小。一般情况下,为了判断随机数的优劣,对如上产生的伪随机数还要进行随机性检验,主要有参数检验、均匀性检验、独立性检验和经验检验。

地震荷载动力分析-伪随机数产生

产生伪随机数的数学方法目前已有多种,包括取中法、移位法和同余法,其中同余法应用最多。同余法又有乘同余法、加同余法、混合同余法等。

1.乘同余法

乘同余法的递推公式为

式中 λ、m——互素的整常数;

γi——第i个随机数。

式(7-5)表示以m为模数的同余式,γi+1为以m除xi+1后得到的余数,也称标准化的随机数。

式(7-5)产生的随机数序列的周期和性质与λ、x0和m的取值有关。为得到较大周期的伪随机数序列,参数x0、λ取值应满足

其中,a为任意选定的正数。初值x0为任一奇数。

2.加同余法

加同余法的递推公式为

式中 x0,x1,…,xk—1——任意选定的正整数。

当k=2时,有

通常取x0,x1为互素的正整数。

3.混合同余法

混合同余法的递推公式为

式中,x、λ、c和m都取非负整数。(www.xing528.com)

用混合同余法产生随机数,取m=2k可得到T=2k的整周期序列。为了得到T=2k的整周期随机数序列,参数λ、c和x还要满足下列条件

且c为奇数,x0为任意非负整数。式(7—10)中a为任意正整数。

为计算方便,可引入参数ki

式中lnt为取整符号,式(7-9)成为

【例7-1】 设λ=5,c=3,x0=1,m=8,试用混合同余法求10个随机数。

解:(1)求第1个随机数γ1

由式(7-11)得

(2)求第2个随机数γ2

(3)求第3个随机数γ3

依此类推,可求出10个随机数,见表7-1。

表7-1 均匀随机数表

从本例结果可见,随机数出现周期为8的规律,这种随机数质量不高,原因在于m取值过小。这里m=8。周期数为8,一般周期数不大于m值。因此为了得到长周期的随机数序列,m值应取大些,有文献建议采用计算机计算时,3个常数宜采用下列数值[22]:a=27+1,c=1,m=235

一般情况下,为了判断随机数的优劣,对如上产生的伪随机数还要进行随机性检验,主要有参数检验、均匀性检验、独立性检验和经验检验。

参数检验是检验随机数的分布参数(一阶矩、二阶矩和二阶中心矩)的观测值和理论值的差异是否显著;均匀性检验又称频率检验,检验经验频率和理论频率的差异是否显著;独立性检验,是检验随机数序列前后各数的统计相关是否异常;经验检验是检验随机数序列的最大值、最小值、正连数和正连数出现的概率与理论值之差异是否显著。一般采用混合同余法产生的伪随机数可以通过上述全部检验,且样本容量愈大,均匀性、独立性、参数统计特性愈好。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈