Akademisyenler öncülüğünde matematik/fizik/bilgisayar bilimleri soru cevap platformu
0 beğenilme 0 beğenilmeme
1.1k kez görüntülendi
π ye yakinsayan algoritmalaroi toplayalim istedim bu baslikta
Veri Bilimi kategorisinde (1.6k puan) tarafından  | 1.1k kez görüntülendi
Ters kareler toplamı işine yarar mı?
sanirim 1i2=π2/6 esitliginden bahsediyorsunuz ? yarar tabii, ne kadar hizli yakinsar kestiremiyorum ama.

benim aklimda 3 tane method vardi, newton rhapson, gradient descent ve monte carlo uygun zaman buldugumda yazmayi dusunuyorum
Evet evet @eloi yazdığın eşitlikten bahsediyorum
Çooook yavaş yakınsayan:

n=1(1)n142n1

serisi de, (kısmi toplamları) π ye yakınsayan bir dizi verir.
Hep toplamli formuller vermisiz. Sanirim soyle bir sonsuz carpim da var.
π/2=n=14n24n21
newton raphson ile nasıl yakınsama yapılıyor merak içindeyim.:)

Newton iterasyonu f(x)=0 i saglayan x lara yakinsamak icin kullaniliyor. x yakin bir x0 secilip xn+1=xnf(xn)f(xn) islemi yapiliyor bir sure.

f(x)=sin(x) ve x0=4 secelim. istedigimiz sonuca ulasmaliyiz (sin un koklerinden biri π ve 4 yeterince yakin bir baslangic degeri)

asagida julia dilinde yazilmis kisa bir ornek

newton_adimi(x,fonksiyon,turev) = x - fonksiyon(x)/turev(x)

pi_newton(x) = newton_adimi(x,sin,cos)  

pi_hesapla(n,tahmin) = foldl(∘,(pi_newton for i in 1:n))(tahmin)

[(i,pi_hesapla(i,4)) for i in 1:10]

################################################
#10-element Array{Tuple{Int64,Float64},1}:
# (1, 2.8421787176504223)
# (2, 3.1508729396853696)
# (3, 3.1415923871630587)
# (4, 3.141592653589793)
# (5, 3.141592653589793)
# (6, 3.141592653589793)
# (7, 3.141592653589793)
# (8, 3.141592653589793)
# (9, 3.141592653589793)
# (10, 3.141592653589793)

 

mantığı şimdi anladım,yakınsama derken kök'e gitme şeklinde düşünmemiştim.

sirasiyla verilen dizilerin her adimdaki sonucunu 100 adim icin cizdirdim.

mavi sonuc @murad.ozkoc hocamizin verdigi Basel problemi,

turuncu sonuc @DoganDonmez hocamizin verdigi serinin ara toplamlari

yesil sonuc benim verdigim Wallis carpimi

Cizdirmek icin kullandigim kodlar julia dilinde

using Plots

pi_1 = [sqrt(6*sum(1/i^2 for i in 1:n)) for n in 1:100]
pi_2 = [sum((-1)^(n-1) * 4/(2n-1) for n in 1:i) for i in 1:100]
pi_3 = [2*prod( (4*n^2)/(4*n^2 - 1) for n in 1:i) for i in 1:100]

plot(pi_1)
plot!(pi_2)
plot!(pi_3)

png("pi_yakinsama")

 

20,331 soru
21,886 cevap
73,623 yorum
3,023,629 kullanıcı