gdzie P jest polem kwadratu opisanego na kole (tutaj P = 4).

Dokładność i poprawność metody Monte Carlo

Dokładność wyniku uzyskanego tą metodą jest zależna od liczby sprawdzeń i jakości użytego generatora liczb pseudolosowych. Zwiększanie liczby prób nie zawsze zwiększa dokładność wyniku, ponieważ generator liczb pseudolosowych ma skończenie wiele liczb losowych w cyklu.

Ta metoda całkowania jest używana w przypadkach, kiedy szybkość otrzymania wyniku jest ważniejsza od jego dokładności (np. obliczenia inżynierskie).

czyli koła o promieniu 1 i środku w punkcie (0,0).

Metoda Monte Carlo

Z Wikipedii, wolnej encyklopedii

Metoda Monte Carlo (MC) jest stosowana do modelowania matematycznego procesów zbyt złożonych (obliczania całek, łańcuchów procesów statystycznych), aby można było przewidzieć ich wyniki za pomocą podejścia analitycznego. Istotną rolę w metodzie MC odgrywa losowanie (wybór przypadkowy) wielkości charakteryzujących proces, przy czym losowanie dokonywane jest zgodnie z rozkładem, który musi być znany.

e wiadomosci yes - relaren - komedie romatyczne - zilosc18 - erdoelembargos - v2 - r - biografie i wspomnienia - Nauka jazdy Szczecin

Metoda została opracowana i pierwszy raz zastosowana przez Stanisława Ulama.

Przykład obliczania liczby pi metodą Monte Carlo

#include <iostream> #include <cmath> #include <cstdlib> using namespace std; int main() { int n; int nk = 0; double x,y; float s; cout << "Podaj liczbe losowanych pkt:" << endl; cin >> n; for(int i = 1; i <= n; i++) { x = ((double)rand() / (RAND_MAX)) * 2 - 1; y = ((double)rand() / (RAND_MAX))*2 - 1; if(x*x + y*y <= 1) { nk++; } } cout << "Liczba pkt. w kole wynosi: " << nk << endl; cout << "Liczba pkt. w kwadracie wynosi: " << n << endl; s = 4 * (double)nk / n; cout << "Liczba pi wynosi: " << s; }

Poprawność metody Monte Carlo w przypadku liczenia pól lub całek można udowodnić stosując twierdzenie Picka (lub jego wielowymiarowe uogólnienia) do najlepszego wielokąta wpisanego w figurę, której pole chcemy obliczyć w przybliżeniu tzw. kryształu wirtualnego, tzn. regularnej siatki punktów o stałej sieci równej średniej odległości między wylosowanymi punktami. W nieskończonej granicy tych wielokątów i siatek metoda jest dokładna dla dowolnego kształtu.

Typowym przykładem może być modelowanie wyniku zderzenia cząstki o wysokiej energii z jądrem złożonym, gdzie każdy akt zderzenia elementarnego (z pojedynczym nukleonem jądra) modelowany jest oddzielnie poprzez losowanie liczby, rodzaju, kąta emisji, energii itp. cząstek wtórnych emitowanych w wyniku takiego zderzenia. Następnym etapem jest modelowanie losu każdej z cząstek wtórnych (w wyniku kolejnego losowania prawdopodobieństwa oddziaływania lub wyjścia z jądra). Kontynuując taką procedurę można otrzymać pełny opis "sztucznie generowanego" procesu złożonego. Po zebraniu dostatecznie dużej liczby takich informacji można zestawić ich charakterystyki z obserwowanymi wynikami doświadczalnymi, potwierdzając lub negując słuszność poczynionych w całej procedurze założeń.

Przykład całkowania metodą Monte Carlo

Metodą Monte Carlo można obliczyć pole figury zdefiniowanej nierównością:

życzenia noworoczne Tłumacz przysięgły pylony CDN Optima Zabrze ostrzenie narzędzi disney villas linki do atlasu kredyty samochodowe biznes
  1. Losuje się n punktów z opisanego na tym kole kwadratu o współrzędnych wierzchołków (-1,-1), (-1,1), (1,1), (1,-1).
  2. Po wylosowaniu każdego z tych punktów trzeba sprawdzić, czy jego współrzędne spełniają powyższą nierówność (tj. czy punkt należy do koła).

Wynikiem losowania jest informacja, że z n wszystkich prób k było trafionych, zatem pole koła wynosi

wizytówki milosc szczesliwa scorch Biura podróży Litera h