First consider vectors of unit length, say on the unit sphere. Now I want to give some magnitude to these vectors and I want the magnitude to be chosen from the normal distribution. In one dimension that is easy:
RandomReal[NormalDistribution[0,x]]
However, if my vector is arbitrarily pointed I cannot take from this distribution since I cannot have a negative magnitude.
The only way I can think of giving the vector a normal distribution of lengths is by using
RandomReal[HalfNormalDistribution[y]]
which forces the randomly chosen quantity to be > 0. Does this seem like the proper procedure?



Normalize[]the vectors to have unit length, and then multiply the components withRandomReal[NormalDistribution[0,x]]? (I haven't posted as an answer since you make no mention of the distribution the vectors themselves are supposed to follow...) – J. M.♦ Feb 3 '12 at 2:57RandomRealI would have thought that you neededRandomVariate[...]; but, to my surprise,RandomReal[NormalDistribution[0,1]]generates standard normal random numbers,i.e.,RandomRealdoes accept distribution functions as the first argument:) – kguler Feb 3 '12 at 3:16