pole powierzchni pod funkcją na odcinku

gdzie jest zmienną losową z rozkładu jednostajnego na odcinku .

Dla próby

Warto zauważyć, że

#include<stdio.h> #include<stdlib.h> #include<time.h> int main() { double a=0.0, b=1.0, x; int i, n = 10; srand(time(0)); for(i=0; i<n; i++) { x = a + (b - a) * rand()/RAND_MAX; printf("%f\n", x); } }

Wyznaczenie całki

Wartość analityczna

#include<stdio.h> #include<stdlib.h> #include<time.h> #include<math.h> #define PI 3.14159265359 double f(double x) { return sin(x); } double mc1(double a, double b, int n, double (*func)(double)) { double s = 0.0, x, fx; int j; for (j=0; j < n; j++){ x = a + (b-a) * ((double)rand() / RAND_MAX); s += (*func)(x); } s = (b - a) * s / n; return s; } int main() { double a = 0.0, b = PI/2.0, s; int n; printf("Ile losowan n="); scanf("%d", &n); srand(time(0)); s = mc1(a, b, n, f); printf("n=%6d s=%10.6f \n", n, s ); }

Pole prostokąta wyznaczonego przez zakres całkowania

ustaw

wylosuj punkt , gdzie wartości losowe oraz

jeżeli wylosowany punkt leży nad osią OY i jednocześnie pod wykresem funkcji całkowanej, czyli spełnia nierówność , wówczas zwiększamy zmienną o jeden,

jeżeli wylosowany punkt leży pod osią OY i jednocześnie nad wykresem funkcji całkowanej, czyli spełnia nierówność , wówczas zmniejszamy zmienną o jeden,

jeżeli wylosowany punkt nie spełnia żadnego z powyższych warunków wówczas, pozostawiamy zmienną bez zmian

powtórz krotnie kroki od 2 do 5

zwróć wynik

wartość całki jest przybliżeniem (estymatorem) o rozkładzie normalnym

dokładność rośnie (tj. wariancja maleje) ze wzrostem rozmiaru próbki losowej

bardzo prosta metoda, która z powodzeniem może być stosowana do obliczania całek wielowymiarowych

procedura prosta do zrównoleglenia

powolna zbieżność

oszacowanie błędu nie zawsze proste

wyniki zależą od jakości generatora liczb

w metodzie odrzuceń musimy znać zakres wartości maksymalnych i minimalnych funkcji całkowanej na odcinku

Treść zadania znajduje się w Moodle pod adresem Zadanie 7

Ćw. 1

Używając metody Monte Carlo wyznacz objętość sfery o promieniu 1

Ćw. 2

Za pomocą metody Monte Carlo rozwiąż zadanie z poprzednich zajęć aby wyznaczyć przybliżoną wartość liczby