Matlab while循环问题

时间:2014-08-15 14:48:07

标签: matlab

我有一个相对简单的问题,但无法找到合适的解决方案。我希望你丰富的知识可以帮助像我这样的业余爱好者。

所以我有这些while循环,旨在确保满足某个值/条件:

lastDayflight = -(10.234*24*60)*rand(1);
timeOfDay = floor(mod(lastDayflight,60*24)/60);
while timeOfDay > 20 || timeOfDay < 9 
    lastDayflight = -(10.234*24*60)*rand(1);
    timeOfDay = floor(mod(lastDayflight,60*24)/60);
end

正如您所看到的,循环不断迭代,直到变量lastDayflight不在21 pm和8 am。

但是,夜间的相同循环(见下文)永远不会满足其条件,因此永远不会结束。

lastNightflight = -(40.234*24*60)*rand(1);
timeOfDay = floor(mod(lastNightflight,60*24)/60);
while timeOfDay < 20 || timeOfDay > 9
    lastNightflight = -(40.234*24*60)*rand(1);
    timeOfDay = floor(mod(lastNightflight,60*24)/60);
end 

如何稍微改变,但几乎相同的代码适用于当天但不适用于夜晚?为方便起见,这两个代码可以立即放入matlabs命令窗口

1 个答案:

答案 0 :(得分:2)

在您的while语句中将||替换为&&