Selecting a random element from a matrix with a range.

1 vue (au cours des 30 derniers jours)
Shane McNamara
Shane McNamara le 23 Oct 2017
Commenté : Shane McNamara le 24 Oct 2017
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 commentaires
Cedric
Cedric le 23 Oct 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?
Shane McNamara
Shane McNamara le 24 Oct 2017
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.

Connectez-vous pour commenter.

Réponse acceptée

Akira Agata
Akira Agata le 24 Oct 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
  1 commentaire
Shane McNamara
Shane McNamara le 24 Oct 2017

Hi Akira thanks a million! This works perfectly.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by