Pi berekenen van decimalen Pi

Moderators: dirkwb, Xilvo

Reageer
Gebruikersavatar
Berichten: 1.605

Pi berekenen van decimalen Pi

Volgens mij heb ik het volgende niet gedeeld op WF. Heb ik toch enige tijd aan besteed en wilde het graag ook hier delen. Ook op SE:

https://math.stackexchange.com/q/3947387/650339

\(\pi\) is waarschijnlijk een normaal getal, betekenend dat de decimalen progressie is random is. De decimalen [0,1,2,3,4,5,6,7,8,9] komen allen even waarschijnlijk voor. Dit is getest voor vele miljoenen decimalen en is waarschijnlijk waar.

Onderstaand een methode om \(\pi\) te bepalen uit random getallen. Dus in principe hoe \(\pi\) te berekenen uit de decimalen van \(\pi\)!

We gaan uit van de PDF (probability density functie) van een normaal verdeling:
$$f(x)={\frac {1}{\sigma {\sqrt {2\pi }}}}e^{-{\frac {1}{2}}\left({\frac {x-\bar{x}}{\sigma }}\right)^{2}}$$
De dichtheid bij de gemiddelde waarde: \(\bar{x}\) is gelijk aan de voorkant van de PDF. Deze gemiddelde dichtheid kan worden benaderd door een discrete verdeling. Waar \(\bar{n}\) het aantal getelde / waargenomen waarden is bij de gemiddelde \(\bar{x}\), \(N\) is de steekproefomvang en \(\Delta x\) de afstand tussen twee discrete intervallen.
$$f(\bar{x})=\frac {1}{\sigma {\sqrt {2\pi }}} \approx \frac{\bar{n}}{\Delta x N}$$
Dus als we normaal verdeeld zijn, kunnen we \(\pi\) berekenen met:
$$\boxed{\pi \approx \frac{1}{2} \cdot \left( \frac{\Delta x N}{ \bar{n} \sigma} \right)^{2}}$$
Laten we een simulatie maken, we kiezen een cijfer uit [0,1,2,3,4,5,6,7,8,9] we nemen monsters "met vervanging". De standaarddeviatie van het gemiddelde kan worden berekend als: a = 0, b = 9 en s steekproefomvang. Een discrete uniforme verdeling:
$$\sigma=\sqrt{\frac{(b-a+1)^{2}-1}{12s}}$$
De afstand tussen discrete intervallen kan worden berekend met (empirisch bevonden):
$$\Delta x=\frac{1}{s}$$
Nu zijn we klaar om bijvoorbeeld een simulatie te doen: neem s = 800 willekeurige steekproeven van een van: [0,1,2,3,4,5,6,7,8,9] ("met vervanging") en bepaal de gemiddelde waarde. We herhalen elk monster met N = 150000 proeven, dit is het aantal steekproefgemiddelden. Van een enkele proef kunnen we tellen hoeveel monsters de verwachte gemiddelde waarde hebben: \(\bar{x}=4.5\) (alleen als de steekproefomvang even is). Hieruit kunnen we de geschatte \(\pi\) in één keer berekenen. We herhalen elke proef 10.000 keer, zodat we het gemiddelde van \(\pi\) kunnen bepalen.

Linker grafiek: Alle herhaalde pogingen, de grijze stippen zijn de willekeurig gegenereerde waarden. De blauwe lijn is de theoretische verdeling.

Middelste grafiek: de gemiddelde getelde waarnemingen n bij de verwachte waarde: \(\bar{x}=4.5\). Dit geeft een normale verdeling en de standaarddeviatie van de gemiddelde telling kan worden bepaald.

Rechter grafiek: de waarde van \(\pi\) kan bepaald door de omkaderde formule, merk op dat de resulterende verdeling niet normaal is. De boven- en ondergrens 95% wordt bepaald uit de middelste grafiek.

Code: Selecteer alles

import numpy as np
import pandas as pd

#Samples, trials (pick trials >1000 to avoid zero counts) and repeats
samples=100
trials=2000
repeats=2000

#Set arrays to zero
piarray=np.zeros(repeats)
narray=np.zeros(repeats)

#Detemermine: Stdev, And dx
var=((10-1+1)**2-1)/12
stdev=np.sqrt(var)
stdevt=stdev/np.sqrt(samples)
dx=1/samples

