Per què fer servir un commutador niat?
Els interruptors nius poden crear estructures de decisió més complexes a MATLAB. Poden implementar una varietat de lògiques diferents, com ara sentències if-else-if, sentències de cas i fins i tot bucles.
Per exemple, es podria utilitzar un interruptor imbricat per determinar la sortida en funció del valor de dues variables. La declaració de commutació externa es podria utilitzar per determinar la primera variable i la declaració de commutació interna es podria utilitzar per determinar la segona variable.
Sintaxi d'un commutador imbricat a MATLAB
A MATLAB, es seguirà la sintaxi següent per a la instrucció switch imbricada:
canvia la variable_exterior
Caixa 1
canviar la variable_interior
Caixa 1
...
Caixa 2
...
d'una altra manera
...
final
Caixa 2
...
d'una altra manera
...
final
Exemple d'un commutador nidat a MATLAB
El codi següent defineix una instrucció de commutació imbricada que determina la sortida en funció del valor de la variable x i el valor de la variable y:
x = 2 ;
y = 3 ;
interruptor x
Caixa 1
canviar y
Caixa 1
disp ( '1, 1' ) ;
Caixa 2
disp ( '1, 2' ) ;
d'una altra manera
disp ( '1, en cas contrari' ) ;
final
Caixa 2
canviar y
Caixa 2
disp ( '2, 2' ) ;
Caixa 3
disp ( '2, 3' ) ;
d'una altra manera
disp ( '2, en cas contrari' ) ;
final
d'una altra manera
disp ( 'd'una altra manera' ) ;
final
Aquest codi MATLAB defineix dues variables anomenades x i y. El valor de x és 2 i y és 3. A continuació, utilitza una estructura de cas de commutació imbricada per avaluar els valors de x i y. Depenent dels valors, es mostren diferents missatges com a sortida. En aquest cas, el codi sortirà 2, 3 ja que x és 2 i y és 3.
Càlcul de qualificacions per a l'assignatura de matemàtiques mitjançant l'interruptor anidat a MATLAB
Ara assignarem una qualificació als estudiants en funció de les seves notes mitjançant l'interruptor imbricat de MATLAB.
subjecte = 'Matemàtiques' ;
puntuació = 85 ;
grau = '' ;
canviar de tema
Caixa 'Matemàtiques'
interruptor veritat
Caixa puntuació > = 90 && puntuació = 80 && puntuació < = 89
grau = 'B' ;
disp ( 'La puntuació està entre 80 i 89. Nota: B' ) ;
d'una altra manera
grau = 'C' ;
disp ( 'La puntuació és inferior a 80. Nota: C' ) ;
final
Caixa 'anglès'
% gestionar les qualificacions específiques d'anglès
d'una altra manera
% tractar altres temes
final
Aquest codi de MATLAB calcula la nota d'una assignatura de matemàtiques a partir d'una puntuació determinada. El codi utilitza declaracions de commutació imbricades per determinar la qualificació en funció dels intervals de puntuació. Si la puntuació està entre 90 i 100, la nota s'estableix en A. Si cau entre 80 i 89, la nota s'estableix en B. En cas contrari, per a les puntuacions inferiors a 80, la nota s'estableix en C. El codi també inclou les declaracions disp() corresponents per mostrar la nota i l'interval de puntuació.
Conclusió
Utilitzant declaracions de commutació imbricades a MATLAB podem dissenyar estructures de decisions complexes. Permeten l'execució condicional d'instruccions de commutació interior basades en els casos d'un commutador extern. Això permet gestionar múltiples variables i condicions dins d'un únic bloc de codi, millorant la llegibilitat i l'eficiència del codi.