Prečo používať vnorený prepínač?
Vnorené prepínače môžu vytvárať zložitejšie rozhodovacie štruktúry v MATLABE. Môžu implementovať množstvo rôznych logík, ako sú príkazy if-else-if, príkazy typu case a dokonca aj slučky.
Napríklad vnorený prepínač možno použiť na určenie výstupu na základe hodnoty dvoch premenných. Príkaz vonkajšieho prepínača možno použiť na určenie prvej premennej a príkaz vnútorného prepínača možno použiť na určenie druhej premennej.
Syntax vnoreného prepínača v MATLABE
V MATLABe nižšie bude dodržaná syntax pre vnorený príkaz switch:
prepínač vonkajšej_premennej
prípad 1
switch inner_variable
prípad 1
...
prípad 2
...
inak
...
koniec
prípad 2
...
inak
...
koniec
Príklad vnoreného prepínača v MATLABE
Nasledujúci kód definuje vnorený príkaz switch, ktorý určuje výstup na základe hodnoty premennej x a hodnoty premennej y:
x = 2 ;
a = 3 ;
prepínač x
prípad 1
prepínač y
prípad 1
disp ( 'jedenásť' ) ;
prípad 2
disp ( '1, 2' ) ;
inak
disp ( '1, inak' ) ;
koniec
prípad 2
prepínač y
prípad 2
disp ( '2, 2' ) ;
prípad 3
disp ( '23' ) ;
inak
disp ( '2, inak' ) ;
koniec
inak
disp ( 'inak' ) ;
koniec
Tento kód MATLABu definuje dve premenné pomenované x a y. Hodnota x je 2 a y je 3. Potom použije vnorenú štruktúru prepínača na vyhodnotenie hodnôt x a y. V závislosti od hodnôt sa ako výstup zobrazujú rôzne správy. V tomto prípade kód vypíše 2, 3, pretože x je 2 a y je 3.
Výpočet známky pre matematický predmet pomocou Nested Switch v MATLAB
Teraz pridelíme žiakom známku v závislosti od ich známok pomocou vnoreného prepínača v MATLABE.
predmet = 'Math' ;
skóre = 85 ;
stupeň = '' ;
prepnúť predmet
prípad 'Math'
prepínač pravda
prípad skóre > = 90 && skóre = 80 && skóre < = 89
stupeň = 'B' ;
disp ( 'Skóre je medzi 80 a 89. Známka: B' ) ;
inak
stupeň = 'C' ;
disp ( 'Skóre je nižšie ako 80. Známka: C' ) ;
koniec
prípad 'Angličtina'
% zvládnuť známkovanie podľa angličtiny
inak
% zvládnuť iné predmety
koniec
Tento kód MATLAB vypočítava známku z matematického predmetu na základe daného skóre. Kód používa vnorené príkazy switch na určenie známky na základe rozsahov skóre. Ak skóre klesne medzi 90 a 100, známka sa nastaví na A. Ak spadne medzi 80 a 89, známka sa nastaví na B. V opačnom prípade sa pre skóre pod 80 nastaví známka na C. Kód obsahuje aj zodpovedajúce príkazy disp() na zobrazenie známky a rozsahu skóre.
Záver
Pomocou vnorených príkazov switch v MATLAB môžeme navrhnúť komplexné rozhodovacie štruktúry. Umožňujú podmienené vykonávanie príkazov vnútorného prepínača na základe prípadov vonkajšieho prepínača. To umožňuje manipuláciu s viacerými premennými a podmienkami v rámci jedného bloku kódu, čím sa zlepšuje čitateľnosť a efektívnosť kódu.