There's something that does not make sense on nearly every line you've written:
ind = (fix(linspace(1,length(he),fs)));
Why the () brackets around the fix? They don't do anything. Is something missing?
You don't usually have a semicolon at the end of a for line. Also, since ind is a vector, ind(1, 2) is the same as ind(2). But more importantly, since ind(2)-1 is just a single number, the for doesn't do anything and the line is the same as
I.E. there's no looping at all
n(z)=((y*(z))-y)+1:y*(z);
Again, why the bracket around the z in y*(z). Why not use the simpler y*z. Note that since y is scalar and z is a vector, y*z is also a vector. So we have a colon between two vectors. While colon between two vectors work in matlab, it is equivalent to colon between the first element of each vector. I strongly doubt that's what you meant. In the end this line is equivalent to
n(z) = y*z(1)-y+1 : y*z(1);
The colon in the above line will produce a vector a vector of length y+2 which is equal to ind(2)+2. You're trying to assign that to n(z) a vector of the same length as z which is equal to floor(fs). In all likely ind(2)+2 is not equal to floor(fs) so the assignment will fail with dimension mismatch.
In summary, your code does not make sense. Please explain what you're trying to do.