# MATLAB: Populate a vector to a specified threshold limit

arrayvector threshold

Hi; I'm trying to generate an array by calculating 'y from a large list of random numbers 'x', but I want the vector to stop populating once it reaches 5000 entries.
Here's the code to generate the vector (and reject all values less than -5 and greater than 25)
a=10; T=3;
x = rand(10000,1);
y=a+((T/2).*(tan(pi.*(x-(0.5)))));
y(y<-5)=[];
y(y>25)=[];
So this generates entries in the vector 'y', but I want the vector to stop populating after it reaches 5000 entries. I've tried using a while loop and playing around with counting the entries in the array then trying to break out of the loop, but I can't seem to get it to work. Any help is appreciated! Thanks!

a=10; T=3;y=zeros(5000,1);k=1;while k<=5000x= rand;temp=a+((T/2).*(tan(pi.*(x-(0.5)))));if -5<=temp && temp<=25    y(k)=temp;    k=k+1;endend