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

 Respuesta aceptada

Dyuman Joshi
Dyuman Joshi el 3 de Dic. de 2022
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

Más respuestas (0)

Categorías

Más información sobre Mathematics en Centro de ayuda y File Exchange.

Productos

Versión

R2022b

Etiquetas

Preguntada:

el 3 de Dic. de 2022

Respondida:

el 3 de Dic. de 2022

Community Treasure Hunt

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

Start Hunting!

Translated by