Selecting a random element from a matrix with a range.

I am trying to select a random element from this matrix with a certain range.
d = rand(10)
d(end,randperm(size(d,2), 1))
This creates a 10*10 matrix between 1 and 0. I want to slect a random variable < 0.5 but i am trouble applying this to the code. Any help is much appreciated.

2 comentarios

Cedric
Cedric el 23 de Oct. de 2017
There may not be any element < 0.5. How do you define the number of elements that you will pick? What is the purpose?
Thanks for your feedback Cedric. There usually is values above and below .5. I only want to pick one element which is what the above does. I wil apply it in the future to a matrix of zeros and 1's and apply a random movement to the element picked.

Iniciar sesión para comentar.

 Respuesta aceptada

Akira Agata
Akira Agata el 24 de Oct. de 2017
How about the following script?
d = rand(10);
% Extract elements of d < 0.5
idx = d < 0.5;
d2 = d(idx);
% If d2 is NOT empty, select one element randomly
if ~isempty(d2)
output = d2(randperm(numel(d2),1));
end

Más respuestas (0)

Categorías

Más información sobre Creating and Concatenating Matrices en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

el 23 de Oct. de 2017

Comentada:

el 24 de Oct. de 2017

Community Treasure Hunt

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

Start Hunting!

Translated by