[解決済み] JavaScript Math.random 正規分布(ガウスベルカーブ)?
質問
JavaScriptの関数
Math.random
が正規分布(対一様分布)を使っているかどうか知りたいです。
そうでない場合、どのように正規分布を使用する数を得ることができますか?インターネット上では、正規分布の数字をランダムに作成するアルゴリズムについて、明確な答えが見つかっていないのです。
私はSchmidt-machine(ドイツの物理学者)を作り直したいと思っています。この機械は 0 か 1 の乱数を生成し、それらは私がガウスのベル曲線としてそれらを描くことができるように正規分布でなければなりません。
例えば、乱数関数は 120 個の数 (0 または 1) を生成し、これらの合計値の平均 (平均値) は 60 近くでなければなりません。
どのように解決するのですか?
JavaScriptの関数Math.randomが正規分布かどうか知りたい。
JavascriptのMath.random は ではなく 正規分布(ガウシアンベルカーブ)です。から es 2015, 20.2.2.27 実装に依存するアルゴリズムまたは戦略を使用して、その範囲にわたってほぼ一様な分布で無作為または疑似無作為に選択された、0以上1未満の正の符号を持つ数値の値を返します。この関数は引数を取らないので、nが十分に大きいときに提供されたコレクションは、ほぼ一様な分布を得ることができます。区間内のすべての値は等しい確率で出現します(x軸に平行な直線で、0.0から1.0の間の数を表します)。
正規分布になるような数値を得るにはどうしたらよいでしょうか。
正規分布を持つ数の集まりを得るには、いくつかの方法があります。回答者 マックスウェル・コラード は ボックス・ミュラー変換 は,一様分布を正規分布に変換します(そのコードは Maxwell Collardの答え ).
別のstackoverflowの回答に対する回答で 質問 には、他の一様分布から正規分布のアルゴリズムによる回答があります。そのような Ziggurat Ratio-of-uniforms(一様分布の比率)。 CDFの反転 さらに、回答の1つには次のように書かれています: says:
Zigguratアルゴリズムはこのためにかなり効率的ですが、Box-Muller変換はゼロから実装する方が簡単です(そしてめちゃくちゃ遅いわけでもありません)。
そして最後に
<ブロッククオート私はSchmidt-machine(ドイツの物理学者)を再構築したいのですが、この機械は0または1の乱数を生成し、それらはガウスのベル曲線で描けるように正規分布でなければなりません。
0と1の2つの値しかない場合、ガウス曲線は2つの値を持つ一様分布と同じに見えます。そのため、単純な
function randomZero_One(){
return Math.round(Math.random());
}
で十分です。これは、ほぼ等しい確率の値0と1で擬似的に返されるでしょう。
関連
-
[解決済み] AngularJSのエラーです。Cross Origin リクエストはプロトコルスキーム http, data, chrome-extension, https に対してのみサポートされています。
-
[解決済み] ジェスト あるクラスの特定のメソッドをモックする方法
-
[解決済み] jqueryでdivの要素がオーバーフローしていないかチェックする
-
[解決済み] Chromeの拡張機能開発にWebStormを使用するにはどうすればよいですか?
-
[解決済み] $.ajax実行中にローディングイメージを表示する
-
[解決済み] jQueryを使用して、すべてのクリックイベントハンドラを削除するにはどうすればよいですか?
-
[解決済み] JavaScriptとLuaの微妙な違い [終了しました]
-
[解決済み] なぜjavascriptのES6 Promisesはresolve後も実行を継続するのですか?
-
[解決済み] Chrome拡張機能:popup.htmlを強制終了させる
-
[解決済み] これは純関数ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 上級者向けJavaScript。この関数はなぜ括弧でくくられるのですか?重複
-
[解決済み] 文字列がすべて同じ部分文字列で構成されているかどうかを調べるにはどうすればよいですか?
-
[解決済み] Chart.jsを使ってドーナツチャートの中にテキストを追加するには?
-
[解決済み] オブジェクトの配列からReactコンポーネントをレンダリングする
-
[解決済み] react-routerのハッシュフラグメントからクエリパラメータを取得する
-
[解決済み] JavaScriptでjson-objectのキーを取得する [重複].
-
[解決済み] jQueryを使用して、すべてのクリックイベントハンドラを削除するにはどうすればよいですか?
-
[解決済み] javascriptのキャンバスで画像をリサイズする (スムーズ)
-
[解決済み] V8 Javascript エンジンのスタンドアロン実行
-
[解決済み] JavaScriptの文字列プリミティブとStringオブジェクトの違いは何ですか?