How can I incoporate logics of and/or in switch case problem
    8 次查看(过去 30 天)
  
       显示 更早的评论
    
How can I use/incorporate and adoption of logic (and/or) combination in switch case problem. Any assistance is appreciated too
2 个评论
  Jan
      
      
 2017-8-28
				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
      
      
 2017-8-28
				More clarification needed for exact answer.
o_p=A && B;
o_p=1 or 0;
switch(o_p==1)
statement;
switch(o_p==0)
采纳的回答
  Walter Roberson
      
      
 2017-8-28
        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
0 个评论
更多回答(0 个)
另请参阅
类别
				在 Help Center 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!



