我是半高級的,不明白爲什麼這段代碼無法正確執行。我希望代碼在特定時間執行某些操作。感謝您的輸入。 /漢克爲什麼不在循環工作(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