0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

MATLAB之switch-case開關(guān)結(jié)構(gòu)實(shí)例

通信工程師專輯 ? 來(lái)源:通信工程師專輯 ? 2023-08-07 09:12 ? 次閱讀

程序控制結(jié)構(gòu)是指以某種順序執(zhí)行的一系列動(dòng)作,用于解決某個(gè)問(wèn)題。理論和實(shí)踐證明,無(wú)論多復(fù)雜的算法均可通過(guò)順序、選擇、循環(huán)這三種基本控制結(jié)構(gòu)構(gòu)造出來(lái)。每種結(jié)構(gòu)僅有一個(gè)入口和出口。由這3種基本結(jié)構(gòu)組成的多層嵌套程序稱為結(jié)構(gòu)化程序。百度百科解釋的很棒!再來(lái)學(xué)習(xí)另外一種開關(guān)結(jié)構(gòu)!

d6885216-34be-11ee-9e74-dac502259ad0.png

switch語(yǔ)句用的場(chǎng)合不如if的多!

注意!

開關(guān)結(jié)構(gòu)運(yùn)行時(shí),MATLAB將開關(guān)表達(dá)式的值依次和各個(gè) case后面的表達(dá)式進(jìn)行比較,如果是“邏輯真”,將執(zhí)行相應(yīng)的語(yǔ)句,如果是“邏輯假”,則取下一個(gè) case 后面的表達(dá)式進(jìn)行比較。如果所有 case 后面的語(yǔ)句均與開關(guān)表達(dá)式的值不相等,則執(zhí)行 otherwise 后面的指令語(yǔ)句組。

開關(guān)表達(dá)式的形式有兩種:一種是標(biāo)量;另外一種是字符串。對(duì)于字符串形式,MATLAB 在比較時(shí)將調(diào)用函數(shù) strcmp( ),得出字符串比較的邏輯輸出值,MATLAB 根據(jù)該邏輯值的真假來(lái)判斷是否執(zhí)行該 case 后面的語(yǔ)句。

什么是流程?

流程簡(jiǎn)單的解釋就是指事物進(jìn)行中的次序或順序的布置和安排。我們做的很多事情都有一個(gè)流程。比如你要到京東買東西就要先登錄賬號(hào),然后購(gòu)物,然后提交,再然后進(jìn)行付費(fèi)。再比如華為公司使用的BPM。這是一個(gè)流程管理軟件,先處理什么事情,再處理什么事情,涉及順序,管理思想等。只有到了一定規(guī)模的公司,你才能接觸到這個(gè)概念。我們先從軟件編程的角度出發(fā)來(lái)理解流程控制內(nèi)容吧。那什么是流程圖呢?學(xué)過(guò)C語(yǔ)言的同學(xué)肯定知道。復(fù)雜的編程一定要先畫流程圖!

做個(gè)例題吧。

例四:switch-case開關(guān)結(jié)構(gòu)實(shí)例。

通過(guò)鍵盤輸入百分制成績(jī),輸出成績(jī)的等級(jí),其中90~100分等級(jí)為A,80~89分等級(jí)為B,70~79分等級(jí)為C,60~69分等級(jí)為D,60分以下不及格。

d6d9706a-34be-11ee-9e74-dac502259ad0.png

正確嗎?

如果不正確,應(yīng)該如何改呢?

先思考一下!

d70fde2a-34be-11ee-9e74-dac502259ad0.png

d74a52bc-34be-11ee-9e74-dac502259ad0.png

注意!

試探結(jié)構(gòu)首先試探性的執(zhí)行指令語(yǔ)句組 1,如果在此語(yǔ)句組執(zhí)行過(guò)程中出現(xiàn)錯(cuò)誤,則將錯(cuò)誤信息給保留的 lasterr 變量,并放棄這組語(yǔ)句,轉(zhuǎn)而執(zhí)行語(yǔ)句組 2 中的語(yǔ)句。

若語(yǔ)句 2 執(zhí)行過(guò)程中又出現(xiàn)錯(cuò)誤,則 MATLAB 終止該結(jié)構(gòu)。

d780dcf6-34be-11ee-9e74-dac502259ad0.png

什么是魔方矩陣?

考試時(shí)候也許會(huì)遇到哦!

如何生成呢?magic函數(shù)可以來(lái)幫忙!魔方矩陣是指具有相同的行數(shù)和列數(shù),并且在每行每列、對(duì)角線上的和都相等的矩陣。魔方矩陣中的每個(gè)元素不能相同。你能構(gòu)造出任何大?。ǔ?x2)的魔方矩陣。

d7bb0642-34be-11ee-9e74-dac502259ad0.png

