Monte Carlo Verfahren – Einheitskreis

Dies ist ein weiteres Monte Carlo Verfahren zur Approximation von $$pi$$.
Es wird eine quadratische Fläche über einen Kreis gelegt, sodass genau ein Viertel des Kreises ingeschlossen wird.
Danach werden zufällig Punkte im Quadrat generiert, wobei hier das Verhältnis
P = \frac{Punkte innerhalb des Kreises}{Gesamtanzahl der generierten Punkte} = \frac{A_{k}}{A}
festgehalten wird.
Wir wissen, dass die Quadrafläche unterhalb des Kreises A_{k}=\frac{\pi r^2}{4} beträgt und die Quadratfläche insgesamt A=r^{2} und somit:
P= \frac{A_{k}}{A}= \frac{\pi}{4}
also ist eine Approximation : \pi \approx 4*P
</div>
<div>package montecarlo;

import java.util.Random;

public class Einheitskreis {

static double r = 1.0;

public static void main(String[] args) {
pi(1000000);
}

static void pi(int loopcount) {
Random generator = new Random();
double P = 0.0;
double a = 0.0;

for (int i = 1; i <= loopcount; i++) {
if (Math.pow(generator.nextDouble()*r,2) + Math.pow(generator.nextDouble()*r,2) <= Math.pow(r, 2) ) {
++a;
}
P = a/(double)i;
System.out.println(i + ") " + "Pi is approx.: " + 4.0*P);
}
}
}</div>
<div>
Advertisements

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s