how would i make this tricky switch case

1 view (last 30 days)
so im making a for loop and inside the for loop i want to have a certain block of code which is either initiated or not. i know i could use a if command but then the computer would have to process that "if" command for how ever many iterations the for loop is. so how would u code the statement below so that a = %{ and b=%} if a certain criteria is asked for?
for i=1:10
a block of code b
end
thanks!!!
  2 Comments
Jan
Jan on 8 Oct 2011
The question is not clear to me. Can you insert a running example? Valid Matlab syntax is understood by more users than the term "a block of code b".
Fangjun Jiang
Fangjun Jiang on 13 Nov 2011
I don't understand the question either!

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 8 Oct 2011
MATLAB does not offer pre-processing of that form.
If you do not want the condition executed however many times, put the test a single time in an if statement, and code the section twice, once with and once without the conditional code.
if theCondition
for i=1:10
block of code
second block of code
end
else
for i=1:10
second block of code
end
end

More Answers (2)

Harry MacDowel
Harry MacDowel on 8 Oct 2011
help switch

Jan
Jan on 8 Oct 2011
What's wrong with the IF method? It will cost some milliseconds, while writing this question costs a minute.
Perhaps the problem is getting clear, if you post the relevant part of the program and measure the delay caused by the IF, e.g. by inserting the IF twice.

Categories

Find more on Simulink Functions in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!