Find places before or after zeros in vector
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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 commentaires
Réponse acceptée
Ive J
le 26 Août 2021
Modifié(e) : Ive J
le 26 Août 2021
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.
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Downloads dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!