這個(gè)結(jié)構(gòu)用的少!

而下面的結(jié)構(gòu)幾乎無(wú)處不在!

d7e271dc-34be-11ee-9e74-dac502259ad0.png

注意!

”表達(dá)式“可以是 MATLAB 指令產(chǎn)生的數(shù)組,也可以是任意給定的一個(gè)數(shù)組。循環(huán)變量從”表達(dá)式“中的第一個(gè)數(shù)值(或第一列數(shù)組)一直循環(huán)到”表達(dá)式“的最后一個(gè)數(shù)值(或最后一列數(shù)組)。

d7f6b2be-34be-11ee-9e74-dac502259ad0.png

d82d0472-34be-11ee-9e74-dac502259ad0.png

d85550e4-34be-11ee-9e74-dac502259ad0.png

注意!

執(zhí)行時(shí),只要邏輯表達(dá)式為”邏輯真“(非 0),就執(zhí)行指令語(yǔ)句組,執(zhí)行后再返回到 while 引導(dǎo)的邏輯表達(dá)式處,繼續(xù)判斷;如果邏輯表達(dá)式為”邏輯假“,則跳出循環(huán)。

通常,邏輯表達(dá)式的值為一個(gè)標(biāo)量,但數(shù)組也同樣有效。

示例講解!

例七:運(yùn)用 while……end循環(huán)結(jié)構(gòu)實(shí)現(xiàn):從鍵盤輸入若干個(gè)數(shù),當(dāng)輸入數(shù)字為零時(shí),結(jié)束輸入。求這些數(shù)字的平均值以及它們的和。

d8958f06-34be-11ee-9e74-dac502259ad0.png

d8b34a6e-34be-11ee-9e74-dac502259ad0.png

d8e0f108-34be-11ee-9e74-dac502259ad0.png

如果你熟悉C語(yǔ)言的語(yǔ)法知識(shí),那么掌握這些就易如反掌!如果忘記了,可以通過(guò)互聯(lián)網(wǎng)來(lái)回顧!如果沒(méi)有學(xué)過(guò)C語(yǔ)言,那么就需要在MATLAB相關(guān)書籍中學(xué)習(xí)相關(guān)內(nèi)容。繼續(xù)通過(guò)示例來(lái)了解這兩個(gè)語(yǔ)句的用法吧。

d8fdf80c-34be-11ee-9e74-dac502259ad0.png

知識(shí)點(diǎn)!

d93e5492-34be-11ee-9e74-dac502259ad0.png






審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • matlab
    +關(guān)注

    關(guān)注

    185

    文章

    2977

    瀏覽量

    230612
  • C語(yǔ)言
    +關(guān)注

    關(guān)注

    180

    文章

    7606

    瀏覽量

    137051
  • MATLAB仿真
    +關(guān)注

    關(guān)注

    4

    文章

    176

    瀏覽量

    19943

原文標(biāo)題:MATLAB課程之第三章v2 M文件知識(shí)(3)

