The division by 50 is just to make the output shorter for this demonstration.
format long g
n = 4;
v = rand(n,2) / 50;
for f = 2:1000
temp = v - 0.001;
temp(temp < 0.001) = 0;
v = temp
if ~any(v(:)); break; end %all 0
end
v = 4×2
0.0117169155857542 0.00385373115144157
0.00322072350669969 0.0123980988902088
0.00540972017890342 0.00679499574461224
0.0119082492555772 0
v = 4×2
0.0107169155857542 0.00285373115144157
0.00222072350669969 0.0113980988902088
0.00440972017890342 0.00579499574461224
0.0109082492555772 0
v = 4×2
0.00971691558575421 0.00185373115144157
0.00122072350669969 0.0103980988902088
0.00340972017890342 0.00479499574461224
0.00990824925557724 0
v = 4×2
0.00871691558575421 0
0 0.00939809889020883
0.00240972017890342 0.00379499574461224
0.00890824925557724 0
v = 4×2
0.00771691558575421 0
0 0.00839809889020883
0.00140972017890342 0.00279499574461224
0.00790824925557724 0
v = 4×2
0.00671691558575421 0
0 0.00739809889020883
0 0.00179499574461224
0.00690824925557724 0
v = 4×2
0.00571691558575421 0
0 0.00639809889020883
0 0
0.00590824925557724 0
v = 4×2
0.00471691558575421 0
0 0.00539809889020883
0 0
0.00490824925557724 0
v = 4×2
0.00371691558575421 0
0 0.00439809889020883
0 0
0.00390824925557724 0
v = 4×2
0.00271691558575421 0
0 0.00339809889020883
0 0
0.00290824925557724 0
v = 4×2
0.00171691558575421 0
0 0.00239809889020883
0 0
0.00190824925557724 0
v = 4×2
0 0
0 0.00139809889020883
0 0
0 0
v = 4×2
0 0
0 0
0 0
0 0