"but for some reason instead of getting an array of letters I get an array of numbers"
Yes, because you specified array to be numeric:
and each time you allocate anything to this array MATLAB will try its best to convert it to a double (so the character gets converted to its char value). If you really want a character array, then you need to specify this, e.g.:
But using a loop is very inefficient anyway, it is much simpler to use indexing:
>> x = 'abcdefghijklmnopqrstuvwxyz';
>> y = x(1:5:end)
y = afkpuz