Generate gaussian random points in 3D space with a given mean position.
7 views (last 30 days)
Show older comments
Given a point in 3D space, m = (x,y,z), I would like to generate a series of gaussian random points with a mean position of m and a given standard deviation, s (s is the same for all directions). Any ideas on the easiest way to do this?
My first thought is to pick random unit vectors, d=(dx,dy,dz) with equal probability of pointing in any direction(I think this is equivalent to randomly picking points on a unit sphere). Then get random radii with a gaussian distribution of mean=0 and std=s. The random points then become p=m+r*d; This seems like a lot of work and I wonder if anyone has a more clever way to do this.
Thanks, Justin
0 Comments
Answers (1)
Iman Ansari
on 26 Jun 2013
m = [2 0 2];
s = 1;
n = bsxfun(@plus,m,s.*randn(100,3));
plot3(n(:,1),n(:,2),n(:,3),'.r')
M = mean(n,1)
S = std(n,1)
0 Comments
See Also
Categories
Find more on Random Number Generation in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!