Waarom een geneste schakelaar gebruiken?
Geneste schakelaars kunnen complexere beslissingsstructuren creëren in MATLAB. Ze kunnen verschillende logica's implementeren, zoals if-else-if-statements, case-statements en zelfs loops.
Een geneste schakelaar kan bijvoorbeeld worden gebruikt om de uitvoer te bepalen op basis van de waarde van twee variabelen. De instructie outer switch kan worden gebruikt om de eerste variabele te bepalen en de instructie inner switch kan worden gebruikt om de tweede variabele te bepalen.
Syntaxis van een geneste schakelaar in MATLAB
In MATLAB wordt onderstaande syntaxis gevolgd voor een geneste switch-instructie:
schakel buitenste_variabele
geval 1
wissel innerlijke_variabele
geval 1
...
geval 2
...
anders
...
einde
geval 2
...
anders
...
einde
Voorbeeld van een geneste schakelaar in MATLAB
De volgende code definieert een geneste switch-instructie die de uitvoer bepaalt op basis van de waarde van de variabele x en de waarde van de variabele y:
x= 2 ;
en = 3 ;
schakelaar x
geval 1
schakelaar y
geval 1
disp ( 'elf' ) ;
geval 2
disp ( '1, 2' ) ;
anders
disp ( '1, anders' ) ;
einde
geval 2
schakelaar y
geval 2
disp ( '2, 2' ) ;
geval 3
disp ( '23' ) ;
anders
disp ( '2, anders' ) ;
einde
anders
disp ( 'anders' ) ;
einde
Deze MATLAB-code definieert twee variabelen genaamd x en y. De waarde van x is 2 en y is 3. Vervolgens wordt een geneste switch-case-structuur gebruikt om de waarden van x en y te evalueren. Afhankelijk van de waarden worden verschillende meldingen weergegeven als uitvoer. In dit geval geeft de code 2, 3 weer, aangezien x 2 is en y 3.
Cijferberekening voor wiskundeonderwerpen met behulp van geneste schakelaar in MATLAB
Nu zullen we een cijfer toewijzen aan studenten, afhankelijk van hun cijfers, met behulp van de geneste schakelaar in MATLAB.
onderwerp = 'Wiskunde' ;
scoren = 85 ;
cijfer = '' ;
van onderwerp wisselen
geval 'Wiskunde'
schakelaar WAAR
geval scoren > = 90 && scoren = 80 && scoren < = 89
cijfer = 'B' ;
disp ( 'De score valt tussen de 80 en 89. Cijfer: B' ) ;
anders
cijfer = 'C' ;
disp ( 'De score is lager dan 80. Cijfer: C' ) ;
einde
geval 'Engels'
% omgaan met Engels-specifieke beoordeling
anders
% andere onderwerpen behandelen
einde
Deze MATLAB-code berekent het cijfer voor een wiskundevak op basis van een gegeven score. De code gebruikt geneste switch-instructies om het cijfer te bepalen op basis van scorebereiken. Als de score tussen 90 en 100 valt, wordt het cijfer ingesteld op A. Als het tussen 80 en 89 valt, wordt het cijfer ingesteld op B. Anders wordt het cijfer ingesteld op C voor scores onder de 80. De code bevat ook de bijbehorende disp()-statements om het cijfer en het scorebereik weer te geven.
Conclusie
Met behulp van geneste switch-statements in MATLAB kunnen we complexe beslissingsstructuren ontwerpen. Ze maken voorwaardelijke uitvoering van instructies voor interne schakelaars mogelijk op basis van de gevallen van een externe schakelaar. Dit maakt het mogelijk om meerdere variabelen en voorwaarden binnen een enkel codeblok te verwerken, waardoor de leesbaarheid en efficiëntie van de code wordt verbeterd.