How can I incoporate logics of and/or in switch case problem

2 views (last 30 days)
How can I use/incorporate and adoption of logic (and/or) combination in switch case problem. Any assistance is appreciated too
  2 Comments
Jan
Jan on 28 Aug 2017
The question is too general for a meaningful answer. What does "incorporate and adoption of logic" mean? Something like:
switch (a || b) && c
case 0, ...
case 1, ...
end
?
KALYAN ACHARJYA
KALYAN ACHARJYA on 28 Aug 2017
More clarification needed for exact answer.
o_p=A && B;
o_p=1 or 0;
switch(o_p==1)
statement;
switch(o_p==0)

Sign in to comment.

Answers (1)

Walter Roberson
Walter Roberson on 28 Aug 2017
You can do "or" by providing a cell array of all of the matches
switch mod(x, 4)
case {0, 3}
disp('first')
case {1, 2}
disp('second')
otherwise
disp('non-integer')
end
You can get more complicated by matching on arrays or cell arrays:
switch [mod(x,2), y+2] %not recommended
case [0, 7]
disp('first')
case [0, 8]
disp('second')
case [1, 7]
disp('third')
case [1, 8]
disp('fourth')
end
switch {mod(x,2), S} %not recommended
case {0, 'low'}
disp('first')
case {0, 'hi'}
disp('second')
case {1, 'low'}
disp('third')
case {2, 'hi'}
disp('fourth')
end
Doing "or" is more complicated:
switch true %blech!
case x == 0 || strcmp(S, 'low')
disp('first')
case x == 1 || strcmp(S, 'hi')
disp('second')
otherwise
disp('third')
end

Categories

Find more on Data Distribution Plots 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!