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

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

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

MATLAB課程之第三章v3 M文件知識(3)

通信工程師專輯 ? 來源:未知 ? 2023-11-26 10:05 ? 次閱讀

上堂課講到了控制結(jié)構(gòu)!

程序控制結(jié)構(gòu)是指以某種順序執(zhí)行的一系列動作,用于解決某個(gè)問題。理論和實(shí)踐證明,無論多復(fù)雜的算法均可通過順序、選擇、循環(huán)這三種基本控制結(jié)構(gòu)構(gòu)造出來。每種結(jié)構(gòu)僅有一個(gè)入口和出口。由這3種基本結(jié)構(gòu)組成的多層嵌套程序稱為結(jié)構(gòu)化程序。百度百科解釋的很棒!相信大家在C語言里面已經(jīng)了解了這些知識,那就在MATLAB中再來一遍吧。再來學(xué)習(xí)另外一種開關(guān)結(jié)構(gòu)!

wKgaomViqPqAcp-KAAJUNL3qLz8746.png

switch 語句用的場合不如 if 語句多!

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

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

wKgaomViqPqAFvB_AAAJohSBdXM865.gif

什么是流程?

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

wKgaomViqPqAFvB_AAAJohSBdXM865.gif

做個(gè)例題吧。

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

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

wKgaomViqPqAF49XAAKParI2Q5E531.png

正確嗎?

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

先思考一下!

wKgaomViqPqAUGCSAAIUuef0d1E408.png

wKgaomViqPuAPnphAAH9izDniPs490.png

注意!

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

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

wKgaomViqPuAPGVMAAJkyf3QcKc620.png

什么是魔方矩陣?

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

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

wKgaomViqPuAMTIaAAFU8OhlQhc504.png

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

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

wKgaomViqPuAOnaeAAH-CO0XHZ0375.png

注意!

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

wKgaomViqPyASPvXAAFZUaqjEmc712.png

wKgaomViqPyAVJ7fAAC7kQ0B3cI772.png

wKgaomViqPyAUVvYAAJAA1nPaNA450.png

注意!

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

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

wKgaomViqPqAFvB_AAAJohSBdXM865.gif

示例講解!

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

wKgaomViqPyANmmqAAJxVH4nuKQ333.png

wKgaomViqPyACDpOAAHhWJ31eso172.png

wKgaomViqP2AGMVDAAEr8o8u1aM800.png

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

wKgaomViqP2AAR0nAAE88MaKIZY331.png

知識點(diǎn)!

wKgaomViqP2AHoUEAAF2K3nCbms365.png

wKgaomViqPqAFvB_AAAJohSBdXM865.gif

語言比較!

學(xué)到這里請同學(xué)們再次回顧一下,C語言中如何使用if選擇語句和for循環(huán)語句的啊?有什么差別呢?大家覺得哪個(gè)語言用起來方便呢?這兩種語言各有各的應(yīng)用場合。對于電子、通信類專業(yè),以后在工作中都要用到。建議比較學(xué)習(xí),有益于大家編程能力的提高!課后建議大家多編程練習(xí),這樣考試的時(shí)候就穩(wěn)如泰山了。

wKgaomViqPqAFvB_AAAJohSBdXM865.gif

視頻課程來了!回顧加總結(jié)!

我會在本公眾號里面推出原創(chuàng)系列文章《MTALAB和信號與系統(tǒng)》、《MTALAB與濾波器》、《捕獲跟蹤算法的matlab》、仿真《MTALAB與鎖相環(huán)》、《MTALAB與位同步》、《MTALAB與誤碼率》、《MTALAB與衛(wèi)星通信》、《MTALAB與衛(wèi)星導(dǎo)航信號處理》。先推出《MTALAB與誤碼率》,畢竟我是通信工程專業(yè)的老師,優(yōu)先照顧一下本專業(yè)的學(xué)子們。然后再推出《MTALAB與濾波器》,幫助電子類專業(yè)的學(xué)生。不過學(xué)這些課程之前,同學(xué)們必須先把MATLAB學(xué)好。萬丈高樓平地起。否則等到自己到了要用的時(shí)候再去學(xué),就有點(diǎn)晚了。2019年,在仿真秀APP開講了!

wKgaomViqP2ALQvmAAChCA_YtJQ657.jpg

wKgaomViqP2ATzv3AAE80VCVY2w458.png

傳播知識會不遺余力!2023年,在仿真秀網(wǎng)站上已有超過一千小時(shí)的課程!2023年的MATLAB講課視頻會在2024年上傳!教的時(shí)間越長,講課的質(zhì)量會逐年提升!暑假期間,很多同學(xué)在準(zhǔn)備考研,特地錄制了一個(gè)視頻,讓大家在復(fù)習(xí)的時(shí)候能夠?qū)⒑芏嘀R點(diǎn)串聯(lián)起來。

最后一起來回顧一下課堂上的講解內(nèi)容吧!

未完,待續(xù)!

wKgaomViqP6ASVFLAAAgWrkkT7Y601.gif

