MATLAB: Error using zeros in matlab

er = zeros(1, .125*N); % eigth rest
qr = zeros(1, .25*N); % quarter rest
hr = zeros(1, .5*N); % half rest
tr = zeros(1, .75*N); % three-quarter rest
wr = zeros(1, N); % whole rest
I get the error Error using zeros Size inputs must be integers.
Error in pleasework (line 49) er = zeros(1, .125*N); % eigth rest
>>

Best Answer

I wonder, what are the odds that N is not an integer multiple of 8?
Zeros requires integer arguments. READ THE ERROR MESSAGE! If N is not an integer multiple of 8, then when you multiply by 0.125, you get a non-integer. So you need to think about what size you really need for this vector. If I had to guess, you might want to round up or round down, but this is your code, so you are the one who knows what you wanted to do.