gsamp.m
上传用户:mozhenmi
上传日期:2008-02-18
资源大小:13k
文件大小:1k
源码类别:

其他小程序

开发平台:

Matlab

  1. function x = gsamp(mu, covar, nsamp)
  2. %GSAMP Sample from a Gaussian distribution.
  3. %
  4. % Description
  5. %
  6. % X = GSAMP(MU, COVAR, NSAMP) generates a sample of size NSAMP from a
  7. % D-dimensional Gaussian distribution. The Gaussian density has mean
  8. % vector MU and covariance matrix COVAR, and the matrix X has NSAMP
  9. % rows in which each row represents a D-dimensional sample vector.
  10. %
  11. % See also
  12. % GAUSS, DEMGAUSS
  13. %
  14. % Copyright (c) Christopher M Bishop, Ian T Nabney (1996, 1997)
  15. d = size(covar, 1);
  16. mu = reshape(mu, 1, d);   % Ensure that mu is a row vector
  17. [evec, eval] = eig(covar);
  18. coeffs = randn(nsamp, d)*sqrt(eval);
  19. x = ones(nsamp, 1)*mu + coeffs*evec';