修訂記錄

20191128 完成初稿;

20220120 修訂內(nèi)容;

20230801 修訂內(nèi)容v2;

20231126修訂內(nèi)容v3;


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

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


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

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

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

收藏 人收藏

    評論

    相關(guān)推薦

    迅為電子RK3588S開發(fā)板第三章Buildroot系統(tǒng)功能測試

    迅為電子RK3588S開發(fā)板第三章Buildroot系統(tǒng)功能測試
    的頭像 發(fā)表于 09-02 14:45 ?422次閱讀
    迅為電子RK3588S開發(fā)板<b class='flag-5'>第三章</b>Buildroot系統(tǒng)功能測試

    MATLAB課程之第五v3 文件操作(3)

    繼續(xù)講解! 視頻文件一般都很大! 處理起來很耗內(nèi)存! 大家用過剪影這個(gè)軟件 嗎? 這種 軟件必然 包含了大量的視頻文件函數(shù) !那我們就先在MATLAB中去感受類似函數(shù)的作用吧。 讀取文件
    的頭像 發(fā)表于 12-10 08:20 ?354次閱讀
    <b class='flag-5'>MATLAB</b><b class='flag-5'>課程之</b>第五<b class='flag-5'>章</b><b class='flag-5'>v3</b> <b class='flag-5'>文件</b>操作(<b class='flag-5'>3</b>)

    MATLAB課程之第五v3 文件操作(2)

    后,真的希望在醫(yī)學(xué)方面能有所貢獻(xiàn)!所以,現(xiàn)在就積累!擴(kuò)展一下知識面吧! MATLAB的圖像處理工具箱(image processing toolbox)自帶了讀取醫(yī)學(xué)圖像DICOM文件的函數(shù)dicomread、dicominfo
    的頭像 發(fā)表于 12-08 12:25 ?353次閱讀

    MATLAB課程之第五v3 文件操作(1)

    本章知識點(diǎn)非常實(shí)用,所以內(nèi)容較多,這也是從理論走向?qū)嵺`的必經(jīng)之路。離開了數(shù)據(jù),你怎么進(jìn)行實(shí)踐操作?在計(jì)算機(jī)中,數(shù)據(jù)的形式就是文件! 五個(gè)部分! 每個(gè)部分都涉及一種常用的文件! 先來看常用的音頻
    的頭像 發(fā)表于 12-07 10:45 ?378次閱讀

    MATLAB課程之第四v3 程序設(shè)計(jì)(4)

    繼續(xù)講解!在大二學(xué)習(xí)MATLAB的時(shí)候,可以將學(xué)過的數(shù)學(xué)知識用軟件編程方式呈現(xiàn)。這既是一個(gè)知識鞏固過程,也是一個(gè)軟件熟悉過程!一舉兩得!來看看軟件和線性代數(shù)及概率統(tǒng)計(jì)的結(jié)合過程。 rank函數(shù)會用
    的頭像 發(fā)表于 12-05 08:10 ?311次閱讀
    <b class='flag-5'>MATLAB</b><b class='flag-5'>課程之</b>第四<b class='flag-5'>章</b><b class='flag-5'>v3</b> 程序設(shè)計(jì)(4)

    MATLAB課程之第四v3 程序設(shè)計(jì)(1)

    開始講解第四的內(nèi)容。2023年8月,第二版文章和大家見面了,增加了很多內(nèi)容,還有視頻指導(dǎo)。 本章開始開始教同學(xué)們?nèi)绾尉帉憦?fù)雜程序了。本課程總共有多少啊?回答:七。 第四
    的頭像 發(fā)表于 11-29 08:10 ?359次閱讀

    MATLAB課程之第三章v3 M文件知識(5)

    函數(shù)的有關(guān)知識。下面的內(nèi)容也可以讓大家了解一下行業(yè)的應(yīng)用,之前講過MATLAB可以在哪些行業(yè)使用,通過這些函數(shù)的了解也能讓大家體會到MATLAB在行業(yè)中會起到的作用。我本人已經(jīng)在生物信號處理和智能家居、數(shù)據(jù)統(tǒng)計(jì)方面做出了很多實(shí)際
    的頭像 發(fā)表于 11-28 08:10 ?312次閱讀

    MATLAB課程之第三章v3 M文件知識(2)

    ,都沒有在自己的電腦上裝上MATLAB軟件。為什么會這樣?非得要老師逼迫你才學(xué)?暈倒!?。?這就是我的親生教學(xué)經(jīng)歷,好在這些經(jīng)歷已經(jīng)過去了好幾年,不再彷徨了。 現(xiàn)在情況如何呢?教學(xué)C語言的時(shí)候也遇到了類似情況,感覺學(xué)生在為
    的頭像 發(fā)表于 11-25 07:10 ?357次閱讀
    <b class='flag-5'>MATLAB</b><b class='flag-5'>課程之</b><b class='flag-5'>第三章</b><b class='flag-5'>v3</b> <b class='flag-5'>M</b><b class='flag-5'>文件</b><b class='flag-5'>知識</b>(2)

    MATLAB課程之第二v3 MATLAB繪圖功能(3)

    知曉, 就應(yīng)該加上一些必要的注釋!xlabel等函數(shù)就能做到這些作用!怎么用?很簡單!一句話的事情!關(guān)鍵是多用!熟能生巧! 致謝! 講到這里,要感謝一位東南大學(xué)的網(wǎng)友! 他現(xiàn)在是研一在讀研究生!跟著我在學(xué)MATLAB基礎(chǔ)課程和數(shù)字
    的頭像 發(fā)表于 11-16 16:35 ?372次閱讀
    <b class='flag-5'>MATLAB</b><b class='flag-5'>課程之</b>第二<b class='flag-5'>章</b><b class='flag-5'>v3</b> <b class='flag-5'>MATLAB</b>繪圖功能(<b class='flag-5'>3</b>)

    MATLAB課程之第二v3 MATLAB繪圖功能(1)

    內(nèi)容是高中數(shù)學(xué)所涉及的知識,希望同學(xué)們能在matlab中熟練使用。考試中會涉及這些知識點(diǎn)哦,還不記住用法嗎?之前在課堂上演示了畫圖的基本函數(shù)plot,現(xiàn)在我們就一起來學(xué)習(xí)第二
    的頭像 發(fā)表于 11-12 16:00 ?410次閱讀
    <b class='flag-5'>MATLAB</b><b class='flag-5'>課程之</b>第二<b class='flag-5'>章</b><b class='flag-5'>v3</b> <b class='flag-5'>MATLAB</b>繪圖功能(1)

    MATLAB課程之第一v3 MATLAB基礎(chǔ)知識(5)

    !為什么會用這個(gè)例題來作為講解案例呢?因?yàn)樗鼤婕暗轿覀儗I(yè)未來的專業(yè)課程,也結(jié)合考慮到大家現(xiàn)有知識的儲備情況,學(xué)過物理和數(shù)學(xué)就能理解。同時(shí)借助例題展現(xiàn)了一下MATLAB語言和C語言之間的畫圖差異。所以這個(gè)例題在這里展示是恰
    的頭像 發(fā)表于 10-17 15:50 ?351次閱讀
    <b class='flag-5'>MATLAB</b><b class='flag-5'>課程之</b>第一<b class='flag-5'>章</b><b class='flag-5'>v3</b> <b class='flag-5'>MATLAB</b>基礎(chǔ)<b class='flag-5'>知識</b>(5)

    MATLAB課程之第一v3 MATLAB基礎(chǔ)知識(4)

    繼續(xù)給出課程的PPT,幫助同學(xué)們消化!也幫助同學(xué)們復(fù)習(xí)! 為什么第一要分四次課來講呢?大一的學(xué)生剛開始接觸編程的時(shí)候,我需要耐心培養(yǎng)他們編程的好習(xí)慣。知識點(diǎn)需要很細(xì)致的講,自然也就需要慢慢講解
    的頭像 發(fā)表于 10-16 20:15 ?390次閱讀

    MATLAB課程之第一v3 MATLAB基礎(chǔ)知識(3)

    上堂課講了本門課程的教學(xué)方法就是多多實(shí)踐!確保每個(gè)同學(xué)在課堂上都敲一遍程序,而不是看程序??词菍W(xué)不好編程的!請同學(xué)們再次回顧自己在課堂上編寫的程序!既然寫了,那就最好能記住。 在課堂上,我是一個(gè)字
    的頭像 發(fā)表于 10-15 15:55 ?346次閱讀

    MATLAB課程之第一v3 MATLAB基礎(chǔ)知識(1)

    2018年,本人在學(xué)院里第一次開始講本門課程。做為工科的本科生,如果不能學(xué)好一門編程語言,以后無論是到工作崗位還是繼續(xù)讀研深造,那么都將面臨很多囧境! MATLAB的出現(xiàn)是很多工科人的福音,太有幫助
    的頭像 發(fā)表于 10-11 16:10 ?318次閱讀
    <b class='flag-5'>MATLAB</b><b class='flag-5'>課程之</b>第一<b class='flag-5'>章</b><b class='flag-5'>v3</b> <b class='flag-5'>MATLAB</b>基礎(chǔ)<b class='flag-5'>知識</b>(1)

    MATLAB課程之緒論v3(2)

    。最和課程相關(guān)的是計(jì)算機(jī)編程語言的發(fā)展過程,也就是計(jì)算機(jī)語言的歷史!匯編語言的使用讓人感到編程的痛苦。后來“高級語言”出現(xiàn)了,C語言就是“高級語言”中的典型代表,當(dāng)然還有其他的比如FORTRAN、C++、JAVA、R、MATLAB、Python等等。
    的頭像 發(fā)表于 10-10 16:00 ?424次閱讀
    <b class='flag-5'>MATLAB</b><b class='flag-5'>課程之</b>緒論<b class='flag-5'>v3</b>(2)