Processing math: 100%
SST Lab Dokuwiki Header header picture

ユーザ用ツール

サイト用ツール


lectures:乱数

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
lectures:乱数 [2022/08/25 14:09] – [線形合同法の特徴] kimilectures:乱数 [2022/08/25 14:32] (現在) – [線形合同法の特徴] kimi
行 67: 行 67:
   * 結晶構造になる   * 結晶構造になる
  
-{{:lectures:rand.png?200|}}{{:lectures:drand.png?200|}}+=== 実数の一様乱数 === 
 +  * [0,M1]の乱数{xi}[0,1)の乱数{ui}に変換 
 +    * ui=xiM 
 + 
 +例)c=0, a=177, M=215, X0=1 
 +n  ^  xn  ^  un  ^ 
 +|  0|    1|  0.00003051758 
 +|  1|  177|  0.00540161133 
 +|  2|  31329|  0.95608520508 
 +|  3|  7441|  0.22708129883 
 +|  4|  6337|  0.19338989258 
 + 
 +=== 線形合同法の実装系 === 
 +  * Xn=(aXn1+c)(modM) 
 +  * ''rand''(cの元標準乱数) 
 +    * a=1103515245, c=12345, M=231 (BSD) 
 +  * ''drand48''(''rand''の代替標準乱数) 
 +    * a=25214903917, c=11, M=248 
 + 
 +231個発生させ、2個ずつペアにしてx-y座標としてプロット  ^^ 
 +|{{:lectures:rand.png?240|}}|{{:lectures:drand.png?240|}}
 +|  ''rand()''    ''drand48()''   | 
 +|   M=231  |   M=248 
 +|  周期:231  |  周期:248  |
 ===== Lagged Fibonacci法 ===== ===== Lagged Fibonacci法 =====
 Xn=f(Xnr,Xns)(modM) Xn=f(Xnr,Xns)(modM)
行 73: 行 96:
 r, s, M: 整数(r>s r, s, M: 整数(r>s
  
-  * Xn=(Xnr+Xns)(modM) 
     * 周期は最大(2w1)(2r1)wはワード長)     * 周期は最大(2w1)(2r1)wはワード長)
     * 連続する乱数の和の分布が正規分布からずれる     * 連続する乱数の和の分布が正規分布からずれる
  
 +==== Lagged Fibonacci法の実装系 ====
 +  * ''random''(Cの現標準乱数)
 +  * Xn=(Xnr+Xns)(modM)
  
-{{:lectures:random.png?400|}}+|{{:lectures:random.png?240|}}
 +r=31, s=28, M=231 
 +|  周期:262  |
 ===== M系列法(線形最大周期列法) ===== ===== M系列法(線形最大周期列法) =====
   * Maximum length linearly recurring sequence   * Maximum length linearly recurring sequence
lectures/乱数.1661404160.txt.gz · 最終更新: 2022/08/25 14:09 by kimi

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki