用R語言模擬擲硬幣過程

2021-07-11 19:53:14 字數 1297 閱讀 7349

硬幣分為head(正面)和tail(反面),如果硬幣是均勻的,那麼出現head和tail的概率分別為50%、50%。把一枚硬幣擲三次,結果有2*2*2=8種可能,分別為:

hhh、hht、hth、htt

ttt、tth、tht、thh

那麼,樣本空間(sample spaces):

ω =,令

x 是

ω裡乙個的樣本,則 p(

x="hh

h")=

1/8 , p(

x="hh

t")=

1/8 , ..

. p(

x="th

h")=

1/8

統計8個樣本中h出現的次數:

num(h)=3+2+2+1+0+1+1+2=8+4=12

那麼h出現的頻率為:

frequency(h)= 12/(3*8)=12/24=0.5

可以看到p(h) = frequency(h)

以上是從理論上分析的結果,在實際操作中,擲硬幣三次,num(h)可能為10,那麼frequent(h) = 10/24=0.41與0.5有較大的偏差。當我們把擲硬幣的次數增加時,frequent(h)會逐步接近0.5。下面,在rstudio中,使用r語言進行擲硬幣的**實驗。

# 擲硬幣500次

n flipsequence

r n

runprop = r/n

#繪圖plot(n,runprop,type="o",log="x",

xlim=c(1,n), ylim=c(0.0,1.0), cex.axis=1.5,

main="running proportion of heads",cex.axis=1.5)

#新增一條直線y=0.5

lines(c(1,n),c(0.5,0.5),lty=3)

#新增標註

flipletters

displaystring

text(5,0.9, displaystring, adj = c(0,1),cex=1.3)

#顯示模擬500次得到head的頻率

text(n-100,0.3, paste("end proportion = ",runprop[n]),adj=c(1,0), cex=1.3)

效果如下:

圖(1) 擲硬幣500次得到head(正面)的頻率

用 C語言模擬買貓的過程

最近在學習c語言,同時也在讀 編碼 這本書,讀著讀著突然有一種想把編碼中的電路實現出來的想法,由於現實世界中缺少材料 大量的電線 開關和燈泡等等 所以產生了用c語言模擬計算機的想法。剛剛用c語言把第10章 邏輯與開關 中的買貓過程的電路用c語言模擬了一下,結果 0,0,1 和書中的完全一樣,以後打算...

用R語言生成隨機數模擬鬥地主

鬥地主中有時候會發現自己某一張牌沒有,比如j一張都沒抓到,下面使用r語言生成隨機數,模擬計算如果自己j一張都沒抓到的情況下,其他兩人抓到j炸的概率為0.104 itersum 1000000 總實驗次數 countlostonecard rep 0,14 countbomb rep 0,14 puk...

拓端tecdat 用R語言模擬隨機服務排隊系統

用肯德爾的表示法,m m c k系統具有指數到達 m m c k cc具有指數服務時間 m m c k 和k c的伺服器 m m c k c佇列中的位置 m m c k 這是m m 2 3系統 的模擬。lambda mu m.queue seize server amount 1 timeout f...