I want to create a Gaussian distribution in Python with dimensions x and y representing the position and z-dimension representing the value of some quantity.
The distribution has a maximum value of 2e6 and a standard deviation of sigma = 0.025.
In MATLAB, I can do this with
x1 = linspace(-1,1,30); x2 = linspace(-1,1,30); mu = [0,0]; Sigma = [.025,.025]; [X1,X2] = meshgrid(x1,x2); F = mvnpdf([X1(:) X2(:)],mu,Sigma); F = 314159.153*reshape(F,length(x2),length(x1)); surf(x1,x2,F);
In Python, I still have:
x = np.linspace(-1,1,30) y = np.linspace(-1,1,30) mu = (np.median(x),np.median(y)) sigma = (.025,.025)
There is a Numpy function numpy.random.multivariate_normal that may possibly do the same as MATLAB mvnpdf, but I try my best to expand the documentation , especially when getting the covariance matrix needed by numpy.random.multivariate_normal.
source share