У меня есть несколько файлов изображений. Я пытаюсь выполнить некоторые вычисления, используя каждый файл, и если определенное условие выполнено, я хотел бы вернуться к определенной строке в коде и запустить ее оттуда еще раз. Но только еще раз. Независимо от того, удовлетворяется ли условие if во второй раз или нет, я хочу перейти к следующей итерации. Но у MATLAB, похоже, нет функции goto, а также использование goto подразумевает плохое программирование, поэтому я подумал, что просто дважды выполним цикл for для конкретного значения i, которое удовлетворяет условию if.
file = dir('*.jpg');
n = length(file);
for i = 1:n
*perform some operations on the 'i'th file*
if 'condition'
*run the for loop again for the 'i'th file instead of going to the 'i+1'th file*
i=i-1;
else
*go to next iteration*
end
end
Я попытался закодировать это, изменив переменную цикла 'i' внутри цикла на 'i-1', так что на следующей итерации цикл i будет повторяться снова, но это дает неверный результат вывод, хотя я не знаю, есть ли какая-то другая ошибка в моем коде или причиной является изменение внутренней переменной цикла. Любая помощь по этому вопросу приветствуется.