May 1, 2025, Thursday, 120

KADD laboratorium 7

From MJanik

(Difference between revisions)
Jump to: navigation, search
Majanik (Talk | contribs)
(Created page with " {| align="right" | __TOC__ |} Standardowa metoda generacji liczb losowych przez funkcję odwrotną ma ogreaniczone zastosowanie. Można jej uzywać tylko w przypadku, gdy ...")
Newer edit →

Revision as of 10:28, 29 March 2012

Contents

Standardowa metoda generacji liczb losowych przez funkcję odwrotną ma ogreaniczone zastosowanie. Można jej uzywać tylko w przypadku, gdy dystrybuanta jest znana i możliwe jest znalezienie jej funkcji odwrotnej.

Gdy znana jest tylko gęstość prawdopodobieństwa g(y) stosujemy metodę von Neumanna.

Zadanie

Celem zadania jest zaimplementowanie funkcji, która generuje liczby losowe z dowolnego rozkładu reprezentowanego przez obiekt TF1. Losowanie należy wykonać za pomocą metody akceptacji i odrzucania von Neumana. Zaimplementowana funkcja powinna dodatkowo zwracać informację o efektywności metody (1 pkt):

// Funkcja losuje n punktow z rozkladu reprezentowanego przez obiekt f
// metoda akceptacji i odrzucania von Neumana
// f - gestosc z ktorej losujemy punkty
// n - liczba losowanych punktow
// points - wskaznik na tablice o wymiarze n gdzie beda umieszczone wylosowane punkty
// Funkcja zwraca wskaznik informujacy o efektywnosci metody tj.
// (liczba zaakceptowanych punktow)/(liczba wszystkich wylosowanych punktow)
 double losujVonNeuman(TF1 *f, int n, double *points);

Napisaną funkcję losującą następnie należy wykorzystać do zaimplementowania funkcji obliczającej całkę typu: