MATLAB: Vectorization of For-If combination

forifMATLABvectorization

Requesting guidance on the proper vectorization methods for combinations of if statements within for loops. An example of the format referenced is included below. Code is utilizing a painful combination of if statements nested within for loops and appropriate vectorization is the only way in which this will run efficiency
X = zeros(1000,1)
C = 1:10
for A = 1:10
for B = 1:10
if C = 1
X(A*B*C) = 1;
elseif C = 2
X(A*B*C) = 2;
else
X(A*B*C) = 3;
end
end
end

Best Answer

Can't think of any better way to do your problem. Only 1 loop now.
x=zeros(1000,1);
for i=1:10
x(i:i:10*i)=1;
x(2*i:2*i:20*i)=2;
x(3*i:3*i:30*i)=3;
x(4*i:4*i:40*i)=3;
x(5*i:5*i:50*i)=3;
x(6*i:6*i:60*i)=3;
x(7*i:7*i:70*i)=3;
x(8*i:8*i:80*i)=3;
x(9*i:9*i:90*i)=3;
x(10*i:10*i:100*i)=3;
end