I am trying to get the indices and values from a vector based on a condition. I used find for that but the values it returning are logical values. How can I get actual values? An example is:
X = [4; 5; 1; 0; -7; 3; 0; 1; -4];
[row, ~, val] = find(X>0 & X<6)
row = 5×1
1 2 3 6 8
val = 5×1 logical array
1 1 1 1 1
I want val to have 4 5 1 3 1

 Risposta accettata

X = [4; 5; 1; 0; -7; 3; 0; 1; -4];
row = find(X>0 & X<6)
row = 5×1
1 2 3 6 8
val = X(row)
val = 5×1
4 5 1 3 1

Più risposte (0)

Categorie

Scopri di più su Mathematics in Centro assistenza e File Exchange

Prodotti

Release

R2022b

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by