Find places before or after zeros in vector
조회 수: 5 (최근 30일)
이전 댓글 표시
Hi MATLAB-Community,
I'm searching for an elegant way to mark the places before and after zeros in a Vector.
e.g.:
a = 0 0 0 1 1 1 0 0 1 1 1 0 1 1 1 0 1 1 0
before = 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0
after = 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 1 0
Has anybody an Idea that can help me with that Problem?
Thanks in advance!
Cheers
Christian
댓글 수: 0
채택된 답변
Ive J
2021년 8월 26일
편집: Ive J
2021년 8월 26일
a = [0 0 0 1 1 1 0 0 1 1 1 0 1 1 1 0 1 1 0];
before = [0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0];
after = [0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 1 0];
da = [diff(a), 0];
bcheck = circshift(da > 0, 1);
acheck = da < 0;
all(bcheck == before)
all(acheck == after)
This may not cover leading and trailing zeros, though before and after zeros may not make sense in that case.
추가 답변 (0개)
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!