How could I recreate the find function

1 visualizzazione (ultimi 30 giorni)
James Abrams
James Abrams il 30 Ott 2016
Risposto: Star Strider il 30 Ott 2016
I need to find values in a matrix that equal a given value (10), but I need to know their index/position in the matrix (won't use find function).
so if the matrix a = [2 10 10 5 7 4 10] I want to run my function and get ans = [2 3 7] to find where the 10's are in the first function

Risposte (1)

Star Strider
Star Strider il 30 Ott 2016
One approach:
a = [2 10 10 5 7 4 10];
idx = ((a == 10).*[1:numel(a)]);
idx(idx > 0)
If you want to use this with a matrix, you will need to use the reshape function to convert it to a linear vector, and then the ind2sub function to get the row and column indices.

Categorie

Scopri di più su Creating and Concatenating Matrices in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by