How to create zeros between ones in array
6 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Samuel
le 30 Juin 2014
Réponse apportée : Andrei Bobrov
le 30 Juin 2014
hello,
anyone know a fast way to create zeros between ones in an array?
for example A = [0 0 0 1 1 1 1 0 0 0]
I want it to return B = [0 0 0 1 0 0 1 0 0 0]
I was thinking of doing a double for loop running from the left side and the right. If there is a better way, please let me know. Thanks in advance
0 commentaires
Réponse acceptée
Azzi Abdelmalek
le 30 Juin 2014
A=[0 0 0 1 1 1 1 0 0 0]
AA=[0 A 0]
i1=strfind(AA,[0 1])+1
i2=strfind(AA,[1 0])-2
for k=1:numel(i1)
A(i1:i2)=0;
end
A
0 commentaires
Plus de réponses (1)
Andrei Bobrov
le 30 Juin 2014
B = zeros(size(A));
B([strfind([0 A],[0 1]),strfind([A 0],[1 0])]) = 1;
0 commentaires
Voir également
Catégories
En savoir plus sur Loops and Conditional Statements 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!