normrnd

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

Описание

пример

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

r = normrnd(mu,sigma,sz1,...,szN) генерирует массив нормальных случайных чисел, где sz1,...,szN указывает размер каждой размерности.

пример

r = normrnd(mu,sigma,sz) генерирует массив нормальных случайных чисел, где вектор sz задает size(r).

Примеры

свернуть все

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

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 из распределения вероятностей.

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

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

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

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

Пример: 5,3,2

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

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

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

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

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

  • За пределами второго измерения, normrnd игнорирует последующие измерения с размером 1. Для примера укажите [3,1,1,1] производит вектор 3 на 1 случайных чисел.

Пример: [5,3,2]

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

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

свернуть все

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

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

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

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

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

Ссылки

[1] Marsaglia, G, and W. W. Tsang. Быстрый, легко реализованный метод выборки из уменьшающихся или симметричных функций юнимодальной плотности. SIAM Journal on Scientific and Statistical Computing. Том 5, № 2, 1984, стр. 349-359.

[2] Эванс, М., Н. Гастингс и Б. Пикок. Статистические распределения. 2nd ed. Hoboken, NJ: John Wiley & Sons, Inc., 1993.

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

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