Универсальным методом моделирования непрерывных случайных величин является метод исключения. При моделировании случайной величины Х с плотностью распределения вероятности в интервале от a до b используется следующий алгоритм:
Программа 3 ( исходный файл lect1_3.cpp , выполняемый файл lect1_3.exe )
Разработать функцию, формирующую (моделирующую) значения случайной величины с плотностью распределения вероятности на интервале
. Эта зависимость показана на следующем рисунке.
Вычислим А : - вероятность достоверного события равна 1.
Далее, вычисляя интеграл, получаем:
.
Из чего следует А=.
#define N 500 #define M 30000L #include#include #include "model.h" float sl_vel(void); float f[N] ; void main(void) { long i ; int n; float x ; for(i = 0 ; i < M ; i++) { x = sl_vel(); n = x * N ; f[n] = f[n] + 1./M * N ; } Init_graph(); graf_1("plotnost", f, 0, N-1); Close_graph(); } float sl_vel(void) { float , , , ; for(; ;) { = random(30000)/30000.; = random(30000)/30000.; = ; = PI /2 * ; if ( <= ( PI/2 * sin (PI* ))) break; } return ; }
Программа 4 ( исходный файл lect1_4.cpp, выполняемый файл lect1_4.exe )
Далее приведена программа моделирования случайной величины с плотностью распределения вероятности (рис.10):
#define N 500 #define M 30000L #include |
![]() |