Я новичок в матлабе. Я хочу сгенерировать образцы шума гауссовой смеси с PDF= sqrt((u.³)./pi).*exp(-u.*(x.²)) + sqrt((1-u)³/pi). *exp(-(1-u).*x.²);

Длина образца шума составляет (1200). Пожалуйста, помогите мне.

ПРИМЕЧАНИЕ. 

Matlabsolutions.com предоставляет последнюю Помощь по домашним заданиям MatLab, Помощь по заданию MatLab для студентов, инженеров и исследователей в различных отраслях, таких как ECE, EEE, CSE, Mechanical, Civil со 100% выходом. Код Matlab для BE, B.Tech ,ME,M.Tech, к.т.н. Ученые со 100% конфиденциальностью гарантированы. Получите проекты MATLAB с исходным кодом для обучения и исследований.

Итак, вы сформулировали, как мне кажется, довольно странную смешанную модель.

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

Итак, если PDF:

PDF = sqrt((u.^3)./pi).*exp(-u.*(x.^2)) + sqrt((1-u)^3/pi).*exp(-(1-u).*x.^2)

Итак, у нас есть два термина.

syms u positive
syms x real

Посмотрите на первый термин:

pdf1 = sqrt((u.^3)./pi).*exp(-u.*(x.^2));
int(pdf1,x,[-inf,inf])
ans =
u

Итак, он интегрируется в вас. Второй термин аналогичен

pdf2 = sqrt(((1-u).^3)./pi).*exp(-(1-u).*(x.^2));
int(pdf2,x,[-inf,inf])
ans =
piecewise([u == 1, 0], [1 < u, Inf*1i], [u < 1, 1 - u])

Для u ‹= 1 он интегрируется до 1-u.

Таким образом, интеграл суммы действительно равен 1, поэтому это действительная PDF.

По сути, у вас есть две гауссовские моды, так что дисперсии равны 2/u и 2/(1-u) соответственно. Вы выбрали параметр смеси как обратную величину этих отклонений. Фактически, когда u мало (или очень близко к 1), у вас есть смешанное распределение, которое редко приводит к большим выбросам. Когда u ровно 1/2, это сводится к стандартному нормальному распределению с единичной дисперсией.

Не знаю почему, но думаю, что это не так важно. Обычно выбирают смешанный параметр, не зависящий от дисперсий.

Решение простое.

1. Выберите какое-нибудь значение для u. u определяет обе дисперсии для каждой моды Гаусса, а также коэффициент смеси.

2. Для размера выборки N выберите N равномерно распределенных случайных чисел. Это определит, из какого режима вы будете сэмплировать. Затем просто используйте классический инструмент, такой как randn, чтобы сделать выборку.

Для размера выборки 1e7 и некоторого произвольного значения u, скажем, 1/100. Я выбрал крошечное значение для вас, чтобы сделать результат понятным. Я также выбрал большую выборку, чтобы ее было легче увидеть в виде гистограммы.

N = 10000000;
u = 0.01;
% random mixture selection
% Here s will be 1 if the element is sampled from first pdf.
%      s will be 0 if the element is sampled from second pdf.
s = rand(1,N) < u;
% sample using randn, with a unit variance initially
x = randn(1,N);;
% now scale each element based on the desired variance
x(s) = x(s)*sqrt(2/u);
x(~s) = x(~s)*sqrt(2/(1-u));
hist(x,1000)

Итак, для этого довольно маленького значения u обратите внимание, что гистограмма очень похожа на традиционную гауссову, НО с очень широкими хвостами.

Затем я нанесу отдельные части PDF-файла, разделенные на две части. Здесь я выбрал u как 0,25.

СМОТРИТЕ ПОЛНЫЙ ОТВЕТ НАЖМИТЕ НА ССЫЛКУ