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
引用格式
Maxim Vedenyov (2024). random unit vector generator (https://www.mathworks.com/matlabcentral/fileexchange/25363-random-unit-vector-generator), MATLAB Central File Exchange. 检索来源 .
MATLAB 版本兼容性
平台兼容性
Windows macOS Linux类别
- MATLAB > Mathematics > Random Number Generation >
- MATLAB > Language Fundamentals > Matrices and Arrays > Creating and Concatenating Matrices >
标签
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!版本 | 已发布 | 发行说明 | |
---|---|---|---|
1.0.0.0 |