Сценарий MATLAB не заканчивается на Mac
Я запускаю это на MATLAB 2014a, и командная строка не возвращается.
a = 0;
while (1)
a = a + 1;
if (a ~= 2)
continue;
end;
end;
Нет ответа, когда я управляю-C или команда-. (или любая другая обычная комбинация клавиш клавиатуры). Как заставить скрипт завершиться?
1 ответ
Вместо "продолжить", попробуйте "перерыв".
Вот мои рассуждения:
"continue" временно прерывает выполнение программного цикла, пропуская все оставшиеся операторы в теле цикла только для текущего прохода.
Таким образом, он не выходит из цикла полностью, он пропускает любой оставшийся код в цикле, а затем повторно оценивает состояние цикла while, что в вашем случае всегда верно.
Напротив, разрыв выходит из цикла полностью.
Еще один способ сделать это - переписать оператор цикла, например:
a = 0;
while a~=2
a = a + 1;
end
Не уверен, почему он не перестанет работать с Ctrl-C, хотя. Я ожидаю, что ваш скрипт работает так долго, что ваша машина может становиться все менее адаптивной. Подсказка этой статьи: http://www.mathworks.com/help/matlab/matlab_env/stop-execution.html