random unit vector generator
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
Cite As
Maxim Vedenyov (2024). random unit vector generator (https://www.mathworks.com/matlabcentral/fileexchange/25363-random-unit-vector-generator), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
- MATLAB > Mathematics > Random Number Generation >
- MATLAB > Language Fundamentals > Matrices and Arrays > Creating and Concatenating Matrices >
Tags
Acknowledgements
Inspired: Global tsunami simulation GUI, sphere without poles
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
Version | Published | Release Notes | |
---|---|---|---|
1.0.0.0 |