How do I shift index and keep it as logical?

7 vues (au cours des 30 derniers jours)
Ivy Chen
Ivy Chen le 10 Juil 2018
Commenté : Ivy Chen le 10 Juil 2018
I have a index Status as logical and I want to shift it to one row up and one row down as different index array to use for comparison and plotting. I use the following commands:
Last=[NaN;Status(1:end-1)];
Next1=[Status(2:end);NaN];
It creates two new variables, but they become "double", instead of keep them as logical array. Appreciate any help on this.
  1 commentaire
OCDER
OCDER le 10 Juil 2018
Can you show the code that generates Status and uses Last and Next1? Just need to see how the logical indices are being used. Also, a logical index cannot store a NaN value. That's why Last and Next1 are being casted to double matrix instead.

Connectez-vous pour commenter.

Réponse acceptée

James Tursa
James Tursa le 10 Juil 2018
Modifié(e) : James Tursa le 10 Juil 2018
Logical values can only be 0 or 1. NaN values can only be kept in double or single class variables. You need to come up with a different scheme for whatever you are doing. Will using false instead of NaN work for your downstream code?
  1 commentaire
Ivy Chen
Ivy Chen le 10 Juil 2018
thanks, replacing NaN with "false" works nicely!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by