I can I do logical indexing on a column

2 vues (au cours des 30 derniers jours)
Engdaw Chane
Engdaw Chane le 20 Juil 2018
Commenté : Engdaw Chane le 20 Juil 2018
Hello everyone,
I have a column which is 840 in length. It contains value s from -12 to 12. I need only values < -8 and >8. I need to keep the length 840. I tried the following. but it says " 0x1 empty double column vector".
v = zeros (size (data)); % Pre-allocate!
v=data(data <-8 & data>8)
thank you for helping.
Chane

Réponse acceptée

Birdman
Birdman le 20 Juil 2018
Modifié(e) : Birdman le 20 Juil 2018
Is it possible for a value to be smaller than -8 and greater than 8 at the same time? Check your logical operator. You need OR operator instead of AND.
v=data(data <-8 | data>8)
You can not keep the length same. If you want that, fill the other values with a specific value, like zero.
  5 commentaires
Guillaume
Guillaume le 20 Juil 2018
Modifié(e) : Guillaume le 20 Juil 2018
Well, if you want to replace values less than absolute 8 by 0, then:
v(abs(v) < 8) = 0;
You may want <= instead of <
Engdaw Chane
Engdaw Chane le 20 Juil 2018
Birdman and Guillaume, Thank you!

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by