Metoda Monte Carlo w praktyce. Szacowanie wartości PI metodą Monte Carlo w Javie.

W dzisiejszym wpisie przedstawię metodę Monte Carlo. Jest to metoda do modelowania matematycznego procesów na tyle złożonych że podejście analityczne jest zbyt skomplikowane.

Podstawą metody Monte Carlo jest losowanie. Chociażby nawet możemy oszacować pewne prawdopodobieństwa z użyciem tej metody. Niektóre procesy statystyczne są na tyle złożone a jednocześnie nie interesuję nas dokładna wartość a jedynie szacunek i w takim przypadku metoda Monte Carlo dobrze się sprawdza. Warto również dodać, że metoda Monte Carlo została opracowana przez polskiego matematyka Stanisława Ulama. My w tym odcinku natomiast wykorzystamy metodę Monte Carlo do oszacowania liczby PI.

package pl.am.analizy.mc;

import java.util.Random;

public class Pi {
    public static void main(String[] args) {
        Random random = new Random();

        int amount = 10000000;
        int in = 0;

        for (int i = 0; i < amount; i++) {
            double x = random.nextDouble();
            double y = random.nextDouble();

            double distance = Math.hypot(x, y);

            if (distance <= 1) {
                in++;
            }
        }

        double pole = in/(double)amount;
        double pi = pole * 4;

        System.out.println("pole = " + pole);
        System.out.println("pi = " + pi);
    }
}

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *