Generate gaussian random points in 3D space with a given mean position.
7 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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 commentaires
Réponses (1)
Iman Ansari
le 26 Juin 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 commentaires
Voir également
Catégories
En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!