我正在尝试在 for 循环中测试迭代变量的值,但我没有得到我期望的结果,所以我假设我误解了 matlab 的工作方式和/或我正在做一些可怕的事情错误的....
有人可以解释为什么当 x 达到 0.2 时,此代码中的 if 语句不会测试为 true 吗?:
start = -1;
stop = 1;
interval = 0.01;
for x = start:interval:stop
if x == 0.20
disp('it worked')
end
end
但是这段代码确实测试为真:
start = 0;
stop = 1;
interval = 0.01;
for x = start:interval:stop
if x == 0.20
disp('it worked')
end
end
我尝试了一堆不同的起始值,它们是否工作似乎是随机的......为什么改变起始值会改变输出?
如果我更改测试值(即 0.2 到 0.8 或其他值),我也会看到类似的不一致
我错过了什么?