MATLAB: How to remove (set to NaN) values in matrix starting at row index value and all following values which differ for each column

remove certain rowsremove rowsremove rows matrix

I have two matrices (kz and zdr) of equal size [997 x 359]. I want to find the first value for each column in zdr>3.5 and use the index to set kz=NaN, but I want all following rows to be equal to NaN as well regardless of their value in zdr.
example: a=-4; b=5; zdr=(b-a).*rand(959,359) + a; kz=randn(997,358);
[mie_rows,mie_cols]=find(zdr>3.5) mie=[mie_rows,mie_cols];
so in my case the first column [23,1] is the first row beyond 3.5. I would therefore like kz from row 23 and beyond to be NaN, the next column is [1,2], from row 1 and beyond of kz is NaN, and etc…

Best Answer

Please try this code. I hope it works for you
a=-4; b=5; zdr=(b-a).*rand(959,359) + a; kz=randn(997,359);
for i=1:size(zdr,2)
kz(min(find(zdr(:,i)>3.5))+1:end,i)=NaN;
end