random unit vector generator

ganerate random unit vectors |n|=1 isotropic
1,3K Descargas
Actualizado 19 sep 2009

Ver licencia

http://simulations.narod.ru/
Function random_unit_vector generate random vector. Number of vectors and dimentionarity are adjustable. Unzip and run test script zz_test_tmp.m. It compare result of random_unit_vector with simple generearion:
v= 2*rand(2,1)-1;
n=v/sqrt(v(1)^2+v(2)^2)
This simple generearion method has disadvantage: it is anisotropic. In 2d it has maximums in angular distribution for 45 135 225 315 degrees. random_unit_vector works in antother way:
v=randn;
n=v/sqrt(v(1)^2+v(2)^2)
Because normal distribution has property of that arguments in many dimentions combine into radius-vector:
f(x)=exp(-x^2);
f(y)=exp(-y^2);
F(x,y)=exp(-x^2)*exp(-y^2)=exp(-(x^2+y^2))
F(r)=exp(-r^2)*2*pi*r
then result of random_unit_vector isotropic
The function can generate many units vector of arbitrary dimention. Many units vectors-columns is in matrix. single/double precission adjustable. there is a excluding of discretization errors when |v| close to 0. Because randn function used only inside then contol random generator state by:randn('seed',1)
type
help random_unit_vector
to see all possible usings:
random_unit_vector
random_unit_vector(n)
random_unit_vector(m,n)
random_unit_vector([m n])
random_unit_vector('double')
random_unit_vector(n,'double')
random_unit_vector(m,n,'double')
random_unit_vector([m n],'double')
random_unit_vector('single')
random_unit_vector(n,'single')
random_unit_vector(m,n,'single')
random_unit_vector([m n],'single')

m - dimentionarity
n - number of unit vectors

Citar como

Maxim Vedenyov (2026). random unit vector generator (https://la.mathworks.com/matlabcentral/fileexchange/25363-random-unit-vector-generator), MATLAB Central File Exchange. Recuperado .

Compatibilidad con la versión de MATLAB
Se creó con R2008a
Compatible con cualquier versión
Compatibilidad con las plataformas
Windows macOS Linux
Agradecimientos

Inspiración para: Global tsunami simulation GUI, sphere without poles

Versión Publicado Notas de la versión
1.0.0.0