我是半高级的,不明白为什么这段代码无法正确执行。我希望代码在特定时间执行某些操作。感谢您的输入。 /汉克为什么不在循环工作(Matlab)时计时?
running=1;
while running==1
if hour(now)==17 & minute(now)==4 & second(now)==59
(Do Stuff)
running=0;
end
end
我是半高级的,不明白为什么这段代码无法正确执行。我希望代码在特定时间执行某些操作。感谢您的输入。 /汉克为什么不在循环工作(Matlab)时计时?
running=1;
while running==1
if hour(now)==17 & minute(now)==4 & second(now)==59
(Do Stuff)
running=0;
end
end
这可能是因为second
返回一个双数组,浮点运算双精度的条件second(now)==59
可能永远是正确的。我会用如下代替它:abs(second(now)-59)<1e-3
或您认为合适的任何阈值。由hour
和minute
返回的值是整数,所以相等性测试应该是有效的。
据我所知,second
不返回一个整数。因此,第二(现在)== 59的平等是有意义的。
最好使用round(second(now))==59