for p in range(repeats):

    #Create Array random numbers
    random=np.random.choice([0,1,2,3,4,5,6,7,8,9],[trials,samples])

    #Determine mean from random no of numbers (of samples)
    m=np.mean(random,axis=1)
    mn=np.mean(m)

    #Create dataframe and count number of observation per interval
    df=pd.DataFrame({'m' : m})
    dfg=df.groupby(['m'])['m'].agg(['count']).reset_index()

    #Histogram x=bins and y is density
    x=dfg['m'].to_numpy()
    y=dfg['count'].to_numpy()
    y=y/(dx*trials)

    #Count number of observation on mean: 4.5
    out=dfg[(dfg['m'] < 4.5 +dx/2) & (dfg['m'] > 4.5-dx/2)]
    nc=out['count'].to_numpy()
    n=np.sum(nc)
    narray[p]=n

    #Calculate pi and fill array
    pi=0.5*(trials*dx/(stdevt*n))**2
    piarray[p]=pi

nmean=np.mean(narray)
nstdev=np.std(narray)
nstdevm=nstdev/np.sqrt(repeats)
pim=0.5*(dx*trials/(stdevt*nmean))**2
piminc=0.5*(dx*trials/(stdevt*(nmean+2*nstdevm)))**2
pimaxc=0.5*(dx*trials/(stdevt*(nmean-2*nstdevm)))**2

print('pi: ' + str(np.round(pim,4)))
print(str(np.round(piminc,4)) + '<pi<' + str(np.round(pimaxc,4)) + ' (95%)')
Met de bijgevoegde simulatie \(\pi \approx 3.141 ..\), vereist dat in totaal: 800 ∗ 150000 ∗ 10000 = 1.200.000.000.000 gelijkwaardige dobbelstenen. Deze berekening duurde 14 uur op mijn computer!

Ik merkte later dat \(\pi\) ook kan worden berekend met de dichtheid op de positie van \(\sigma\) (of een andere positie). Maar dan heb je het nummer \(e\) van Euler nodig. Dus in principe kan na het bepalen van \(\pi\) het getal van Euler bepaald worden.
$$\boxed{\pi \approx \frac{1}{2e} \cdot \left( \frac{\Delta x N}{ n_{\sigma} \sigma} \right)^{2}}$$
Pi From Pi.jpg

Gebruikersavatar
Berichten: 4.320

Re: Pi berekenen van decimalen Pi

Jeetje wat moeilijk.

Ik heb iets wat gemakkelijker is. (lang geleden al geplaatst)
een begrijpelijk voor de middelbare school.

Neem een scherm met een zeker aantal pixels en plaats er een cirkel in.
Laat nu random pixels aanwijzen.

Tel de pixels binnen de cirkel en die daarbuiten.
Dan heb je de oppervlakte van de cirkel. enz.

Gebruikersavatar
Berichten: 1.605

Re: Pi berekenen van decimalen Pi

@Tempelier,

Het is leuker en leerzamer een methode zelf te bedenken dan te kopiëren wat men vind op internet. Misschien heeft mijn gepresenteerde methode meer diepgang dan je denkt.

Kritiseren is makkelijker dan iets creëren. Dan laat eens iets zien en niet alleen woorden gebruiken. Zoek mij iemand anders die hetzelfde gedaan heeft.

Ik heb ook op andere manieren \(\pi\) bepaald. Van meestal bestaande methoden wat met dozijnen op internet te vinden is.

Enkele andere voorbeelden door mijzelf:

Random dots:
Pi Plot Good.jpg
Of met random walks:
Pi Plot Steps=2500, Walks=750, Trial=20000.jpg

Gebruikersavatar
Berichten: 287

Re: Pi berekenen van decimalen Pi

Ikzelf heb het geprobeerd om door middel van het kruis(wat volgens mij een mathematische figuur is) zo dicht mogelijk bij Pi te komen, ik kwam tot 3,14 maar daarna komt er iets anders uit.
https://home.hccnet.nl/markos/MMepi.txt
Ik noem hjet dus niet Pi maar MMe, en het is maar een benadering, op het internet ben ik ook iemand tegen gekomen die mijn formule zo behandelde : MMe = 144 / (23 + 2*sqrt(130))
Maarja het is dus niet Pi maar een benadering aan de hand van het kruis.

Gebruikersavatar
Berichten: 1.605

