MATLAB: How to replace all elements with zeros after “ONE” (number) in every column of matrix??

deep learningdigital signal processingmachine learning

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)

Best Answer

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
>>