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
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
Plattform-Kompatibilität
Windows macOS LinuxKategorien
- MATLAB > Mathematics > Random Number Generation >
- MATLAB > Language Fundamentals > Matrices and Arrays > Creating and Concatenating Matrices >
Tags
Quellenangaben
Inspiriert: 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!Live Editor erkunden
Erstellen Sie Skripte mit Code, Ausgabe und formatiertem Text in einem einzigen ausführbaren Dokument.
Version | Veröffentlicht | Versionshinweise | |
---|---|---|---|
1.0.0.0 |