MATLAB: How to change values meeting certain criteria to NaN… in certain columns only

indexingMATLABmatrixnan

I have a large matrix with 96 columns and thousands of rows. I would like to find all values values larger than 100 in even-numbered columns (2, 4, 6…) and replace them with NaN.
I know of:
A(A(:,2)>100,2) = NaN;
How can I make it work with multiple columns (:,2:2:end)?

Best Answer

B=A(:,2:2:end);
idx=B>100;
B(idx)=NaN;
A(:,2:2:end)=B