Move logical array by one

1 view (last 30 days)
Max Bornemann
Max Bornemann on 16 Apr 2019
Commented: Max Bornemann on 16 Apr 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.

Accepted Answer

Matt J
Matt J on 16 Apr 2019
Edited: Matt J on 16 Apr 2019
id2=circshift(id1,-1)

More Answers (0)

Categories

Find more on Statistics and Machine Learning Toolbox in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!