A loop over the elements of a vector cannot work, if you remove elements of the vector, except if you process the elements from the end to the start and remove only elements, which are after the current element.
z = rand(1, 10)
for k = 9:-1:1
if z(k) < 0.5
z(k+1) = [];
end
end
This cannot work, if you run it in the opposite direction from 1 to 9.
So what does "loop through a vector" exactly mean, if you remove elements? It cannot be an "element by element". What should happen exactly with the vector? You have to define this clearly, before it can be implemented.