Move logical array by one

2 vues (au cours des 30 derniers jours)
Max Bornemann
Max Bornemann le 16 Avr 2019
Commenté : Max Bornemann le 16 Avr 2019
Hello,
i have the following logical:
id1=logical([0;0;1;1;1]);
id1
____
false
false
true
true
true
now i am searching for an alternative way to create another logical like:
id2=logical([0;1;1;1;0]);
id2
____
false
true
true
true
false
So every 1(true) from id1 should move one row up in id2 and the last 1(true) from id1 should become false in id2. The amount of "true" (3 in this case) shall be the same in both logicals, just moved by one.
I greatly appreciate any assistance.

Réponse acceptée

Matt J
Matt J le 16 Avr 2019
Modifié(e) : Matt J le 16 Avr 2019
id2=circshift(id1,-1)
  1 commentaire
Max Bornemann
Max Bornemann le 16 Avr 2019
Thank you Matt J!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Statistics and Machine Learning Toolbox dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by