Non-Integer For-Loop

14 次查看(过去 30 天)
Christopher Schmiedl
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
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.

类别

Help CenterFile Exchange 中查找有关 Loops and Conditional Statements 的更多信息

标签

产品


版本

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by