MATLAB: Problem using if with two vectors

if

for example if I have :
>> A=[1 -2 -8 4 19 -6 7 -18 9];
>> B=[-16 1 2 -4 -19 6 -17 18 -9];
and I'd like to create a new vector C which is equal to A if A<0 otherwise it should return B instead, like this:
C=[-16 -2 -8 -4 -19 -6 -17 -18 -9]

Best Answer

C=B
idx=A<0
C(idx)=A(idx)