Akademisyenler öncülüğünde matematik/fizik/bilgisayar bilimleri soru cevap platformu
0 beğenilme 0 beğenilmeme
498 kez görüntülendi
$\pi$ ye yakinsayan algoritmalaroi toplayalim istedim bu baslikta
Veri Bilimi kategorisinde (1.6k puan) tarafından  | 498 kez görüntülendi
Ters kareler toplamı işine yarar mı?
sanirim $\sum \frac{1}{i^2} = \pi^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:

$\sum_{n=1}^\infty(-1)^{n-1}\frac4{2n-1}$

serisi de, (kısmi toplamları) $\pi$ ye yakınsayan bir dizi verir.
Hep toplamli formuller vermisiz. Sanirim soyle bir sonsuz carpim da var.
$\pi/2 = \prod_{n=1} \frac{4n^2}{4n^2-1}$
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 $x_0$ secilip $x_{n+1} = x_n - \frac{f(x_n)}{f'(x_n)}$ islemi yapiliyor bir sure.

$f(x) = sin(x)$ ve $x_0 =4$ secelim. istedigimiz sonuca ulasmaliyiz ($sin$ un koklerinden biri $\pi$ 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,200 soru
21,728 cevap
73,275 yorum
1,887,869 kullanıcı