上堂課講到了控制結構!
程序控制結構是指以某種順序執行的一系列動作,用于解決某個問題。理論和實踐證明,無論多復雜的算法均可通過順序、選擇、循環這三種基本控制結構構造出來。每種結構僅有一個入口和出口。由這3種基本結構組成的多層嵌套程序稱為結構化程序。百度百科解釋的很棒!相信大家在C語言里面已經了解了這些知識,那就在MATLAB中再來一遍吧。再來學習另外一種開關結構!
switch 語句用的場合不如 if 語句多!
注意:開關結構運行時,MATLAB 將開關表達式的值依次和各個 case 后面的表達式進行比較,如果是“邏輯真”,將執行相應的語句,如果是“邏輯假”,則取下一個 case 后面的表達式進行比較。如果所有 case 后面的語句均與開關表達式的值不相等,則執行 otherwise 后面的指令語句組。還有請大家注意這個語法和C的差異!
開關表達式的形式有兩種:一種是標量;另外一種是字符串。對于字符串形式,MATLAB 在比較時將調用函數 strcmp( ),得出字符串比較的邏輯輸出值,MATLAB 根據該邏輯值的真假來判斷是否執行該 case 后面的語句。
什么是流程?
流程簡單的解釋就是指事物進行中的次序或順序的布置和安排。我們做的很多事情都有一個流程。比如你要到京東買東西就要先登錄賬號,然后購物,然后提交,再然后進行付費。再比如華為公司使用的BPM。這是一個流程管理軟件,先處理什么事情,再處理什么事情,涉及順序,管理思想等。只有到了一定規模的公司,你才能接觸到這個概念。我們先從軟件編程的角度出發來理解流程控制內容吧。那什么是流程圖呢?學過C語言的同學肯定知道。復雜的編程一定要先畫流程圖!
做個例題吧。
例四:switch-case開關結構實例。
通過鍵盤輸入百分制成績,輸出成績的等級,其中90~100分等級為A,80~89分等級為B,70~79分等級為C,60~69分等級為D,60分以下不及格。
正確嗎?
如果不正確,應該如何改呢?
先思考一下!
注意!
試探結構首先試探性的執行指令語句組 1,如果在此語句組執行過程中出現錯誤,則將錯誤信息給保留的 lasterr 變量,并放棄這組語句,轉而執行語句組 2 中的語句。
若語句 2 執行過程中又出現錯誤,則 MATLAB 終止該結構。
什么是魔方矩陣?
考試時候也許會遇到哦!
如何生成呢?magic函數可以來幫忙!魔方矩陣是指具有相同的行數和列數,并且在每行每列、對角線上的和都相等的矩陣。魔方矩陣中的每個元素不能相同。你能構造出任何大?。ǔ?x2)的魔方矩陣。
這個結構用的少!
而下面的結構幾乎無處不在!
注意!
”表達式“可以是 MATLAB 指令產生的數組,也可以是任意給定的一個數組。循環變量從”表達式“中的第一個數值(或第一列數組)一直循環到”表達式“的最后一個數值(或最后一列數組)。
注意!
執行時,只要邏輯表達式為”邏輯真“(非 0),就執行指令語句組,執行后再返回到 while 引導的邏輯表達式處,繼續判斷;如果邏輯表達式為”邏輯假“,則跳出循環。
通常,邏輯表達式的值為一個標量,但數組也同樣有效。
示例講解!
例七:運用 while……end循環結構實現:從鍵盤輸入若干個數,當輸入數字為零時,結束輸入。求這些數字的平均值以及它們的和。
如果你熟悉C語言的語法知識,那么掌握這些就易如反掌!如果忘記了,可以通過互聯網來回顧!如果沒有學過C語言,那么就需要在MATLAB相關書籍中學習相關內容。繼續通過示例來了解這兩個語句的用法吧。
知識點!
語言比較!
學到這里請同學們再次回顧一下,C語言中如何使用if選擇語句和for循環語句的啊?有什么差別呢?大家覺得哪個語言用起來方便呢?這兩種語言各有各的應用場合。對于電子、通信類專業,以后在工作中都要用到。建議比較學習,有益于大家編程能力的提高!課后建議大家多編程練習,這樣考試的時候就穩如泰山了。
視頻課程來了!回顧加總結!
我會在本公眾號里面推出原創系列文章《MTALAB和信號與系統》、《MTALAB與濾波器》、《捕獲跟蹤算法的matlab》、仿真《MTALAB與鎖相環》、《MTALAB與位同步》、《MTALAB與誤碼率》、《MTALAB與衛星通信》、《MTALAB與衛星導航信號處理》。先推出《MTALAB與誤碼率》,畢竟我是通信工程專業的老師,優先照顧一下本專業的學子們。然后再推出《MTALAB與濾波器》,幫助電子類專業的學生。不過學這些課程之前,同學們必須先把MATLAB學好。萬丈高樓平地起。否則等到自己到了要用的時候再去學,就有點晚了。2019年,在仿真秀APP開講了!
傳播知識會不遺余力!2023年,在仿真秀網站上已有超過一千小時的課程!2023年的MATLAB講課視頻會在2024年上傳!教的時間越長,講課的質量會逐年提升!暑假期間,很多同學在準備考研,特地錄制了一個視頻,讓大家在復習的時候能夠將很多知識點串聯起來。
最后一起來回顧一下課堂上的講解內容吧!
未完,待續!
修訂記錄
20191128 完成初稿;
20220120 修訂內容;
20230801 修訂內容v2;
20231126修訂內容v3;
原文標題:MATLAB課程之第三章v3 M文件知識(3)
文章出處:【微信公眾號:通信工程師專輯】歡迎添加關注!文章轉載請注明出處。
-
通信網絡
+關注
關注
22文章
2076瀏覽量
52885
原文標題:MATLAB課程之第三章v3 M文件知識(3)
文章出處:【微信號:gh_30373fc74387,微信公眾號:通信工程師專輯】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
評論