|
Раздел "Математика\Statistics Toolbox"
Список функций Statistics Toolbox
\ \ Генерация псевдослучайных чисел по заданному закону распределения
Синтаксис
RND = nbinrnd(R,P)
RND = nbinrnd(R,P,m)
RND = nbinrnd(R,P,m,n)
Описание
RND = nbinrnd(R,P) функция предназначена для генерации псевдослучайного числа по отрицательному биномиальному распределению с параметрами R,P. Размерность векторов или матриц параметров R и P должна быть одинаковой. Скалярный параметр увеличивается до размера другого входного аргумента. Размерность вектора или матрицы RND соответствует размерности R и P.
RND = nbinrnd(R,P,m) позволяет получить вектор или матрицу псевдослучайных чисел на m элементов по отрицательному биномиальному распределению с параметрами P и R, где m - вектор размерностью 1x2 определяющий размерность матрицы R.
RND = nbinrnd(R,P,m,n) генерирует матрицу псевдослучайных чисел с размерностью m-n элементов распределенных по отрицательному биномиальному распределению с параметрами P и R.
Примеры использования функции генерации псевдослучайных чисел.
Генерация одного числа соответствующего определенной паре параметров R и P.
>> R=10;
>> P=0.5;
>> RND = nbinrnd(R,P)
RND =
4
>> R=[10 20 30 40 50];
>> P=[0.2 0.3 0.5 0.7 0.9];
>> RND = nbinrnd(R,P)
RND =
72 22 23 19 5
Генерация вектора с размерностью 1x5 элементов псевдослучайных чисел.
>> R=10;
>> P=0.5;
>> m=[1 5];
>> RND = nbinrnd(R,P,m)
RND =
4 4 10 6 5
Другой вариант генерации вектора с размерностью 1x5.
>> R=10;
>> P=0.5;
>> m=1; n=5;
>> RND = nbinrnd(R,P,m,n)
RND =
10 6 13 9 8
Генерация матрицы с размерностью 5x5 элементов.
>> R=10;
>> P=0.5;
>> m=[5 5];
>> RND = nbinrnd(R,P,m)
RND =
6 9 17 8 5
11 8 13 15 8
7 8 9 8 15
14 8 14 8 8
4 12 7 12 6
Другой вариант генерации матрицы с размерностью 5x5.
>> R=10;
>> P=0.5;
>> m=5; n=5;
>> RND = nbinrnd(R,P,m,n)
RND =
20 10 22 12 13
12 14 8 11 8
4 2 4 8 12
15 4 1 11 12
17 12 15 11 4
Оценка качества генерации псевдослучайных чисел в виде наложения гистограммы и функции случайной величины,
приведенной к абсолютному масштабу.
>> R=10;
>> P=0.5;
>> N=9;
>> RND = nbinrnd(R,P,[1 100]);
>> hist(RND, N)
>> grid on
>> X=floor(min(RND)):1: floor (max(RND));
>> f=nbinpdf(X,R,P);
>> ff=f*100*((max(RND)-min(RND))/N);
>> hold on
>> plot(X,ff,'r')
>> hold off
\ \
|