Summing groups of ones
이전 댓글 표시
If I have a list of ones and zeros....the ones are clustered together in groups....how can I ask the program to sum the ones within their groups?
댓글 수: 2
Oleg Komarov
2012년 4월 24일
Can you provide an example of input and output?
William
2012년 4월 24일
This might be helpful: http://www.mathworks.com/matlabcentral/newsreader/view_thread/160813
채택된 답변
추가 답변 (2개)
Rick Rosson
2012년 4월 24일
y = cumsum(x);
d = x(2:end) - x(1:end-1);
k = ( d == -1 );
z = y(k);
Andrei Bobrov
2012년 4월 24일
x1 = [~x(1) x(:)' ~x(end)]
groupones = diff([strfind(x1,[0 1]);strfind(x1,[1 0])]);
variant
x1 = x(:);
k = find([true;diff(x1)~=0]);
out = [x1(k) diff([k,[k(2:end);numel(x1)+1]],1,2)]
카테고리
도움말 센터 및 File Exchange에서 Surrogate Optimization에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!