Non-Integer For-Loop
显示 更早的评论
I have what I hope is a relatively simple question. I am trying to construct a for loop over a value h from 0 to 1 with loop indices of 0.1 where there value of h will be plugged directly into an expression in the loop.
I tried the following:
dt = 0.1;
t = 0:dt:1;
nt = length(t);
%--------
for h = 1 : nt
Any assistance would be appreciated.
回答(1 个)
David Goodmanson
2021-2-16
编辑:David Goodmanson
2021-2-16
Hi Christopher
for h = 0:.1:1
works, although with the interval expressed in floating point, you have to be careful.
for h = (0:10)/10
is safer, since the increment is an integer. If you are plugging the resulting value of h into some expression within the for loop there will be no problems. But if you are comparing h to some other value computed in the for loop, a la
if h == [some computed value]
you of course have to beware of floating point comparisons that might disagree in the 16th decimal place and give you an unwanted answer.
类别
在 帮助中心 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!