Hi: I am trying to simulate a galaxy distribution, in which all units are identical, but the local densities are different. Simply speaking, I need to produce a 2-D point distribution, say, 1000 identical points in a 10*10 square, then if I measure the local densities (for example, within a circle with radius=1), I could get a normal distribution of densities.
Maybe I did not explain it clearly, but just do not know how to do it, I can easily generate a data set with normal distribution value, but how to apply normal distribution on the position of 2-D points (move some together and take some apart) to get normal density distribution? thanks!
With adding a number in x and y directions you can change their position, and the number multiplied changes their radius:
A=randn(3000,2); x=A(:,1)'; y=A(:,2)'; x=[x(1:800)+3 1/2.*x(801:1800)-3 1.5.*x(1801:3000)+2]; y=[y(1:800)+4 1/2.*y(801:1800) 1.5.*y(1801:3000)-3]; plot(x,y,'Marker','.','LineStyle','none') axis('equal') var(x)+1i*var(y) mean(x)+1i*mean(y)
Thanks a lot, This is a different way to solve the problem.
btw, do you know how to produce the needed distribution from power spectrum? because in cosmos people normaly make gaussian simulation a kind of stationary distributing (Cov(x,y)==Cov(x+u,y+u), only related with the distance between x and y, not relation with the shift u), in other words, the distribution will look like no obvious center....
Hi: Sorry I have to read some articles to investigate this problem and it took long time, I got http://www.astro.rug.nl/~weygaert/tim1publication/lss2007/computerIII.pdf I am still trying to understand the right procedure.... thank you very much! "
4 Generating Gaussian eld in Fourier Space Generating a Random Gaussian eld is easiliest done in Fourier space. Then the complex Fourier amplitudes are Y~ = Y~ exp(i*phi). Where is a random phase and the modules are Rayleigh distributed
The dispersion is of course related to the Power Spectrum as