mvtrnd

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

Синтаксис

R = mvtrnd(C,df,cases)
R = mvtrnd(C,df)

Описание

R = mvtrnd(C,df,cases) возвращает матрицу случайных чисел, выбранных из многомерного распределения t, где C является корреляционной матрицей. df является степенями свободы и является или скаляром или является вектором с элементами cases. Если p является количеством столбцов в C, то вывод R имеет строки cases и столбцы p.

Позвольте t представлять строку R. Затем распределение t является распределением вектора, имеющего многомерное нормальное распределение со средним значением 0, отклонение 1, и ковариационная матрица C, разделенный на независимый хи-квадрат случайное значение, имеющее степени свободы df. Строки R независимы.

C должен быть квадратной, симметричной и положительной определенной матрицей. Если его диагональные элементы не являются всем 1 (то есть, если C является ковариационной матрицей, а не корреляционной матрицей), mvtrnd повторно масштабирует C, чтобы преобразовать его к корреляционной матрице прежде, чем сгенерировать случайные числа.

R = mvtrnd(C,df) возвращает одно случайное число в многомерное распределение t.

Примеры

свернуть все

Сгенерируйте случайные числа от многомерного t распределения с параметрами корреляции SIGMA = [1 0.8;0.8 1] и 3 степени свободы.

rng default;  % For reproducibility
SIGMA = [1 0.8;0.8 1];
R = mvtrnd(SIGMA,3,100);

Постройте случайные числа.

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

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