xidx = interp1(x, 1:length(x), xunit, 'nearest');
yidx = interp1(x, 1:length(x), yunit, 'nearest');
idx = sub2ind(size(X), xidx, yidx);
v1(idx) = 10;
You were painting a circle with radius 0.02 into a location with pixels spaced 0.02 apart. The result was essentially unrecognizable as a circle. You can switch the resolution back in the definition of x if you want but you will not see anything useful.
By the way, if you have the Computer Vision toolbox, use insertShape instead of all of this.