Random uniform data points
Afficher commentaires plus anciens
I am evaluating a positioning technique in a 3D environment (5m x 5m x 3m), is it possible to generate random unform distributed 3D coordiantes?
I am currently using the following code snippet:
a = -(width_dimension/2);
b = width_dimension/2;
rand_x = width_dimension.*rand(number_of_test_samples,1) + a;
a = -(length_dimension/2);
b = length_dimension/2;
rand_y = length_dimension.*rand(number_of_test_samples,1) + a;
a = 0;
b = height_dimension;
rand_z = height_dimension.*rand(number_of_test_samples,1) + a;
1 commentaire
rand() returns random numbers from a uniform distribution bounded by [0,1].
Are you asking how to return a 3D array of random numbers?
d = rand(10,5,4); % returns 10x5x4 array of randos
Réponses (2)
Ameer Hamza
le 19 Mar 2020
Modifié(e) : Ameer Hamza
le 19 Mar 2020
You can generate the coordinates with a single call to rand()
width_dimension = 5;
length_dimension = 5;
height_dimension = 3;
number_of_test_samples = 1000;
rand_values = rand(number_of_test_samples, 3) - 0.5;
rand_values = rand_values.*[width_dimension length_dimension height_dimension];
First colums is x-coordinate. Second and third columns are y and z-coordinates respectively.
Moreno, M.
le 20 Mar 2022
0 votes
https://uk.mathworks.com/matlabcentral/fileexchange/108374-uniformly-distributed-points
Catégories
En savoir plus sur Uniform Distribution (Continuous) dans Centre d'aide et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!