График pdf с двумя вариациями, когда из двумерного нормального распределения генерируется 1000 случайных чисел - PullRequest
0 голосов
/ 09 сентября 2018

Мне нужно построить двухвариантный Pdf, сгенерировав 1000 случайных величин из заданного (mu и sigma) нормального распределения двух вариаций. Я пытался написать код (Matlab), но в нем есть какая-то ошибка. Может ли кто-нибудь проверить это и помочь мне исправить это.

function [ ] = bivariatedn( mu,sigma)
  % Generating 1000 random variables
  R=mvnrnd(mu,sigma,1000);
  X=R(:,1);
  Y=R(:,2);
  % Define the grid for visualization
  [X,Y]=meshgrid(R(:,1),R(:,2));

  % Define the constant (To write pdf in a easy way)
  const = (1/sqrt(2*pi))^2;
  const = const/sqrt(det(sigma));
  temp = [X(:)-mu(1) Y(:)-mu(2)];

  pdf=zeros(length(X),1);

  d=zeros(length(X),1);
  d=diag(temp*inv(sigma)*temp');
  for i=1:length(X)
    pdf(i)= const*exp(-0.5*d(i));
  end
  % plot the result
  surfc(X, Y, pdf, 'LineStyle', 'none');
end

Ошибка при использовании surfc (строка 39) Поверхность Z должна содержать более одной строки или столбца

Это ошибка, которая отображается. Кто-нибудь может разобраться в этом?

...