- A CONTINUE may only be used within a FOR or WHILE loop
 - Logical comparison requires 2 equals: d==1 && r>1
 
A switch case with multiple results or switch expressions?
    15 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    Rishi Balasubramanian
 el 23 de Dic. de 2020
  
    
    
    
    
    Comentada: Walter Roberson
      
      
 el 23 de Dic. de 2020
            Is such a switch case possible? If not, whats my workaround for it?
  switch r,d
    case d=1 && r=1
        continue
    case d=1 && r>1
        disp('zero')
    case d=0 && r=1
        disp('positive one')
    case d=0 && r>1
        disp('other value')
    end
0 comentarios
Respuesta aceptada
  Cris LaPierre
    
      
 el 23 de Dic. de 2020
        First we need to fix some syntax issues.
One way to swtich based on the value of multiple variables is this:
r = 1;
d = 0;
switch true
    case d==1 && r>1
        disp('zero')
    case d==0 && r==1
        disp('positive one')
    case d==0 && r>1
        disp('other value')
end
1 comentario
  Walter Roberson
      
      
 el 23 de Dic. de 2020
				It is true that a continue can only be used within for or while, but we could speculate that this switch logic is indeed inside a loop.
Más respuestas (1)
  Walter Roberson
      
      
 el 23 de Dic. de 2020
          switch true
    case d==1 && r==1
        continue
    case d==1 && r>1
        disp('zero')
    case d==0 && r==1
        disp('positive one')
    case d==0 && r>1
        disp('other value')
    otherwise
          disp('Uh-oh!')
    end
0 comentarios
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!