Räkna ut decimaler på pi med hjälp av kalkylprogram eller programmering
Här finns färdiga kodexempel som du kan använda för att testa kombinationen programmering och matematik.
Koden beräknar ett närmevärde på pi genom att omväxlande addera respektive subtrahera allt mindre tal Det är en av de första algoritmerna för att beräkna pi och den är inte särskilt effektiv. Hur bra får du undersöka själv. Genom att följa länkarna nedan kommer du att hitta mycket bättre algoritmer.
Skälet att vi valde denna algoritm är att den är lätt att programmera och därför överskådlig så det är enkelt att förstå programmet.
Serier
Vi tar ett enkelt exempel från första länken nedan och gör det i kalkylprogram och i Python
the Leibniz formula for [math]\displaystyle{ \pi }[/math], named after Gottfried Leibniz , states that
- [math]\displaystyle{ 1 \,-\, \frac{1}{3} \,+\, \frac{1}{5} \,-\, \frac{1}{7} \,+\, \frac{1}{9} \,-\, \cdots \,=\, \frac{\pi}{4}. }[/math]
eller
- [math]\displaystyle{ \pi = 4 (1 \,-\, \frac{1}{3} \,+\, \frac{1}{5} \,-\, \frac{1}{7} \,+\, \frac{1}{9} \,-\, \cdots ) }[/math]
Exempel med kalkylark
- Gregory Leibniz - Håkans exempel.
Exempel med Pyhton3 kod
Här finns en lathund till Python.
#4*(1 - (1/3) + (1/5) - (1/7)...) ~ Pi iterationer = int(input("Hur många iterationer?")) pi = 0 n = 1 t = 1 for i in range(iterationer): pi += (1/n)*t n += 2 t = t*(-1) print(i+1, pi*4)
Exempel i JavaScript
let pi = 1, b = 1; for(let i = 3 ;; i += 2) { pi += (b *= -1) * 1/i; console.log(pi * 4); }
Exempel i Java
public static void main(String[] args) { double pi = 1, b = 1; for(int i = 3 ;; i += 2) { pi += (double) (b *= -1) * 1/i; System.out.println(pi * 4); } }
Förbättra programmet
Uppgift |
---|
John Wallis
Modifiera algoritmen i Pythonprogrammet så att det använder John Wallis produkt
|
Experimentella beräkningar
Experimentell bestämning med sannolikhetslära i botten
Experimentell bestämning av [math]\displaystyle{ \pi }[/math] är kanske inte den bästa av idéer. Låt datorn göra jobbet istället.
Monte Carlo-simulering
Värt att pröva.
En Monte Carlo-metod kan användas för att bilda ett närmevärde för π: enligt formeln för cirkelns area är arean av en kvartscirkel med radien 1 exakt ¼π. Placeras en kvartscirkel i en kvadrat med sidan och arean 1, som i figuren, kommer andelen av kvadraten som ligger i kvartscirkeln att vara samma som dess area. Genom att slumpmässigt generera likformigt fördelade punkter i kvadraten och räkna hur många av dem som hamnar innuti kvartscirkeln kan andelen uppskattas, och därmed arean på kvartscirkeln. Ju fler punkter som genereras desto bättre blir uppskattningen, enligt de stora talens lag. Om uppskattningen multipliceras med 4 får man en uppskattning av π.