normrnd

Нормальные случайные числа

Синтаксис

r = normrnd(mu,sigma)
r = normrnd(mu,sigma,sz1,...,szN)
r = normrnd(mu,sigma,[sz1,...,szN])

Описание

пример

r = normrnd(mu,sigma) генерирует случайное число от нормального распределения со средним параметром mu и параметр стандартного отклонения sigma.

пример

r = normrnd(mu,sigma,sz1,...,szN) или r = normrnd(mu,sigma,[sz1,...,szN]) генерирует sz1 -by-szN массивом нормальных случайных чисел.

Примеры

свернуть все

Сгенерируйте одно случайное значение от стандартного нормального распределения.

rng('default') % For reproducibility
r = normrnd(0,1)
r = 0.5377

Сохраните текущее состояние генератора случайных чисел. Затем создайте вектор 1 на 5 нормальных случайных чисел от нормального распределения со средним значением 3 и стандартное отклонение 10.

s = rng;
r = normrnd(3,10,[1,5])
r = 1×5

    8.3767   21.3389  -19.5885   11.6217    6.1877

Восстановите состояние генератора случайных чисел к s, и затем создайте новый вектор 1 на 5 случайных чисел. Значения те же, что и прежде.

rng(s);
r1 = normrnd(3,10,[1,5])
r1 = 1×5

    8.3767   21.3389  -19.5885   11.6217    6.1877

Создайте матрицу нормально распределенных случайных чисел с тем же размером как существующий массив.

A = [3 2; -2 1];
sz = size(A);
R = normrnd(0,1,sz)
R = 2×2

    0.5377   -2.2588
    1.8339    0.8622

Можно объединить предыдущие две строки кода в одну строку.

R = normrnd(1,0,size(A));

Входные параметры

свернуть все

Среднее значение нормального распределения, заданного как скалярное значение или массив скалярных значений.

Чтобы сгенерировать случайные числа от нескольких дистрибутивов, задайте mu и sigma с помощью массивов. Если и mu и sigma являются массивами, то размеры массивов должны быть тем же самым. Если или mu или sigma являются скаляром, то normrnd расширяет скалярный аргумент в постоянный массив, одного размера в качестве другого аргумента. Каждый элемент в r является случайным числом, сгенерированным от распределения, заданного соответствующими элементами в mu и sigma.

Пример: [0 1 2; 0 1 2]

Типы данных: single | double

Стандартное отклонение нормального распределения, заданного как неотрицательное скалярное значение или массив неотрицательных скалярных значений.

Если sigma является нулем, то вывод r всегда равен mu.

Чтобы сгенерировать случайные числа от нескольких дистрибутивов, задайте mu и sigma с помощью массивов. Если и mu и sigma являются массивами, то размеры массивов должны быть тем же самым. Если или mu или sigma являются скаляром, то normrnd расширяет скалярный аргумент в постоянный массив, одного размера в качестве другого аргумента. Каждый элемент в r является случайным числом, сгенерированным от распределения, заданного соответствующими элементами в mu и sigma.

Пример: [1 1 1; 2 2 2]

Типы данных: single | double

Размер каждой размерности, заданной как целые числа или вектор - строка из целых чисел. Например, определение 5,3,2 или [5,3,2] генерирует 5 3 2 массивами случайных чисел от распределения вероятностей.

Если или mu или sigma являются массивом, то заданные измерения sz1,...,szN должны совпадать с общими размерностями mu и sigma после любого необходимого скалярного расширения. Значения по умолчанию sz1,...,szN являются общими размерностями.

  • Если вы задаете одно значение sz1, то r является квадратной матрицей размера sz1.

  • Если размером какой-либо размерности является 0 или отрицательный, то r является пустым массивом.

  • После второго измерения normrnd игнорирует последующие измерения с размером 1. Например, normrnd (3,1,1,1) производит вектор 3 на 1 случайных чисел.

Типы данных: single | double

Выходные аргументы

свернуть все

Нормальные случайные числа, возвращенные как скалярное значение или массив скалярных значений с размерностями, заданными sz1,...,szN. Каждый элемент в r является случайным числом, сгенерированным от распределения, заданного соответствующими элементами в mu и sigma.

Альтернативная функциональность

  • normrnd является функционально-специализированным к нормальному распределению. Statistics and Machine Learning Toolbox™ также предлагает родовой функции random, который поддерживает различные распределения вероятностей. Чтобы использовать random, создайте распределение вероятностей NormalDistribution, возражают и передают объект как входной параметр или задают имя распределения вероятностей и его параметры. Обратите внимание на то, что специфичный для распределения функциональный normrnd быстрее, чем родовая функция random.

  • Используйте randn, чтобы сгенерировать случайные числа от стандартного нормального распределения.

  • Чтобы сгенерировать случайные числа в интерактивном режиме, используйте randtool, пользовательский интерфейс генерации случайных чисел.

Ссылки

[1] Marsaglia, G, и В. В. Цанг. “Быстрый, Легко Реализованный метод для Выборки от Уменьшения или Симметричных Одномодовых Функций плотности”. SIAM Journal на Научном и Статистическом Вычислении. Издание 5, Номер 2, 1984, стр 349–359.

[2] Эванс, M., Н. Гастингс и Б. Пикок. Статистические Дистрибутивы. 2-й редактор Хобокен, NJ: John Wiley & Sons, Inc., 1993.

Расширенные возможности

Представлено до R2006a

Для просмотра документации необходимо авторизоваться на сайте