how to replace all elements with zeros after "ONE" (number) in every column of matrix???
조회 수: 8 (최근 30일)
이전 댓글 표시
in each column of 2000*32 matrix there are so many "ONES" i want to replace all elements with zeros after first "ONE".
there might be so many "ONES" IN every column of matrix.
I want to replace after First "ONE" (ONE is number in column of matrix)
댓글 수: 0
채택된 답변
per isakson
2020년 2월 8일
Try this
>> m = randi([0,1],[6,8])
m =
0 0 0 1 0 0 0 0
0 1 1 1 1 1 0 1
0 0 0 0 1 0 0 0
0 0 1 0 1 1 0 0
1 1 1 1 0 1 1 1
1 1 1 0 0 0 0 0
>> for jj = 1:8, r=find(m(:,jj)==1,1,'first'); m(r+1:6,jj)=0; end
>> m
m =
0 0 0 1 0 0 0 0
0 1 1 0 1 1 0 1
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
1 0 0 0 0 0 1 0
0 0 0 0 0 0 0 0
>>
추가 답변 (1개)
Stephen23
2020년 2월 8일
>> mat = randi([0,1],[6,8])
mat =
1 0 0 0 0 1 0 0
1 0 0 1 0 0 0 1
0 0 1 0 0 0 1 1
0 0 0 0 1 0 0 1
1 1 1 0 0 0 1 0
1 1 0 0 0 0 0 1
>> out = mat .* (cumsum(mmat,1)==1)
out =
1 0 0 0 0 1 0 0
0 0 0 1 0 0 0 1
0 0 1 0 0 0 1 0
0 0 0 0 1 0 0 0
0 1 0 0 0 0 0 0
0 0 0 0 0 0 0 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Deep Learning Toolbox에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!