• ベストアンサー

標準正規分布

gnuplotで標準正規分布を表示したい(へんな釣鐘形みたいな形)んですけど、plotコマンドでファイル読みだすんですけど、そのファイルに何をかきこめばいいか分かりません。いま、範囲「0、1」の正規乱数に標準平均、分散、すべてもとめたのですが、ファイルに何をかきこめば、釣鐘形のグラフがでてくるか分かりません。教えて下さい。ちなみに、OS環境としてRed hut Linux 8.0で、C言語でプログラムを作ってます。

質問者が選んだベストアンサー

  • ベストアンサー
  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

標準正規分布の確率密度関数は f(x) = 1/sqrt(2π) exp(-x^2/2) だから, 例えば #include <math.h> double f(double x) { return exp(-x*x/2) / sqrt(8*atan(1.0)); } int main() { for (int i = -30000; i <= 30000; i++) { printf("%f %f\n", i/10000.0, f(i/10000.0)); } return 0; } でいいんじゃないかな? この程度の長さでテストする気にはならないのですが ISO C に対応していれ ばコンパイルできるはず.

関連するQ&A

  • 標準正規分布について

    1)標準正規分布に従う乱数を、平均μ、分散σ^2の正規乱数に変換したい。どのようにしたらいいか。その理由も考えよ。 という問題についてですが 乱数をXとした時 Y = X・σ + μ とする。 というのはわかるのですが(ほぼ公式なので。。。) 理由についてはどう書けばいいのでしょうか? また 2)確率変数Xが(0,1)の範囲で一様分布に従う時、Y=1-Xと変換すれば、Yはまた一様分布となることを示せ。 という問題なのですが Xの密度関数から1-Xの密度関数を求めるということは以前こちらで教えていただいたのですがヘビサイド関数というのが用いられていて解法をよく理解できませんでした。 実際の解法手順等含めまして丁寧に教えていただけませんでしょうか?よろしくお願いいたします。

  • 標準正規分布の乱数

    RAND()関数は ((double)rand() / (1.0 + RAND_MAX))と定義します。 中心極限定理により、一様乱数を足し合わせると正規分布に近づくことから、 x = 分散 * (Σ[1~12]RAND() - 6) + 平均 で正規乱数が作れる。標準正規分布は分散1、平均0なのでその乱数は x = Σ[1~12]RAND() - 6 ですよね。この乱数を例えば100個羅列するにはどうしたらいいのでしょうか? もし間違ってたら指摘してください。 参考文献「Cによるシミュレーションプログラム 石川宏」 #include <stdio.h> #include <stdlib.h> #define RAND() ((double)rand() / (1.0 + RAND_MAX)) #define NUMBER 10000 /* 発生させる乱数の数 */ main(void) { int j; double u, x; srand(5); for (j = 0; j <= 11; j++) { u = u + RAND(); } x = u - 6.0; }

  • 正規分布に従う乱数

    C言語で平均,標準偏差を指定して正規分布に従う乱数を発生させるにはどうしたらよいのでしょうか?

  • 正規分布と尖度

    こんにちは。 今僕は卒業研究の一部で尖度について勉強しています。 少しわからないことがあったので質問させてください。 1◆正規分布は、平均を中心に左右対称の釣鐘形をした分布である  ◆尖度は正規分布のときに尖度=3となり、尖度が大きいと 正規分布より尖ったグラフになる。小さいと平らなグラフになる。 これらの定義は合っていますか? 2◆色々なサイトに『尖度が3より大きくなると正規分布より尖ったグラフになる』 とありましたが、そのグラフも正規分布の特徴と当てはまっている気がしました。 そうすると、『正規分布より尖ったグラフ』という表現がおかしいように思えるのですが…。 ここをどう説明すればいいのかわからず困っています。 統計学の知識はほとんどないので、馬鹿な質問かもしれませんがわかりやすく教えていただけると嬉しいです。

  • 正規分布の標準偏差

    「質問」 下記の画像に記述されている標準偏差の意味がわかりません。 「質問の経緯」 標準偏差や分散の意味については理解できているつもりです。 下記の画像の赤線の部分には正規分布nの分散は120^2 と書かれています。なので当然標準偏差は120です。 ところが、この後標準偏差を無作為標本の標本数で割っています。 正規分布の標準偏差を無作為標本の標本数で割った数のことを 標準偏差と書いているようなのですが、ここについてよく分かりません。 「質問のまとめ」 正規分布の標準偏差を標本数で割った数字を改めて 標準偏差としている意味がよく分かりません。 教えてほしいです。

  • 正規分布の発生の仕方

    正規分布の発生の仕方について悩んでいます。 正規分布に従った平均と分散が違う乱数を独立に複数発生させて、 発生させた乱数を全て合わせるとそれも正規分布に従っているというものを作りたいのですがいい方法知っている方いらっしゃるでしょうか? これがものすごく必要で困っています。。。 よろしくお願いします。

  • 任意の標準偏差で正規分布の乱数を発生させたい

    2次元の正規分布の乱数を発生させたいんですが、 調べたところ、 平均0、分散1の正規分布の乱数の発生方法アルゴリズムが以下のものになることがわかりました。 「Box-Maller法:区間(0,1)の2個の一様乱数x1,x2と2個の量y1,y2との間の変換 y1=sqrt(-2*ln(x1))*cos(2*Pi*x2) y2=sqrt(-2*ln(x1))*sin(2*Pi*x2)」 ここで、平均0、分散0.2の正規分布の乱数を発生させたいのですが、どうすればよいでしょうか? 単純にy1,y2に0.2を掛けるだけでもできますが、これは数学的に正しいのでしょうか?

  • ベータ分布の正規分布近似について

    二項分布やガンマ分布の正規分布近似は成書によく記載されています。そこで二項分布の仲間であるベータ分布Be(a,b)を正規近似してみようと思いました。 Be(a,b)の平均であるa/(a+b)、分散ab/((a+b)^2*(a+b+1))をそのまま用いN(a/(a+b)、ab/((a+b)^2*(a+b+1)))としたらどうかと思いグラフで見たところ、なるほどa,bがそれぞれ8,9以上になると、モードと平均の差が殆ど無くなり左右対称の釣鐘型に見えてきます。どうやらa,bが大きくなれば正規分布に近づいていきそうだというのはうすうす分かるのですが、このやり方では感覚的に過ぎるのではないかとも思いました。何かスターリングの公式のような近似か、極限を用いて数式的証明をするべきなのでしょうか?それとも実際に色々なa,bの値のもとでグラフ曲線を描き、一々正規曲線を当てはめてみるべきなのでしょうか?それとも二項分布の逆正弦変換のように何かデータを変換させるとかいう方法があるのでしょうか、どうかお教え願います。

  • 標準正規分布の和の分布

    標準正規分布の和の分布を求めようとしています。 ですが、答えが綺麗にならなかった為、これでいいのか自信がありません。 ですので、間違いがあれば指摘して頂けないでしょうか?宜しくお願い致します。 http://upup.bz/j/my17603pDRYt6O4n3vI9_BQ.jpg (※細かい問題設定、私が考えた内容は上記の画像にまとめました。 なお、教えてgoo 上のアップロードですと圧縮で、書いた内容が見えなくなった為、外部サイトを使用) 分布は正規分布のまま、期待値、分散は各々X、Yの和になる気がするのですが。。。

  • 正規分布・確率変数の質問です。

    1)標準正規分布に従う乱数を、平均μ、分散σ2(←2乗です。)の正規乱数に変換したい。どのようにすればいいか理由と共に答えよ。 2)確率変数Xが(0,1)の範囲で一様分布に従うとき、Y=1-Xと変換すれば、Yはまた一様分布となることを示せ。 大学院入試問題の上記2題の問題の回答方法がわかりません。 当方確率は計算系しかやってこなかったのでこのようなタイプの問題は解いたことがありません。 レベル的にはどの程度のものなのでしょうか? このような問題対策にはどういった演習をすればよいのでしょうか? ご教授願います。