Logical Indexing with zero and one. Getting only the change from 0 to 1 and from 1 to 0.
2 views (last 30 days)
Show older comments
Is there any way to from matrix A to matrix B without using find?
A= B=
0 0
0 0
0 0
0 0
0 0
0 0
1 1
1 0
1 0
1 0
1 1
0 0
0 0
0 0
0 0
0 0
Thank you.
0 Comments
Answers (2)
Andrei Bobrov
on 12 Jun 2013
Edited: Andrei Bobrov
on 12 Jun 2013
B = [0;diff(A)==1] + flipud([0;diff(A(end:-1:1))==1]);
B = [false;diff(A)==1] | flipud([false;diff(A(end:-1:1))==1]); % logical
Giorgos Papakonstantinou
on 12 Jun 2013
Edited: Giorgos Papakonstantinou
on 12 Jun 2013
1 Comment
Image Analyst
on 12 Jun 2013
I have no idea what this is about. This code has no relation to your original question whatsoever. But if it does what you want, go for it. No one cares about efficiency when you're only dealing with 315 elements. What would you save - a nanosecond? Now if you had 315 million elements, then it would be a concern.
See Also
Categories
Find more on MATLAB Report Generator in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!