文章出處:【微信號(hào):gh_30373fc74387,微信公眾號(hào):通信工程師專輯】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    狀態(tài)機(jī)編程實(shí)例-嵌套switch-case

    嵌入式軟件開發(fā)中,狀態(tài)機(jī)編程是一個(gè)比較實(shí)用的代碼實(shí)現(xiàn)方式,特別適用于事件驅(qū)動(dòng)的系統(tǒng)。本篇,以一個(gè)炸彈拆除的小游戲?yàn)槔?,介紹狀態(tài)機(jī)編程的思路。
    的頭像 發(fā)表于 06-15 09:01 ?1808次閱讀
    狀態(tài)機(jī)編程<b class='flag-5'>實(shí)例</b>-嵌套<b class='flag-5'>switch-case</b>法

    #simulink 11.13 switch switch-case子系統(tǒng)

    matlabEDA工具仿真Simulink
    虎哥電子
    發(fā)布于 :2022年07月22日 11:42:30

    【DOC】MATLAB程序實(shí)例遺傳算法

    【DOC】MATLAB程序實(shí)例遺傳算法附件:
    發(fā)表于 02-28 11:11

    C語(yǔ)言switch case怎么執(zhí)行

    switch(temp){case a: for(i=0;i
    發(fā)表于 03-22 07:27

    JavaScript 【5】switch語(yǔ)句

    運(yùn)行。實(shí)例顯示今天的星期名稱。請(qǐng)注意 Sunday=0, Monday=1, Tuesday=2, 等等:var d=new Date().getDay(); switch (d) { case 0
    發(fā)表于 07-17 10:40

    matlab實(shí)例教程下載

    matlab實(shí)例教程    本書介紹了MATLAB一般原理和基本運(yùn)算,重點(diǎn)介紹了MATLAB圖形用戶界面的結(jié)構(gòu)
    發(fā)表于 06-18 14:26 ?620次下載
    <b class='flag-5'>matlab</b><b class='flag-5'>實(shí)例</b>教程下載

    PCB設(shè)計(jì)實(shí)例開關(guān)電源

    PCB設(shè)計(jì)實(shí)例開關(guān)電源,很實(shí)用的資料,感興趣的可以看看。
    發(fā)表于 09-19 16:57 ?0次下載

    EMC設(shè)計(jì)工程實(shí)例——開關(guān)電源設(shè)計(jì)

    EMC設(shè)計(jì)工程實(shí)例——開關(guān)電源設(shè)計(jì)
    發(fā)表于 01-14 12:22 ?85次下載

    C語(yǔ)言教程之選擇結(jié)構(gòu)程序設(shè)計(jì)資料概述和設(shè)計(jì)實(shí)例免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是C語(yǔ)言教程之選擇結(jié)構(gòu)程序設(shè)計(jì)資料概述和設(shè)計(jì)實(shí)例免費(fèi)下載包括了:1.if條件分支結(jié)構(gòu)2.switch-case開關(guān)
    發(fā)表于 09-19 17:21 ?8次下載
    C語(yǔ)言教程之選擇<b class='flag-5'>結(jié)構(gòu)</b>程序設(shè)計(jì)資料概述和設(shè)計(jì)<b class='flag-5'>實(shí)例</b>免費(fèi)下載

    MATLAB教程之MATLAB程序設(shè)計(jì)基礎(chǔ)概述

    本文檔的主要內(nèi)容詳細(xì)介紹的是MATLAB教程之MATLAB程序設(shè)計(jì)基礎(chǔ)概述主要內(nèi)容包括了:1For循環(huán),2While 循環(huán),3If-else-End 結(jié)構(gòu),4switch 分支
    發(fā)表于 01-04 14:55 ?0次下載
    <b class='flag-5'>MATLAB</b>教程之<b class='flag-5'>MATLAB</b>程序設(shè)計(jì)基礎(chǔ)概述

    C語(yǔ)言的switch case多分支選擇語(yǔ)句的詳細(xì)資料說(shuō)明

    1、switch-case開關(guān)語(yǔ)句是一種多分支選擇語(yǔ)句,用來(lái)實(shí)現(xiàn)多方向條件分支。雖然采用if-else條件判斷語(yǔ)句也可以實(shí)現(xiàn)多方向條件分支,但是當(dāng)分支較多時(shí),使用if-else條件語(yǔ)句的嵌套層次會(huì)
    發(fā)表于 07-12 17:39 ?1次下載
    C語(yǔ)言的<b class='flag-5'>switch</b> <b class='flag-5'>case</b>多分支選擇語(yǔ)句的詳細(xì)資料說(shuō)明

    Switch case中的case順序

    Switch case中的case順序 Switch 可能轉(zhuǎn)化成多種不同算法的代碼。其中最常見(jiàn)的是跳轉(zhuǎn)表和比較鏈/樹。當(dāng)switch用比較鏈
    的頭像 發(fā)表于 11-20 18:16 ?851次閱讀

    java switch case的語(yǔ)法規(guī)則

    在Java中,switch case語(yǔ)句是一種用于多分支選擇的控制流語(yǔ)句。它允許根據(jù)某個(gè)表達(dá)式的值來(lái)執(zhí)行不同的代碼塊。下面是關(guān)于switch case語(yǔ)法規(guī)則的詳細(xì)解釋。 基本語(yǔ)法
    的頭像 發(fā)表于 11-30 14:40 ?2377次閱讀

    java switch case值能為枚舉值嗎

    Java中的switch語(yǔ)句可以接受枚舉類型的值作為參數(shù)。在Java中,枚舉是一種特殊的數(shù)據(jù)類型,它定義了一個(gè)固定數(shù)量的命名常量。因此,可以將枚舉值作為switch語(yǔ)句的case。 首先,讓我們來(lái)看
    的頭像 發(fā)表于 11-30 14:41 ?5447次閱讀

    java中的switch語(yǔ)句 case的取值

    Java中的switch語(yǔ)句是一種用于多重條件判斷的語(yǔ)句,用于根據(jù)不同的條件執(zhí)行不同的代碼塊。在switch語(yǔ)句中,case關(guān)鍵字用來(lái)指定不同的取值。 在Java中,switch語(yǔ)句的
    的頭像 發(fā)表于 11-30 16:05 ?1188次閱讀