How to find the index of a randomly chosen element of an array

34 vues (au cours des 30 derniers jours)
feit feit
feit feit le 2 Déc 2020
Commenté : Ameer Hamza le 3 Déc 2020
Would anyone suggest me the code of finding out the index of a randomly selected element of an array or matrix?
For example, after randomly selecting an element from 'a', I want to find out the index number of the chosen element. This index number should be a variable as each time i randomly select an element, the corresponding index number of the selected element may change.
a = [4 5 10 15 20];

Réponse acceptée

Ameer Hamza
Ameer Hamza le 2 Déc 2020
Try this
idx = find(a==random_element)
  6 commentaires
feit feit
feit feit le 3 Déc 2020
Row number is the criteria. I will have a row number (which is also a variable) and i only need the combination corresponding to that particular row number.
Ameer Hamza
Ameer Hamza le 3 Déc 2020
You can just apply find() to that row
a = [ 1 3 4; 1 4 5; 2 1 6];
row_num = 3;
random_element = 1;
col_num = find(a(row_num,:)==random_element)

Connectez-vous pour commenter.

Plus de réponses (1)

Steven Lord
Steven Lord le 2 Déc 2020
Start off generating the index and use it to extract the element.
a = [4 8 15 16 23 42];
I = randi(numel(a));
fprintf("Element %d of a is %d\n", I, a(I))
Element 5 of a is 23
  1 commentaire
feit feit
feit feit le 2 Déc 2020
Modifié(e) : feit feit le 2 Déc 2020
Very helpful answer. Thank you!

Connectez-vous pour commenter.

Catégories

En savoir plus sur Matrix Indexing dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by