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
>>

4 Commenti

Esha Bhargava
Esha Bhargava il 20 Nov 2015
When using zeros, the size should be an integer value. Please refer to the link below for more information.
Stephen23
Stephen23 il 20 Nov 2015
@Esha Bhargava: you could put this as an answer, and I would vote for it.
Akhil Sen Roy
Akhil Sen Roy il 4 Ott 2017
Modificato: Akhil Sen Roy il 4 Ott 2017
so whats the final answer ?? did you manage to solve it ?
Jan
Jan il 4 Ott 2017
Modificato: Jan il 4 Ott 2017
John's answer is clear enough. The solution is trivial: zeros creates an array, and therefore the number elements must be integers. It is not clear what zeros(1, 0.125*N) should do if N is not a multiple of 8.

Accedi per commentare.

 Risposta accettata

John D'Errico
John D'Errico il 20 Nov 2015
Modificato: John D'Errico il 20 Nov 2015

1 voto

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.

Più risposte (0)

Categorie

Tag

Non è stata ancora inserito alcun tag.

Richiesto:

JT
il 18 Nov 2015

Modificato:

Jan
il 4 Ott 2017

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by