Re: Pi berekenen van decimalen Pi

@markos,

Leuk dat je ook enkele methodes gebruikt om Pi te bepalen. Ik begrijp jouw methode niet zo goed. Ergens zou ik een link verwachten met een cirkel of symmetrie maar zie nergens een verband. Misschien heb je iets meer toelichting, nu lijkt het mij een toevallige benadering?

In het geval met mijn gok methode (eerste post) komt Pi tevoorschijn bij de herleiding van de normaal verdeling (dat is die grafiek wat lijkt op een kerkklok). Eigenlijk doordat de normaal verdeling symmetrisch is: er zijn twee x waarden voor iedere kans. Om de oppervlakte te bepalen bekijkt men tijdelijk de normaal verdeling als 3 dimensioneel (geroteerd om de y-as). Men bepaalt het volume als gestapelde vlaaien/cirkels vandaar dat Pi tevoorschijn komt.

Gebruikersavatar
Berichten: 287

Re: Pi berekenen van decimalen Pi

In deze tekening wordt het misschien wat duidelijker: https://home.hccnet.nl/markos/rel2.jpg en: https://home.hccnet.nl/markos/relihion.jpg
In die fractal tekeningen kan je dus vectoren berekenen op basis van het kruis.
Je kan het ook nog eens zo opschrijven:
1/2*B)^2+(1/3*C)^2=A1^2 (1/2*B)^2+(1/6*C)^2=A2^2 A1+A2/2=A B*C/A^2=MMe
Het is zeg maar een experiment die begon op de lagere school, waar ik al experimenterende ineens een kruis ontstond op mijn papiertje in de wiskunde les.

Gebruikersavatar
Berichten: 1.605

Re: Pi berekenen van decimalen Pi

@markos,

Jouw tekening heb ik bestudeerd en kwam tot de volgende structuur. Afwisselend kunnen twee vierkanten geconstrueerd worden. Een is onderveer 18.43...° verschoven van de andere die weer precies op 45°ligt.

De hoek kan berekend worden met:

$$tan(\alpha)=\frac{1}{3}$$
$$\alpha=atan \left( \frac{1}{3} \right) \approx 18.43..°$$

Het leuke is dat deze hoek volgens Wolfram Alpha irrationeel is. Op zich niet bijzonder er bestaan oneindig veel irrationele getallen.

https://www.wolframalpha.com/input/?i=I ... +number%3F

Maar dat betekent dat het patroon gebaseerd op jouw constructie zich nooit precies herhaald of terug komt op een volledige omdraaiing van 360°. Anders gezegd de lijnen van de vierkanten zullen nooit precies parallel liggen.

Hopende dat je mijn inzicht leuk vindt. Wil wel zeggen dat ik conclusies uit wetenschap mysterieus kan vinden. Echter ik laat de mystiek niet de wetenschap leiden.
1.jpg
2.jpg
3.jpg

Gebruikersavatar
Berichten: 1.605

Re: Pi berekenen van decimalen Pi

@markos,

Verder wilde ik graag nog een toevoeging doen. Er zijn geen domme vragen of ideeën, het gaat erom: wat leert men.

Om creatief bezig te zijn moet je eerst herhaalde handelingen doen. Zo krijg je intuïtie/inzicht en vul je de hersens met kleine efficiënte procedures/formules. Net zoals ik die tekeningen heb gemaakt veel herhaalde handelingen en telkens verfijn en perfectioneer je de procedure/methode. Zo vul je de gereedschapskist met kleine efficiënte procedures en handelingen die je snel kan oproepen. Net zoals een Jazz muzikant improviseert of een klassiek musicus perfect gevoel/frasering in het stuk kan leggen. Dit kan niet zonder dat je eindeloos oefeningen en "sommetjes" maakt.

Nu terug op jouw concept. Na enkele uurtjes rust heb ik nog enige etages toegevoegd aan jouw fractal. Als ik bezig ben met zo een vraagstuk krijg ik een heleboel vragen, enkele voorbeelden:

