Miért érdemes beágyazott kapcsolót használni?
A beágyazott kapcsolók bonyolultabb döntési struktúrákat hozhatnak létre a MATLAB-ban. Különféle logikákat valósíthatnak meg, például if-else-if utasításokat, eset-utasításokat és akár ciklusokat is.
Például egy beágyazott kapcsoló használható a kimenet meghatározására két változó értéke alapján. A külső switch utasítás használható az első változó meghatározására, a belső switch utasítás pedig a második változó meghatározására.
Egy beágyazott kapcsoló szintaxisa a MATLAB-ban
A MATLAB-ban az alábbi szintaxist követik a beágyazott switch utasítások:
kapcsoló külső_változó
ügy 1
kapcsoló belső_változó
ügy 1
...
ügy 2
...
másképp
...
vége
ügy 2
...
másképp
...
vége
Példa egy beágyazott kapcsolóra a MATLAB-ban
A következő kód egy beágyazott switch utasítást határoz meg, amely az x változó értéke és az y változó értéke alapján határozza meg a kimenetet:
x = 2 ;
és = 3 ;
kapcsoló x
ügy 1
kapcsoló y
ügy 1
diszp ( 'tizenegy' ) ;
ügy 2
diszp ( '1, 2' ) ;
másképp
diszp ( '1, különben' ) ;
vége
ügy 2
kapcsoló y
ügy 2
diszp ( '2, 2' ) ;
ügy 3
diszp ( '23' ) ;
másképp
diszp ( '2, különben' ) ;
vége
másképp
diszp ( 'másképp' ) ;
vége
Ez a MATLAB kód két változót határoz meg, amelyek neve x és y. x értéke 2, y értéke 3. Ezután egy beágyazott kapcsoló-eset struktúrát használ az x és y értékeinek kiértékeléséhez. Az értékektől függően különböző üzenetek jelennek meg kimenetként. Ebben az esetben a kód 2, 3 értéket ad ki, mivel x értéke 2 és y 3.
Osztályszámítás matematikai tárgyhoz a MATLAB beágyazott kapcsolójával
Most a MATLAB beágyazott kapcsolója segítségével osztályzatot adunk a tanulókhoz a jegyeik alapján.
tárgy = 'Matek' ;
pontszám = 85 ;
évfolyam = '' ;
témát váltani
ügy 'Matek'
kapcsoló igaz
ügy pontszám > = 90 && pontszám = 80 && pontszám < = 89
évfolyam = 'B' ;
diszp ( 'A pontszám 80 és 89 közé esik. Besorolás: B' ) ;
másképp
évfolyam = 'C' ;
diszp ( 'A pontszám 80 alatt van. Osztály: C' ) ;
vége
ügy 'Angol'
% kezelni az angol nyelvű osztályozást
másképp
% más tárgyakat kezelni
vége
Ez a MATLAB kód kiszámítja a matematika tantárgy osztályzatát egy adott pontszám alapján. A kód beágyazott switch utasításokat használ az osztályzat meghatározásához a pontszámok tartományai alapján. Ha a pontszám 90 és 100 közé esik, az osztályzat értéke A. Ha 80 és 89 közé esik, az osztályzat B-re lesz állítva. Ellenkező esetben a 80 alatti pontszámok esetén az osztályzat értéke C. A kód a megfelelő disp() utasításokat is tartalmazza az érdemjegy és a pontszámtartomány megjelenítéséhez.
Következtetés
A MATLAB beágyazott switch utasításai segítségével összetett döntési struktúrákat tervezhetünk. Lehetővé teszik a belső kapcsoló utasítások feltételes végrehajtását a külső kapcsoló esetei alapján. Ez lehetővé teszi több változó és feltétel kezelését egyetlen kódblokkon belül, javítva a kód olvashatóságát és hatékonyságát.