Break nested loop and go to a specific line

10 views (last 30 days)
My code has the following sturcture. Inside the nested loop I want to break the loop & want to go Statement 1 & Statement 3.
. . .
. . .
. . .
for index = values
Statement 1
Statement 2
Statement 3
Statement 4
if expression
. . .
if expression
[Go to Statement 1]
else expression
[Go to Statement 3]
. . .
. . .
. . .
I have added the lines to clarify further.

Accepted Answer

Walter Roberson
Walter Roberson on 11 Dec 2022
That is not possible in MATLAB, and will never be possible in MATLAB.
You need a framework something like this
repeat_1 = true;
while repeat_1
repeat_1 = false;
Statement 1
Statement 2
repeat_3 = true;
while repeat_3
repeat_3 = false;
Statement 3
Statement 4
if expression1
if expression2
repeat_1 = true;
break;
else
repeat_3 = true;
continue;
end
end
if ~repeat_3
statements after tests that are to be skipped if you GOTO Statement 3
end
end
if ~repeat_1
statements after tests that are to be skipped if you GOTO Statement 1
end
end
  3 Comments
Walter Roberson
Walter Roberson on 11 Dec 2022
repeat_1 = true;
while repeat_1
repeat_1 = false;
Statement 1
Statement 2
repeat_3 = true;
while repeat_3
repeat_3 = false;
Statement 3
Statement 4
if expression1
if expression2
repeat_1 = true;
break;
else
repeat_3 = true;
continue;
end
Extra C
end
if ~repeat_3
Extra B
end
end
if ~repeat_1
Extra A
end
end
However this will warn you that Extra C is unreachable.
Syed Arafun Nabi
Syed Arafun Nabi on 11 Dec 2022
Thank you. It helps a lot to solve the flow chart.

Sign in to comment.

More Answers (0)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Products


Release

R2021a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!