Logical Indexing with zero and one. Getting only the change from 0 to 1 and from 1 to 0.
Ältere Kommentare anzeigen
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.
Antworten (2)
Andrei Bobrov
am 12 Jun. 2013
Bearbeitet: Andrei Bobrov
am 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
am 12 Jun. 2013
Bearbeitet: Giorgos Papakonstantinou
am 12 Jun. 2013
1 Kommentar
Image Analyst
am 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.
Kategorien
Mehr zu Matrix Indexing finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!