MATLAB: Error using < Matrix dimensions must agree.

conditionnan

a=randi(100,1,10);
b=randi(100,1,10);
c=randi(100,1,10);
A=[a;b;c]
A_max=max(A);
A(A<0.15*A_max)=nan
it gives following error
Error using <
Matrix dimensions must agree.
How to rectify it…

Best Answer

You apparently have R2016a or earlier, so you do not have ‘automatic implicit expansion’ that was part of R2016b and later versions.
Try this:
idx = bsxfun(@lt, A, 0.15*A_max);
A(idx) = NaN;
You can combine them in one line if you like. This code illustrates the approach.