Logical Indexing with zero and one. Getting only the change from 0 to 1 and from 1 to 0.
显示 更早的评论
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.
回答(2 个)
Andrei Bobrov
2013-6-12
编辑:Andrei Bobrov
2013-6-12
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
2013-6-12
编辑:Giorgos Papakonstantinou
2013-6-12
1 个评论
Image Analyst
2013-6-12
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.
类别
在 帮助中心 和 File Exchange 中查找有关 Matrix Indexing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!