\(\leftarrow\) Ka|Ve
Bu çalışmada, H. Sait Ölmez’in Data İstanbul meetup etkinliğinde gerçekleştirmiş olduğu “İstatistik: Daha kolay bir yolu var mı?” sunumundan yararlanılmıştır. etkinliğin orjinal kodlarına şu adresten ulaşılabilirsiniz. —
- Amaç:
- istatistik kullanarak, pi’nin değerini hesaplamak
- Yöntem:
- hem x, hem de y-ekseni için [0,1] aralığında noktalar üretiliyor.
- Üretilen noktalardan, orijine olan mesafesi 1’den küçük olanlar, \(\pi / 4\)’lük alan içinde kalır.
- Noktaların içerde kalma yüzdesi \(\pi / 4\)’tür.
piHesabi <- function(N) {
# N adet nokta üretelim
x <- runif(N,0,1) # Her noktanın x bileşeni
y <- runif(N,0,1) # Her noktanın y bileşeni
# orijine olan mesafeleri hesaplayalım
mesafe <- sqrt(x^2 + y^2)
# mesafe, r=1'den küçükse, nokta pi/4'lük alan içinde kalır
icerde <- mesafe<1.0
# FALSE ve TRUE değerleri, 1 ve 2 indekslerine dönüştürelim
indeks <- icerde + 1
# dışarıda kalanlar kırmızı, icerde kalanlar yeşil renk olsun
renk <- c('red', 'green')
renkler <- renk[indeks]
# Çizim
plot(x,y, col=renkler, main=paste("N =",N),
xlab="x", ylab="y", pch=20,
xlim=range(-1,1), ylim=range(-1,1))
# yatay ve düşey ekseni çizelim
abline(v=0);abline(h=0)
return(4*sum(icerde)/N) # pi/4'lük alan içinde kalan nokta sayısı
}
Çizimi gerçekleştirelim
set.seed(7) #Tekrar aynı sayıları üretmeye yarar.
# 4 resmi yan yana çizelim.
par(mfrow = c(2, 2))
cat("N=100 ken pi =", piHesabi(100))
N=100 ken pi = 3.2
cat("N=1000 ken pi =", piHesabi(1000))
N=1000 ken pi = 3.196
cat("N=10000 ken pi =", piHesabi(10000))
N=10000 ken pi = 3.1272
cat("N=100000 ken pi =", piHesabi(100000))
N=100000 ken pi = 3.14304
Dikkat ederseniz, \(N\) artıkça \(\pi\) sayısına daha çok yaklaşıyoruz.
\(\leftarrow\) Ka|Ve
LS0tCnRpdGxlOiAixLBzdGF0aXN0aWsga3VsbGFuYXJhaywgcGknbmluIGRlxJ9lcmluaSBoZXNhcGxhbWFrIgphdXRob3I6IERyLiBVemF5IMOHZXRpbgpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sKLS0tCgpbJFxsZWZ0YXJyb3ckIEthfFZlXShodHRwczovL3V6YXkwMC5naXRodWIuaW8va2FodmUvKQogCgpCdSDDp2FsxLHFn21hZGEsIEguIFNhaXQgw5ZsbWV6J2luIERhdGEgxLBzdGFuYnVsIG1lZXR1cCBldGtpbmxpxJ9pbmRlIGdlcsOnZWtsZcWfdGlybWnFnyBvbGR1xJ91ICLEsHN0YXRpc3RpazogRGFoYSBrb2xheSBiaXIgeW9sdSB2YXIgbcSxPyIgc3VudW11bmRhbiB5YXJhcmxhbsSxbG3EscWfdMSxci4gZXRraW5sacSfaW4gb3JqaW5hbCBrb2RsYXLEsW5hIAogW8WfdSBhZHJlc3Rlbl0oaHR0cHM6Ly9naXRodWIuY29tL3NvbG1lei9kYXRhaXN0YW5idWwpCnVsYcWfxLFsYWJpbGlyc2luaXouCi0tLQoKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKCgoKCiogQW1hw6c6IAogICAgICogaXN0YXRpc3RpayBrdWxsYW5hcmFrLCBwaSduaW4gZGXEn2VyaW5pIGhlc2FwbGFtYWsKKiBZw7ZudGVtOiAKICAgICAqIGhlbSB4LCBoZW0gZGUgeS1la3NlbmkgacOnaW4gWzAsMV0gYXJhbMSxxJ/EsW5kYSAKICAgICBub2t0YWxhciDDvHJldGlsaXlvci4gCiAgICAgKiDDnHJldGlsZW4gbm9rdGFsYXJkYW4sIAogICAgIG9yaWppbmUgb2xhbiBtZXNhZmVzaSAxJ2RlbiBrw7zDp8O8ayBvbGFubGFyLCAKICAgICAkXHBpIC8gNCQnbMO8ayBhbGFuIGnDp2luZGUga2FsxLFyLgogICAgICogTm9rdGFsYXLEsW4gacOnZXJkZSBrYWxtYSB5w7x6ZGVzaSAkXHBpIC8gNCQndMO8ci4KCmBgYHtyfQpwaUhlc2FiaSA8LSBmdW5jdGlvbihOKSB7IAogICMgTiBhZGV0IG5va3RhIMO8cmV0ZWxpbQogIHggPC0gcnVuaWYoTiwwLDEpICMgSGVyIG5va3RhbsSxbiB4IGJpbGXFn2VuaQogIHkgPC0gcnVuaWYoTiwwLDEpICMgSGVyIG5va3RhbsSxbiB5IGJpbGXFn2VuaQogIAogICMgb3JpamluZSBvbGFuIG1lc2FmZWxlcmkgaGVzYXBsYXlhbMSxbQogIG1lc2FmZSA8LSBzcXJ0KHheMiArIHleMikgCiAgCiAgIyBtZXNhZmUsIHI9MSdkZW4ga8O8w6fDvGtzZSwgbm9rdGEgcGkvNCdsw7xrIGFsYW4gacOnaW5kZSBrYWzEsXIKICBpY2VyZGUgPC0gbWVzYWZlPDEuMAogIAogICMgRkFMU0UgdmUgVFJVRSBkZcSfZXJsZXJpLCAxIHZlIDIgaW5kZWtzbGVyaW5lIGTDtm7DvMWfdMO8cmVsaW0KICBpbmRla3MgPC0gaWNlcmRlICsgMQogIAogICMgZMSxxZ9hcsSxZGEga2FsYW5sYXIga8Sxcm3EsXrEsSwgaWNlcmRlIGthbGFubGFyIHllxZ9pbCByZW5rIG9sc3VuCiAgcmVuayA8LSBjKCdyZWQnLCAnZ3JlZW4nKQogIHJlbmtsZXIgPC0gcmVua1tpbmRla3NdCiAgCiAgIyDDh2l6aW0KICBwbG90KHgseSwgY29sPXJlbmtsZXIsIG1haW49cGFzdGUoIk4gPSIsTiksIAogICAgICAgeGxhYj0ieCIsIHlsYWI9InkiLCBwY2g9MjAsIAogICAgICAgeGxpbT1yYW5nZSgtMSwxKSwgeWxpbT1yYW5nZSgtMSwxKSkKICAKICAjIHlhdGF5IHZlIGTDvMWfZXkgZWtzZW5pIMOnaXplbGltCiAgYWJsaW5lKHY9MCk7YWJsaW5lKGg9MCkKICAKICByZXR1cm4oNCpzdW0oaWNlcmRlKS9OKSAjIHBpLzQnbMO8ayBhbGFuIGnDp2luZGUga2FsYW4gbm9rdGEgc2F5xLFzxLEKfQpgYGAKw4dpemltaSBnZXLDp2VrbGXFn3RpcmVsaW0KYGBge3J9CnNldC5zZWVkKDcpICNUZWtyYXIgYXluxLEgc2F5xLFsYXLEsSDDvHJldG1leWUgeWFyYXIuCgojIDQgcmVzbWkgeWFuIHlhbmEgw6dpemVsaW0uCnBhcihtZnJvdyA9IGMoMiwgMikpCmNhdCgiTj0xMDAga2VuIHBpID0iLCBwaUhlc2FiaSgxMDApKQpjYXQoIk49MTAwMCBrZW4gcGkgPSIsIHBpSGVzYWJpKDEwMDApKQpjYXQoIk49MTAwMDAga2VuIHBpID0iLCBwaUhlc2FiaSgxMDAwMCkpCmNhdCgiTj0xMDAwMDAga2VuIHBpID0iLCBwaUhlc2FiaSgxMDAwMDApKQpgYGAKRGlra2F0IGVkZXJzZW5peiwgJE4kIGFydMSxa8OnYSAkXHBpJCBzYXnEsXPEsW5hIGRhaGEgw6dvayB5YWtsYcWfxLF5b3J1ei4KCgoKClskXGxlZnRhcnJvdyQgS2F8VmVdKGh0dHBzOi8vdXpheTAwLmdpdGh1Yi5pby9rYWh2ZS8pCgo=