"[...] they both display the modified x value" No they don't. This script
%%
for jj = 1:100
x = 1:12;
y = x;
x = 1:6;
end
% display both x and y afterwards
disp( x )
disp( y )
displays
1 2 3 4 5 6
1 2 3 4 5 6 7 8 9 10 11 12
>>
and
>> whos x y
Name Size Bytes Class Attributes
x 1x6 48 double
y 1x12 96 double