スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

白色ガウスノイズの確率分布

(現在、書きかけの記事です。参考にしないでください)

白色ガウスノイズをここで紹介されている3番目の図のようにプロットしたい。

どうやらRにより頻度分布データへ簡単に変換できるらしい。しかも、変換する関数を一度咬ませるわけでもなく、ggplotでグラフを出力する際にヒストグラムへ変換されているようだ。

メルセンヌ・ツイスターを使って白色ガウスノイズを出力する関数を書いた後、その関数からデータファイルを得た。次のような、1列のデータファイルである。

-0.554898 -0.784744 -1.109750 -1.569488
34.079076 48.195092 68.155345 96.390183
41.606260 58.840137 83.209092 117.680273
76.673629 108.432885 153.340941 216.865770
6.096972 8.622420 12.193442 17.244841
-53.281132 -75.350900 -106.557876 -150.701800
-50.879872 -71.955006 -101.755554 -143.910011
13.994701 19.791497 27.988250 39.582993
-8.575740 -12.127927 -17.150773 -24.255854
0.750581 1.061482 1.501100 2.122964
43.500556 61.519077 86.997529 123.038153
1.400022 1.979930 2.799928 3.959859
21.097898 29.836934 42.194059 59.673868
99.569736 140.812871 199.131270 281.625741
-4.674344 -6.610521 -9.348304 -13.221042
2.525824 3.572055 5.051441 7.144110
-33.219886 -46.980013 -66.437035 -93.960026
           ・
           ・
           ・
           ・


↑ 全部ガウス型の疑似乱数。
(タブ「\t」を出力しているのですが、fc2ブログだとキャンセルされていて、見難いですね)

Rにデータを渡すが、Rにデータを渡す場合には列の名前を指定しておくと非常に便利になる。
上記データの最上行に「x」と書いておく。

T=0.15 T=0.30 T=0.60 T=1.20
-0.554898 -0.784744 -1.109750 -1.569488
34.079076 48.195092 68.155345 96.390183
41.606260 58.840137 83.209092 117.680273
76.673629 108.432885 153.340941 216.865770
6.096972 8.622420 12.193442 17.244841
-53.281132 -75.350900 -106.557876 -150.701800
-50.879872 -71.955006 -101.755554 -143.910011
13.994701 19.791497 27.988250 39.582993
-8.575740 -12.127927 -17.150773 -24.255854
0.750581 1.061482 1.501100 2.122964
43.500556 61.519077 86.997529 123.038153
1.400022 1.979930 2.799928 3.959859
21.097898 29.836934 42.194059 59.673868
99.569736 140.812871 199.131270 281.625741
-4.674344 -6.610521 -9.348304 -13.221042
2.525824 3.572055 5.051441 7.144110
-33.219886 -46.980013 -66.437035 -93.960026
           ・
           ・
           ・
           ・



Rを起動し、「data1」に渡すことにする。そのときに次のように「header=T」と入れると、列の名前が「x」となる。それは2列のファイルにしても3列のファイルにしても同じである(先ほどのデータは「gauss1.dat」として保存した)。

data1 <- read.table("gauss1.dat",header=T)



> data1$x



と入力すると、

> data1$x
[1]^C 2.328017 18.755776 13.204303 -10.754153 -53.453464 36.982989
[7] 35.923037 8.970010 1.622341 -34.263062 -29.295156 -15.921271
[13] -13.681579 15.298001 3.135933 44.716558 0.186040 21.563993
[19] 33.158401 -20.899035 -6.482798 -1.462438 44.083100 38.783517
[25] 8.043678 3.782210 -3.519001 8.604987 0.310177 13.355143



と出て、「gauss1.dat」の1列目が表示されていることがわかる。

ggplot(data1, aes(value,fill=temperature)) + geom_density(alpha=0.3) + ylab("frequency")+xlim(c(-300,300))


gauss
スポンサーサイト

コメントの投稿


非公開コメント

コメント

Profile

zoa

Author:zoa
Metropolis (1927)

Calendar
05 | 2017/06 | 07
- - - - 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 -
Labels
Admin
Previous Posts
Recent Comments
Recent Trackback
Archive
このページのトップへ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。