MATLAB Answers

Skipping for loop with continue does not work

2 views (last 30 days)
Will
Will on 7 Apr 2020
Commented: Walter Roberson on 7 Apr 2020
Hi, I'm trying to skip the iteration to the next one if i is equal to 1, but my code does not work:
for v = 0.5:0.05:1.5
if (v == 1)
continue;
end
disp(v);
end
the out is:
0.5000
0.5500
0.6000
0.6500
0.7000
0.7500
0.8000
0.8500
0.9000
0.9500
1.0500
1.1000
1.1500
1.2000
1.2500
1.3000
1.3500
1.4000
1.4500
1.5000
which contains also 1 !!!
How can I fix it ?

  3 Comments

Walter Roberson
Walter Roberson on 7 Apr 2020
Which output line contains 1 ? You show
0.9500
1.0500
as adjacent entries, but neither of those are 1.
Will
Will on 7 Apr 2020
Sorry, you are right. The code works ?
Walter Roberson
Walter Roberson on 7 Apr 2020
However if you had asked to match (say) 1.15 then there might not have been a match, because 0.05 is not exactly representable in MATLAB, and 0.5:0.05:1.5 accumulates round-off error.
v = (50:5:150)/100
would have different round-off error.

Sign in to comment.

Sign in to answer this question.

Products


Release

R2018b