MATLAB: How to create a vector that has all of the elements of a random vector, but will add 1 to each of the odd elements

randivectors

I created a row vector of 20 random integers from 0-50 and would now like to create a new vector which has all of the elements of the first vector, but adds one to each of the odd elements. How would I go about this?
>> A=randi([0 50],1,20);

Best Answer

t = mod(A,2)==1;
A(t) = A(t) + 1;