MATLAB: Couldn’t figure out what’s not working

hi, this is the code
executing => THIS IS THE FIRST ITERATION
tab =
7 8 9 10 11 12 13 14 15 16 17 21 22 25
f1 =
236
m1 =
12
r1 =
0
wi =
0
f =
240
but the real result is
f1 =
236
m1 =
11
r1 =
16
wi =
1
f =
232
'f' should be 232 not 240 and it is the same code, where is this 240 coming from??
thank you

Best Answer

  • the problem is that your f1 is not a double but an integer hence the division also gives an integer
    if you cast f1 to be a double you should get the expected result
    f1 = double(f1);
    m1 = floor(f1/delta)
    etcetera