Zakaj uporabljati ugnezdeno stikalo?
Ugnezdena stikala lahko ustvarijo bolj zapletene odločitvene strukture v MATLAB-u. Implementirajo lahko različne logike, kot so stavki if-else-if, stavki case in celo zanke.
Na primer, ugnezdeno stikalo bi lahko uporabili za določitev izhoda na podlagi vrednosti dveh spremenljivk. Zunanji stavek switch bi lahko uporabili za določitev prve spremenljivke, notranji stavek switch pa bi lahko uporabili za določitev druge spremenljivke.
Sintaksa ugnezdenega stikala v MATLAB
V MATLAB-u bo za ugnezdeni stavek switch upoštevana spodnja sintaksa:
preklopite zunanjo_spremenljivko
Ovitek 1
preklop notranja_spremenljivka
Ovitek 1
...
Ovitek 2
...
drugače
...
konec
Ovitek 2
...
drugače
...
konec
Primer ugnezdenega stikala v MATLAB
Naslednja koda definira ugnezdeni stavek switch, ki določa izhod na podlagi vrednosti spremenljivke x in vrednosti spremenljivke y:
x = 2 ;
in = 3 ;
stikalo x
Ovitek 1
stikalo y
Ovitek 1
disp ( 'enajst' ) ;
Ovitek 2
disp ( '1, 2' ) ;
drugače
disp ( '1, drugače' ) ;
konec
Ovitek 2
stikalo y
Ovitek 2
disp ( '2, 2' ) ;
Ovitek 3
disp ( '23' ) ;
drugače
disp ( '2, drugače' ) ;
konec
drugače
disp ( 'drugače' ) ;
konec
Ta koda MATLAB definira dve spremenljivki z imenom x in y. Vrednost x je 2 in y je 3. Nato uporabi ugnezdeno strukturo preklopnega primera za ovrednotenje vrednosti x in y. Odvisno od vrednosti se kot izhod prikažejo različna sporočila. V tem primeru bo koda izpisala 2, 3, ker je x 2 in y 3.
Izračun ocene za predmet matematika z uporabo ugnezdenega stikala v MATLAB
Zdaj bomo študentom dodelili oceno glede na njihove ocene z uporabo ugnezdenega stikala v MATLAB-u.
predmet = 'Matematika' ;
rezultat = 85 ;
ocena = '' ;
zamenjati temo
Ovitek 'Matematika'
stikalo prav
Ovitek rezultat > = 90 && rezultat = 80 && rezultat < = 89
ocena = 'B' ;
disp ( 'Rezultat je med 80 in 89. Ocena: B' ) ;
drugače
ocena = 'C' ;
disp ( 'Rezultat je pod 80. Ocena: C' ) ;
konec
Ovitek 'Angleščina'
% obravnavati ocenjevanje, specifično za angleščino
drugače
% ukvarjati z drugimi predmeti
konec
Ta koda MATLAB izračuna oceno za predmet matematike na podlagi danega rezultata. Koda uporablja ugnezdene stavke switch za določanje ocene na podlagi razponov točk. Če rezultat pade med 90 in 100, je ocena nastavljena na A. Če pade med 80 in 89, je ocena nastavljena na B. V nasprotnem primeru je za rezultate pod 80 ocena nastavljena na C. Koda vključuje tudi ustrezne stavke disp() za prikaz ocene in razpona rezultatov.
Zaključek
Z uporabo ugnezdenih preklopnih stavkov v MATLAB-u lahko oblikujemo kompleksne odločitvene strukture. Omogočajo pogojno izvajanje stavkov notranjega stikala na podlagi primerov zunanjega stikala. To omogoča ravnanje z več spremenljivkami in pogoji znotraj enega kodnega bloka, kar izboljša berljivost in učinkovitost kode.