2013-02-16 3 views
2

У меня есть три вложенных цикла в Matlab и в каждом цикле у меня есть «if», которые проверяют флаг. Если все в порядке, алгоритм продолжается, в противном случае я хочу, чтобы программа была прекращена. Вот мои коды, я думаю, что-то не так!Перерыв вложенной петли

[A] = finction (...,...,...) 

for i = 1:100 
for j = 1:100 
for k = 1:30 

some operation which its results is a flag 

if flag==1 % its initial value is 0 
break 
end; 
end; 
end; 
end; 

Куда поместить этот разрыв в порядок, я сломаю остальную часть вычислений?

ответ

5

BREAK завершает выполнение цикла, поэтому, если у вас есть вложенный цикл, break выйдет из самого внутреннего цикла, и программа продолжит работу.

Если вы хотите, чтобы вся функция была прекращена, вам необходимо использовать RETURN. Обратите внимание, что в момент вызова return все требуемые выходные аргументы должны быть назначены на некоторое значение, иначе код выдает ошибку.

Смежные вопросы