If they're all integers, you can use intlut(). Otherwise you can do it one range at a time by masking
vCopy = v; % Make copy so you don't change already-changed values, only original values.
mask = v >= 1 & v <= 3;
vCopy(mask) = 1;
mask = v >= 4 & v <= 6;
vCopy(mask) = 2;
and so on.
If there is some method to how you're deciding on the ranges and assignment values, then you can put it into a loop.