# MATLAB: Can’t apply an IF function with 100000*1 matrix

if functionMATLABmonte carloStatistics and Machine Learning Toolbox

Hi! I built this code:
if A1 <0    D = 0.8;elseif A2 <0    D = 0.7;elseif A3 <0    D = 0.6;elseif A4 <0    D = 0.5;else    D = 0.3;end
My problem is that A1, A2, A3 and A4 are 100000×1 matrixes from Monte Carlo Simulations so I would expect D to be 100000×1 too. Instead I get a flat value like 0.8. What I am doing wrong? The strange part is that it works when test with a 5×1 matrix. Thanks a lot.

D = zeros(size(A1));n = numel(D);for k=1:n    if A1(k) <0        D(k) = 0.8;    elseif A2(k) <0        D(k) = 0.7;    elseif A3(k) <0        D(k) = 0.6;    elseif A4(k) <0        D(k) = 0.5;    else        D(k) = 0.3;    end end
D = 0.3 * ones(size(A1));D(A4<0) = 0.5;D(A3<0) = 0.6;D(A2<0) = 0.7;D(A1<0) = 0.8;