random unit vector generator

ganerate random unit vectors |n|=1 isotropic
1,3K Downloads
Aktualisiert 19. Sep 2009

Lizenz anzeigen

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

Zitieren als

Maxim Vedenyov (2024). random unit vector generator (https://www.mathworks.com/matlabcentral/fileexchange/25363-random-unit-vector-generator), MATLAB Central File Exchange. Abgerufen.

Kompatibilität der MATLAB-Version
Erstellt mit R2008a
Kompatibel mit allen Versionen
Plattform-Kompatibilität
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Veröffentlicht Versionshinweise
1.0.0.0