title: Generate random samples from arbitrary discrete probability density function in Matlab
body: <p>I've got an arbitrary probability density function discretized as a matrix in Matlab, that means that for every pair x,y the probability is stored in the matrix:
  A(x,y) = probability</p>
  
  <p>This is a 100x100 matrix, and I would like to be able to generate random samples of two dimensions (x,y) out of this matrix and also, if possible, to be able to calculate the mean and other moments of the PDF. I want to do this because after resampling, I want to fit the samples to an approximated Gaussian Mixture Model.</p>
  
  <p>I've been looking everywhere but I haven't found anything as specific as this. I hope you may be able to help me.</p>
  
  <p>Thank you.</p>