mvnrnd

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

Описание

пример

R = mvnrnd(mu,Sigma,n) возвращает матрицу R от n случайные векторы, выбранные из того же многомерного нормального распределения со вектором средних значений mu и ковариационная матрица Sigma. Для получения дополнительной информации см. Раздел «Многомерное нормальное распределение».

пример

R = mvnrnd(mu,Sigma) возвращает m -by d матрицу R случайных векторов, дискретизированных из m отдельных d -мерных многомерных нормальных распределений, со средствами и ковариациями, заданными mu и Sigma, соответственно. Каждая строка R является одним многомерным нормальным случайным вектором.

Примеры

свернуть все

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

Определите mu и Sigmaи сгенерировать 100 случайных чисел.

mu = [2 3];
Sigma = [1 1.5; 1.5 3];
rng('default')  % For reproducibility
R = mvnrnd(mu,Sigma,100);

Постройте график случайных чисел.

plot(R(:,1),R(:,2),'+')

Figure contains an axes. The axes contains an object of type line.

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

Задайте средства mu и ковариации Sigma распределений. Пусть все распределения разделяют одну и ту же ковариационную матрицу, но варьируют векторы средних значений.

firstDim = (1:5)';
mu = repmat(firstDim,1,3)
mu = 5×3

     1     1     1
     2     2     2
     3     3     3
     4     4     4
     5     5     5

Sigma = eye(3)
Sigma = 3×3

     1     0     0
     0     1     0
     0     0     1

Случайная выборка один раз из каждого из пяти распределений.

rng('default')  % For reproducibility
R = mvnrnd(mu,Sigma)
R = 5×3

    1.5377   -0.3077   -0.3499
    3.8339    1.5664    5.0349
    0.7412    3.3426    3.7254
    4.8622    7.5784    3.9369
    5.3188    7.7694    5.7147

Постройте график результатов.

scatter3(R(:,1),R(:,2),R(:,3))

Figure contains an axes. The axes contains an object of type scatter.

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

свернуть все

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

  • Если mu является вектором, тогда mvnrnd реплицирует вектор, чтобы соответствовать последующему измерению Sigma.

  • Если mu является матрицей, затем каждая строка mu - вектор средних значений одинарного многомерного нормального распределения.

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

Ковариации многомерных нормальных распределений, заданные как d -by d симметричная, положительная полуопределенная матрица или d -by d -by m числовой массив.

  • Если Sigma является матрицей, тогда mvnrnd реплицирует матрицу, чтобы она совпадала с количеством строк в mu.

  • Если Sigma - массив, затем каждая страница Sigma, Sigma(:,:,i), - ковариационная матрица одинарного многомерного нормального распределения и, следовательно, симметричная, положительная полуопределенная матрица.

Если ковариационные матрицы диагональны, содержат отклонения по диагонали и нулевые ковариации от нее, то можно также задать Sigma как 1-by - d вектор или 1-by- d -by- m массив, содержащий только диагональные элементы.

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

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

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

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

свернуть все

Многомерные нормальные случайные числа, возвращенные как одно из следующего:

  • m -by d числовую матрицу, где m и d являются размерностями, заданными mu и Sigma

  • n-by - d числовая матрица, где n является заданным входным параметром, а d - размерностью, заданной mu и Sigma

Если mu является матрицей и Sigma является массивом, тогда mvnrnd вычисляет R(i,:) использование mu(i,:) и Sigma(:,:,i).

Подробнее о

свернуть все

Многомерное нормальное распределение

Многомерное нормальное распределение является обобщением одномерного нормального распределения на двух или более переменных. У этого есть два параметра, вектор средних значений μ и ковариационная матрица Σ, которые походят на средние параметры и параметры отклонения одномерного нормального распределения. Диагональные элементы Σ содержат отклонения для каждой переменной, а недиагональные элементы Σ - ковариации между переменными.

Функция плотности вероятностей (pdf) d -мерного многомерного нормального распределения

y = f(x,μ,Σ) = 1|Σ|(2π)dexp(12(x-μΣ-1(x-μ)')

где x и μ являются векторами 1-by d, а Σ является d -by d симметричной, положительно определенной матрицей. Толькоmvnrnd позволяет положительные полуопределенные матрицы Σ, которые могут быть сингулярными. PDF не может иметь ту же форму, когда Σ сингулярна.

Многомерная нормальная кумулятивная функция распределения (cdf), оцененная в x, является вероятностью того, что случайный векторный v, распределенный как многомерный нормаль, лежит внутри полубесконечного прямоугольника с верхними пределами, заданными x:

Pr{v(1)x(1),v(2)x(2),...,v(d)x(d)}.

Хотя многомерный нормальный cdf не имеет закрытой формы, mvncdf может вычислять значения cdf численно.

Совет

  • mvnrnd требуется матрица Sigma чтобы быть симметричным. Если Sigma имеет только незначительную асимметрию, вы можете использовать (Sigma + Sigma')/2 вместо этого, чтобы разрешить асимметрию.

  • В одномерном случае Sigma - дисперсия, а не стандартное отклонение. Для примера, mvnrnd(0,4) то же, что и normrnd(0,2), где 4 - отклонение и 2 - стандартное отклонение.

Ссылки

[1] Коц, С., Н. Балакришнан, и Н. Л. Джонсон. Непрерывные многомерные распределения: Том 1: Модели и приложения. 2-й ред. Нью-Йорк: John Wiley & Sons, Inc., 2000.

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

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