error using zeros in matlab

6 Ansichten (letzte 30 Tage)
JT
JT am 18 Nov. 2015
Bearbeitet: Jan am 4 Okt. 2017
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 Kommentare
Akhil Sen Roy
Akhil Sen Roy am 4 Okt. 2017
Bearbeitet: Akhil Sen Roy am 4 Okt. 2017
so whats the final answer ?? did you manage to solve it ?
Jan
Jan am 4 Okt. 2017
Bearbeitet: Jan am 4 Okt. 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.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

John D'Errico
John D'Errico am 20 Nov. 2015
Bearbeitet: John D'Errico am 20 Nov. 2015
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.

Weitere Antworten (0)

Kategorien

Mehr zu Shifting and Sorting Matrices finden Sie in Help Center und File Exchange

Tags

Noch keine Tags eingegeben.

Community Treasure Hunt

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

Start Hunting!

Translated by