Code: Selecteer alles
sum(b)/sum(conv([1,-1],b)>0)
Code: Selecteer alles
sum(b)/sum(conv([1,-1],b)>0)
Tot mijn verbazing werkt dit perfect, zo perfect dat het grofweg zo'n 30 keer sneller is dan de oplossing van physicalattractionEvilBro schreef:Voor de lol:
Code: Selecteer alles
b = [1 0 0 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 0 0 0 1 1 1 1 0 0 0 1]; for i = 2:1:size(b,2), if b(1,i) == 1, b(1,i) = b(1,i-1) + 1; b(1,i-1) = 0; end end sum(b)/sum(b>0)