How to create zeros between ones in array
6 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Samuel
am 30 Jun. 2014
Beantwortet: Andrei Bobrov
am 30 Jun. 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 Kommentare
Akzeptierte Antwort
Azzi Abdelmalek
am 30 Jun. 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 Kommentare
Weitere Antworten (1)
Andrei Bobrov
am 30 Jun. 2014
B = zeros(size(A));
B([strfind([0 A],[0 1]),strfind([A 0],[1 0])]) = 1;
0 Kommentare
Siehe auch
Kategorien
Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!