Generate gaussian random points in 3D space with a given mean position.
7 ビュー (過去 30 日間)
古いコメントを表示
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 件のコメント
回答 (1 件)
Iman Ansari
2013 年 6 月 26 日
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 件のコメント
参考
カテゴリ
Help Center および File Exchange で Random Number Generation についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!