how to replace all elements with zeros after "ONE" (number) in every column of matrix???
    조회 수: 5 (최근 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!