# how to replace all elements with zeros after "ONE" (number) in every column of matrix???

1 view (last 30 days)
M.Prasanna kumar on 8 Feb 2020
Commented: M.Prasanna kumar on 16 Feb 2020
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)

per isakson on 8 Feb 2020
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 Comment

M.Prasanna kumar on 16 Feb 2020
thank you very much sir

Stephen Cobeldick on 8 Feb 2020
>> 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

#### 1 Comment

M.Prasanna kumar on 16 Feb 2020
thank you very much sir