Miksi käyttää sisäkkäistä kytkintä?
Sisäkkäiset kytkimet voivat luoda monimutkaisempia päätösrakenteita MATLABissa. Ne voivat toteuttaa useita erilaisia logiikkaa, kuten if-else-if -lauseita, case-lauseita ja jopa silmukoita.
Esimerkiksi sisäkkäistä kytkintä voitaisiin käyttää määrittämään tulos kahden muuttujan arvon perusteella. Ulompaa kytkinlausetta voitaisiin käyttää ensimmäisen muuttujan määrittämiseen ja sisempää kytkinkäskyä toisen muuttujan määrittämiseen.
Sisäkkäisen kytkimen syntaksi MATLABissa
MATLABissa alla olevaa syntaksia noudatetaan sisäkkäisissä kytkinlauseissa:
vaihda ulkoinen_muuttuja
tapaus 1
vaihda sisäinen_muuttuja
tapaus 1
...
tapaus 2
...
muuten
...
loppu
tapaus 2
...
muuten
...
loppu
Esimerkki sisäkkäisestä kytkimestä MATLABissa
Seuraava koodi määrittelee sisäkkäisen kytkinkäskyn, joka määrittää lähdön muuttujan x arvon ja muuttujan y arvon perusteella:
x = 2 ;
ja = 3 ;
kytkin x
tapaus 1
kytkin y
tapaus 1
disp ( 'yksitoista' ) ;
tapaus 2
disp ( '1, 2' ) ;
muuten
disp ( '1, muuten' ) ;
loppu
tapaus 2
kytkin y
tapaus 2
disp ( '2, 2' ) ;
tapaus 3
disp ( '23' ) ;
muuten
disp ( '2, muuten' ) ;
loppu
muuten
disp ( 'muuten' ) ;
loppu
Tämä MATLAB-koodi määrittelee kaksi muuttujaa nimeltä x ja y. X:n arvo on 2 ja y on 3. Sitten se käyttää sisäkkäistä kytkentätapausrakennetta arvioidakseen x:n ja y:n arvot. Arvoista riippuen ulostulona näytetään erilaisia viestejä. Tässä tapauksessa koodi tulostaa 2, 3, koska x on 2 ja y on 3.
Matemaattisen oppiaineen arvosanan laskenta käyttämällä Nested Switchiä MATLABissa
Nyt annamme opiskelijoille arvosanan heidän pisteidensä mukaan käyttämällä sisäkkäistä kytkintä MATLABissa.
aihe = 'Matematiikka' ;
pisteet = 85 ;
arvosana = '' ;
vaihtaa aihetta
tapaus 'Matematiikka'
vaihtaa totta
tapaus pisteet > = 90 && pisteet = 80 && pisteet < = 89
arvosana = 'B' ;
disp ( 'Pistemäärä on 80 ja 89 välillä. Arvosana: B' ) ;
muuten
arvosana = 'C' ;
disp ( 'Pistemäärä on alle 80. Arvosana: C' ) ;
loppu
tapaus 'Englanti'
% käsittelee englanninkielistä arviointia
muuten
% hoitaa muita aiheita
loppu
Tämä MATLAB-koodi laskee matematiikan oppiaineen arvosanan annetun pistemäärän perusteella. Koodi käyttää sisäkkäisiä kytkinlauseita arvosanan määrittämiseen pistemääräalueiden perusteella. Jos pistemäärä on 90–100, arvosanaksi asetetaan A. Jos arvosanaksi tulee 80–89, arvosanaksi asetetaan B. Muussa tapauksessa alle 80:n arvosanaksi on asetettu C. Koodi sisältää myös vastaavat disp()-lausekkeet arvosanan ja pistemäärän näyttämiseksi.
Johtopäätös
Käyttämällä sisäkkäisiä kytkinlauseita MATLABissa voimme suunnitella monimutkaisia päätösrakenteita. Ne mahdollistavat sisäisten kytkinlauseiden ehdollisen suorittamisen ulomman kytkimen tapausten perusteella. Tämä mahdollistaa useiden muuttujien ja ehtojen käsittelyn yhdessä koodilohkossa, mikä parantaa koodin luettavuutta ja tehokkuutta.