Monte Carlo-metoden eller konsten att beräkna pi med en hagelbössa

En fil med detta exempel finns i BOX till höger!

Tänk dig att du tar ett stort kvadratiskt pappersark, t.ex. med sidolängden 2 m. Sedan inskriver du en cirkel i arket som bilden nedan visar:

Genom att slumpmässigt pricka in punkter på pappret, kan man få ett närmevärde för π. Hela papprets area är 4 kvadrartmeter. Eftersom den inskrivna cirkeln har radien 1 m, är cirkelns area π kvadratmeter. Om man jämför prickarna inom cirkeln med totala antalet prickar, bör man få ett närmevärde på π. Hur ska prickarna placeras. Man kund skjuta med hagelbössa eller kasta pil från ett större avstånd, men vi tar det lite mera fredligt här. Samtidigt ska vi ta os en titt på kommandot Rand()

Kommandot ger slumptal mellan 0 och 1. Kommandot rand(n) ger n sådana slumptal. Om kommandot ges ett stort antal gånger, kommer varje enskild siffra mellan 0 och 9 i decimalutvecklingen att förekomma i stort sett lika många gånger. Vi ska nu använda kommandot rand() för att generera punkterna på vårt pappersark.

Vi startar ett nytt dokument med en Antecknings-skärm. Sedan definierar vi två listor, en för x- och en för y-koordinater. Dessutom skapar vi en lista i vilken vi anger punkternas avstånd från origo, räknat med Pythagoras sats.

Sedan öppnar vi en ny flik med en räknarskärm Där startar vi ett enkelt program.

När programmet är inmatat, måste syntax kollas och programmet lagras. Detta sker via MENU. Programmet räknar hur många av punkterna som ligger inom cirkeln.

Nu kan vi återvända till Antecknings-skärmen. Programmet kan köras där.

Vid inmatning av ett nytt värde för n, får vi en ny uppskattning av π.

Vi kan ytterligare lägga till en Statistik-skärm för att se fördelningen av våra punkter.

Metoden att uppskatta t.ex. svårberäknade integraler med en slumptalsgenerator, kallas ofta för Monte Carlo-metoden. Namnet hänger samman med Casinot! Vårt exempel visar att pålitliga värden fås bara om vi generar stora antal punkter. Idén borde ändå vara klar.

Annonser