how to produce a 2-D point distribution with normal density distribution
Show older comments
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!
2 Comments
Iman Ansari
on 30 Apr 2013
Edited: Iman Ansari
on 30 Apr 2013
See this: (mean zero and variance 1)
A=randn(1000,2);
x=A(:,1);
y=A(:,2);
plot(x,y,'Marker','.','LineStyle','none')
var(x)+1i*var(y)
mean(x)+1i*mean(y)
adameye adameye
on 1 May 2013
Answers (3)
Iman Ansari
on 1 May 2013
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)
1 Comment
Random user
on 28 Mar 2017
Could you explain the code please? For example, if I want to make it more efficient, how would this be done in a loop? For example,
x=[x(1:800)+i-iterator 1/2.*x(801:1800)+i-iterator 1.5.*x(1801:3000)+i-iterator.....];
y=[y(1:800)+constant 1/2.*y(801:1800)+constant 1.5.*y(1801:3000)+constant.....];
If I wanted to use a loop, or any other vectorization method, how would this be done?
adameye adameye
on 1 May 2013
0 votes
1 Comment
Iman Ansari
on 1 May 2013
Edited: Iman Ansari
on 1 May 2013
What do you mean from power spectrum?
adameye adameye
on 14 May 2013
0 votes
Categories
Find more on Rician Distribution in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!