Uitgaande van zijwaartse projectie toren:
  • Convergeert de piek van de toren naar 0?
  • Hoe snel en met welke functie neemt de afmeting af, beschrijf die serie bestaat er een continue formule?
  • Hoe definieer ik de afmetingen op elke etage?
  • Als ieder vierkant omschreven word door een cirkel is het dan makkelijker een groei formule te vinden (upper bound)?
  • Hoe verhouden de omtrekken van cirkels en vierkanten zich is er een relatie tot Pi?
  • Hoe verhouden de ingeschreven cirkels van vierkanten zich wat is deze lower bound?
  • In enkele gevallen is de onderste etage smaller dan de bovenste (zie bruine punten tekening). Met welk interval of met welk kans percentage komen deze voor?
  • Zijwaarts gezien kan men iedere etage verdelen in een stuk links en rechts (zie middelste figuur). Wat is de verhouding per etage zit er een statistisch process hierachter?
  • In het bovenaanzicht kan men spiralen intekenen (hoekpunten even en onveven vierkanten), welke spiralen zijn dit en hoe beschrijft men die?
Men kan eindeloos vragen stellen en gegarandeerd levert de leerzame goede wiskunde op. Echter, men dient goede vragen te stellen welke meetbaar zijn zodat men die kan toetsen.

Mensen die denken dat zit zinloze recreatieve wiskunde is moeten zich maar afvragen waar al die mooie rekenregels vandaan komen waar men zo van houdt. Misschien had men dan maar advocaat worden als men alleen maar van regels en procedures houdt.

Dit is een beetje hoe ik verder zou gaan met een dergelijk open vraagstuk. Misschien als ik inspiratie krijg ga ik een beetje verder met dit concept. Maar dan is het beter een nieuw topic te starten, daar dit geen directe relatie heeft met het berekenen van Pi met de decimalen van Pi.
4.jpg

Gebruikersavatar
Berichten: 287

Re: Pi berekenen van decimalen Pi

Zoals jij het ziet kan je er ook naar kijken al wordt het nog ingewikkelder, ik heb aan de hand van mijn tekenexperiment de vector: 1/2*B)^2+(1/3*C)^2=A1^2 gevonden en later heb ik de vector omgedraaid dus: (1/2*B)^2+(1/6*C)^2=A2^2 , en dat weer gemiddeld door: A1+A2/2=A en dat weer in een ABCtje gezet met: B*C/A^2=MMe.
en dan is de uitkomst 3.14386396827584667646431181863895 etc. wat aardig dicht bij Pi komt.

Gebruikersavatar
Berichten: 1.605

Re: Pi berekenen van decimalen Pi

Ik heb mij vooral eerst geometrisch gefocusseerd. Ik kan nog geen uitlatingen doen over enige algebra.

Zoals jij al waarschijnlijk allang herkend hebt is dit een zeer unieke constructie. Voor de vlotte lezer lijkt het het alsof een tegel met hierin een vierkant steeds een stukje gedraaid word.

Er is meer diepgang: men neemt steeds de lijn voorgaande hoekpunt vierkant tot halve zijde actuele vierkant. En hiermee het nieuwe vierkant creëren. Erg interessant dat steeds een symmetrisch inschreven vierkant ontstaan.

Ik moet mij echter verdiepen hoe men zoiets omschrijft in formule vorm hiermee heb ik niet veel ervaring.

Iets in de vorm als onderstaand (waarbij Rn ribbe lengte is) :

Ribbe lengte even vierkanten met \(R_{o}=1\):
$$tan(\alpha)=\frac{1}{3}$$
$$R_{2n+2}= \left( \frac{1}{cos(\alpha)}- \frac{4}{3} sin(\alpha) \right)^{n}=\left( \sqrt{\frac{2}{5}} \right)^{n}$$

De oneven vierkanten verhouden zicht met: \(1/\sqrt{2}\) t.o.v. de oneven vierkanten.
$$R_{2n+1}=R_{2n} \cdot \frac{1}{\sqrt{2}}$$

Echter fouten inbegrepen het is al laat.

Gebruikersavatar
Berichten: 821

Re: Pi berekenen van decimalen Pi

Je kunt π ook bepalen door de decimalen van π achter elkaar te zetten.
Heel goedkoop natuurlijk, maar het geeft een nauwkeurigheid van 1 op 1.
Als je de eerste x decimalen weet, kun je π tot op x decimalen bepalen.

Dan is nu de vraag, hoe goed is een andere methode ten opzichte van dat?
En kan er überhaupt een methode bestaan die met de eerste x decimalen van π, π kan bepalen tot meer dan x decimalen?

Reageer