Я работаю с редактором m-файлов MATLAB, и мне нужно переходить с одной строки на другую. Если мне нужно перейти изнутри For
...end
, я не могу использовать обычную технику "пока".
Можно ли как-то перепрыгнуть со строки на другую, как goto
в C?
Команда перехода в MATLAB
comment
Насколько я знаю, в Matlab нет оператора goto. Но вы почти всегда можете избежать goto, реструктурировав свою программу.
- person danatel   schedule 04.07.2009
comment
Существует существует оператор goto, реализованный пользователем; вы можете найти его на обмене файлами
- person Rody Oldenhuis   schedule 11.05.2013
Ответы (4)
В MATLAB нет оператора goto
, но есть несколько других команд для использования с циклами, которые могут вам помочь:
continue
: этот оператор пропустит оставшиеся команды через какое-то время. цикла и перейти к следующей итерации.break
: этот оператор завершает выполнение цикла for или while.
person
gnovice
schedule
04.07.2009
+1; но на самом деле есть оператор goto в Матлаб :)
- person Rody Oldenhuis; 11.05.2013
@RodyOldenhuis На секунду я действительно подумал, что есть. Это не настоящий
goto
, но в большинстве случаев он довольно хорошо имитирует поведение :)
- person Eitan T; 11.05.2013
В матлабе нет goto. Однако это не означает, что вы не можете структурировать свой код для использования структурной формы {if, else, elseif, end}. Или используйте форму {switch, case, end}. Или вызовите функцию (или подфункцию, или вложенную функцию), чтобы решить вашу проблему. Или используйте continue/break для структурирования кода. Всегда можно решить эти проблемы, используя одну из существующих форм управления потоком.
Использование функций может улучшить ваш код другими способами, часто делая его более модульным и, следовательно, более легким для отладки и написания.
person
Community
schedule
05.07.2009
который легко решает проблему:
caseno = input('input your case no');
switch (caseno)
case 1
disp('this first section will run');
case 2
disp('this second section will run');
otherwise
disp('wrong case no');
end
person
Seyhan ÖZEN
schedule
18.01.2019
person
schedule
Я получаю сообщение об ошибке
Undefined function or variable 'goto'.
при использовании Matlab 2016b.
- person MasterHD; 02.04.2017