分からない問題はここ ..
803:132人目の素数さん
20/03/20 07:51:30.64 p5Mf5Wxl.net
>>746
L個の実数を一様分布で抽出して2〜50でシミュレーションしてみた。
URLリンク(i.imgur.com)
Lが大きくなると1-( (6/(π×L))^(1/2) )に一致するようです。
数理は賢者にお任せ。
rm(list=ls())
f45 <- function(a) { # 四捨五入
x=a-floor(a) # floor(a):aを超えない整数ガウス記号[x]と同じ,x:小数部分をxに入れる
floor(a)+ (x>=0.5) # xが0.5以上なら1をそうでないなら0を加える
}
f45(1.5) ; f45(2.5)
round(1.5) ; round(2.5)
sim <- function(n=3,k=1e4){
sub <- function(n){
x=runif(n) # 一様分布乱数(実数)n個の配列 roundならrunif(n,0,2)
y=numeric(n) # y:四捨五入での整数を入れる配列
for(i in 1:n) y[i]=f45(x[i]) # xの各実数を四捨五入してyに入れる
f45(sum(x))!=sum(y) # xの総和の四捨五入数とyの総和が異なればTRUEを返す
}
r=mean(replicate(k,sub(n))) # k個のシミュレーションでのTRUEの頻度を返す
p=1-( sqrt(6/(pi*n)) ) # 理論値?
return(c(r,p))
}
L=2:50
plot(L,sapply(L,function(x) 1-( sqrt(6/(pi*x)))),bty='l',type='l')
re=t(sapply(L,function(x) sim(x)))
plot(re,bty='l',pch=19,asp=1,xlab='実験値',ylab='理論値',type='l')
abline(a=0,b=1,lty=3)
次ページ続きを表示1を表示最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
18日前に更新/372 KB
担当:undef