Сценарий 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

Другие вопросы по тегам