![matlab基礎(chǔ)-matlab程序設(shè)計(jì)_第1頁(yè)](http://file4.renrendoc.com/view/464c6ce44c938da7191863f2d4a5abb3/464c6ce44c938da7191863f2d4a5abb31.gif)
![matlab基礎(chǔ)-matlab程序設(shè)計(jì)_第2頁(yè)](http://file4.renrendoc.com/view/464c6ce44c938da7191863f2d4a5abb3/464c6ce44c938da7191863f2d4a5abb32.gif)
![matlab基礎(chǔ)-matlab程序設(shè)計(jì)_第3頁(yè)](http://file4.renrendoc.com/view/464c6ce44c938da7191863f2d4a5abb3/464c6ce44c938da7191863f2d4a5abb33.gif)
![matlab基礎(chǔ)-matlab程序設(shè)計(jì)_第4頁(yè)](http://file4.renrendoc.com/view/464c6ce44c938da7191863f2d4a5abb3/464c6ce44c938da7191863f2d4a5abb34.gif)
![matlab基礎(chǔ)-matlab程序設(shè)計(jì)_第5頁(yè)](http://file4.renrendoc.com/view/464c6ce44c938da7191863f2d4a5abb3/464c6ce44c938da7191863f2d4a5abb35.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第5講 MATLAB程序設(shè)計(jì)尚濤,電子信息工程學(xué)院Tel:010-823172221精選PPT本講目標(biāo) 掌握MATLAB的幾種基本控制轉(zhuǎn)移語(yǔ)句學(xué)會(huì)使用M文件進(jìn)行編程具備對(duì)復(fù)雜問(wèn)題的編程求解能力2精選PPT主要內(nèi)容程序設(shè)計(jì)概述MATLAB程序結(jié)構(gòu)M文件調(diào)試3精選PPT.1 程序設(shè)計(jì)概述MATLAB是第四代編程語(yǔ)言程序簡(jiǎn)潔可讀性很強(qiáng)調(diào)試容易編程效率高易移植和維護(hù) 通過(guò)編程可求解復(fù)雜性更高或特殊的計(jì)算問(wèn)題第一代 機(jī)器語(yǔ)言 特征:面向機(jī)器。 第二代 匯編語(yǔ)言 特征:用指令符號(hào)代替二進(jìn)制代碼 第三代 C、C+、pascal等 特征:面向過(guò)程 第四代 java,c#等 特征:面向?qū)ο?精選PPT與其他高級(jí)
2、語(yǔ)言相比具有語(yǔ)法相對(duì)簡(jiǎn)單、使用方便、容易調(diào)試等優(yōu)點(diǎn)在編程工作方式下,要求具有數(shù)據(jù)結(jié)構(gòu)控制流輸入輸出面向?qū)ο?精選PPT編制一種擴(kuò)展名為.m的MATLAB程序(簡(jiǎn)稱M文件)編輯環(huán)境6精選PPT.2 MATLAB程序結(jié)構(gòu)按照程序設(shè)計(jì)的觀點(diǎn), 任何算法功能都可以通過(guò)由程序模塊組成的三種基本流程控制結(jié)構(gòu)的組合來(lái)實(shí)現(xiàn): 順序結(jié)構(gòu):程序按程序語(yǔ)句或模塊在執(zhí)行流中的順序逐個(gè)執(zhí)行。 分支結(jié)構(gòu):程序按設(shè)定的條件實(shí)現(xiàn)程序執(zhí)行流的多路分支。 循環(huán)結(jié)構(gòu):程序按給定的條件重復(fù)地執(zhí)行指定的程序段或模塊。7精選PPT5.2.1順序結(jié)構(gòu)程序模塊1程序模塊2MATLAB中實(shí)現(xiàn)順序結(jié)構(gòu)的方法非常簡(jiǎn)單:只需將程序語(yǔ)句順序排列即可
3、8精選PPTexample.m文件theta=-pi:0.01:pi;rho(1,:)=2*sin(5*theta).2;polar(theta,rho(1,:)執(zhí)行example9精選PPT5.2.2 分支結(jié)構(gòu)在MATLAB中,選擇結(jié)構(gòu)由兩種語(yǔ)句結(jié)構(gòu)實(shí)現(xiàn):if語(yǔ)句switch語(yǔ)句條件程序模塊1成立不成立程序模塊23.2.2 選擇結(jié)構(gòu)10精選PPTif語(yǔ)句if表達(dá)式 程序模塊1 else 程序模塊2end11精選PPTif語(yǔ)句的兩種變形(1) 單分支if語(yǔ)句:只有一個(gè)分支的選擇結(jié)構(gòu) if表達(dá)式 程序模塊end(2) 多分支if語(yǔ)句:超過(guò)2個(gè)的選擇if表達(dá)式1 程序模塊1 elseif 表達(dá)式2
4、 程序模塊2 elseif 表達(dá)式n 程序模塊n else 程序模塊n+1end12精選PPT例:將百分制的學(xué)生成績(jī)轉(zhuǎn)換為五級(jí)制的成績(jī)輸出clearn=input(輸入n= ); if n=90 r=Aelseif n=80 r=Belseif n=70 r=Celseif n=60 r=Delse r=Eend運(yùn)行結(jié)果:輸入n= 87r =B13精選PPTswitch語(yǔ)句 switch 表達(dá)式 case 數(shù)值1 程序模塊1; case 數(shù)值2 程序模塊2;otherwise 程序模塊n end14精選PPT例:將百分制的學(xué)生成績(jī)轉(zhuǎn)換為五級(jí)制的成績(jī)輸出使用switch語(yǔ)句 clearn=inp
5、ut(輸入n= ); switch fix(n/10) %fix 取整 case 10,9 r=A case 8 r=B case 7 r=C case 6 r=D otherwise r=Eend運(yùn)行結(jié)果:輸入n= 65r =D15精選PPT5.2.3 循環(huán)結(jié)構(gòu)在MATLAB中,循環(huán)結(jié)構(gòu)可以由兩種語(yǔ)句結(jié)構(gòu)實(shí)現(xiàn):for語(yǔ)句循環(huán)結(jié)構(gòu)while語(yǔ)句循環(huán)結(jié)構(gòu)程序模塊不成立成立條件3.2.2 選擇結(jié)構(gòu)16精選PPTfor語(yǔ)句循環(huán)結(jié)構(gòu)for循環(huán)變量起始值:步長(zhǎng):終止值循環(huán)體end17精選PPT例:使用for結(jié)構(gòu)計(jì)算1+2+3+100clearsum=0;for i=1:100 sum=sum+i;end
6、sum運(yùn)行結(jié)果:sum = 505018精選PPTwhile語(yǔ)句循環(huán)結(jié)構(gòu) while表達(dá)式 循環(huán)體end19精選PPT例:使用while結(jié)構(gòu)計(jì)算1+2+3+100clearsum=0; i=0;while i100i=i+1;sum=sum+i;endsum運(yùn)行結(jié)果:sum = 505020精選PPT5.3 M文件M文件兩種形式命令文件(Script)命令和函數(shù)的結(jié)合文件運(yùn)行不需要輸入?yún)?shù)和輸出參數(shù)按順序自動(dòng)執(zhí)行命令函數(shù)文件(Function)用Function聲明可以包含輸入?yún)?shù)和輸出參數(shù)文件運(yùn)行須給出輸入?yún)?shù)自動(dòng)化模塊化21精選PPT5.3.1基本組成結(jié)構(gòu)說(shuō)明定義變量 %包括全局變量的聲明
7、及參數(shù)值的設(shè)定逐行執(zhí)行命令 %指MATLAB提供的運(yùn)算指令或工具箱提供的專用命令 /分支/循環(huán) %包含for,if then,switch,while等語(yǔ)句 逐行執(zhí)行命令 end %表示結(jié)束,可以沒(méi)有 22精選PPT5.3.2 M文件的編輯及工作路徑的設(shè)置進(jìn)入MATLAB的Editor/Debugger窗口來(lái)編輯程序在編輯環(huán)境中,文字的不同顏色顯示表明不同屬性 綠色:注解; 黑色:程序主體; 紅色:屬性值的設(shè)定; 藍(lán)色:控制流程。在運(yùn)行程序之前,必須設(shè)置好MATLAB的工作路徑。通過(guò)cd指令在命令窗口中可以更改、顯示當(dāng)前工作路徑。通過(guò)路徑瀏覽器(path browser)可以進(jìn)行設(shè)置23精選P
8、PT24精選PPT5.3.3命令文件又稱為腳本文件,是一串指令的集合。用戶只需鍵入該命令文件的文件名,系統(tǒng)就會(huì)自動(dòng)逐行執(zhí)行該文件中的各條語(yǔ)句。適用于小規(guī)模運(yùn)算。25精選PPT5.3.4函數(shù)文件函數(shù)文件基本格式:function 輸出形參列表=函數(shù)名(輸入形參列表) 注釋說(shuō)明語(yǔ)句段 程序語(yǔ)句段end26精選PPT函數(shù)內(nèi)容:(1)第一行幫助行,即H1行 以(%)開(kāi)頭,作為lookfor指令搜索的行(2)函數(shù)體說(shuō)明及有關(guān)注解 以(%)開(kāi)頭,用以說(shuō)明函數(shù)的作用及有關(guān)內(nèi)容。如果不希望顯示某段信息,可在它的前面加空行(3)函數(shù)體語(yǔ)句 函數(shù)體內(nèi)使用的除返回和輸入變量這些在function語(yǔ)句中直接引用的變量
9、以外的所有變量都是局部變量,即在該函數(shù)返回之后,這些變量會(huì)自動(dòng)在MATLAB的工作空間中清除掉。27精選PPT函數(shù)文件28精選PPT函數(shù)程序使用的變量 函數(shù)程序與主程序之間的數(shù)據(jù)是通過(guò)參數(shù)進(jìn)行傳遞的,函數(shù)程序應(yīng)用主程序傳遞來(lái)的參數(shù)進(jìn)行計(jì)算后,將結(jié)果返回主程序。29精選PPT%主程序exp2_9.ma=input(please input value of a=);b=input(please input value of b=);c=sumhe(a,b)% 在此例中,主程序exp2_9.m設(shè)定了兩個(gè)參數(shù)a和b來(lái)調(diào)用% 子程序sumhe.m(為一個(gè)函數(shù)文件),% 所以執(zhí)行主程序時(shí),子程序就會(huì)調(diào)用
10、主程序傳遞過(guò)來(lái)的% a和b值進(jìn)行計(jì)算,再將結(jié)果返回主程序。%子程序sumhe.m%sumhe(a,b) sum the serial of numbers from a tob function result=sumhe(a,b)result=a+b;end30精選PPT5.4局部變量和全局變量 如果一個(gè)函數(shù)內(nèi)的變量沒(méi)有特別聲明,那么這個(gè)變量只在函數(shù)內(nèi)部使用,即為局部變量。如果兩個(gè)或多個(gè)函數(shù)共用一個(gè)變量(或者說(shuō)在函數(shù)程序中也要用到主程序中的變量,注意不是參數(shù)),那么可以用global來(lái)將它聲明為全局變量。 全局變量的使用可以減少參數(shù)傳遞,合理利用全局變量可以提高程序執(zhí)行的效率。31精選PPT%
11、主程序exp2_10.mglobal a %聲明變量a為全局變量x=1:100;a=3;c=prods(x) %調(diào)用子程序prods.m%子程序prods.mfunction result=prods(x)global a result=a*sum(x);%聲明了與主程序一樣的全局變量a,以便在子程序中可以%使用主程序中定義的變量32精選PPT5. 5 人機(jī)交互人機(jī)交互命令echo on(off) 執(zhí)行命令前先顯示其內(nèi)容pause(n) 程序執(zhí)行到此處,暫停n秒,或鍵入任意鍵后才繼續(xù)執(zhí)行keyboard 程序執(zhí)行到此處暫停,屏幕顯示K,用戶可以做任何操作,需恢復(fù)運(yùn)行時(shí),鍵入returninpu
12、t(提示符) 程序執(zhí)行到此處暫停,屏幕顯示引號(hào)中的字符串,要求用戶輸入數(shù)據(jù)C 強(qiáng)行停止程序運(yùn)行33精選PPT5.6 M文件調(diào)試兩種類型的錯(cuò)誤語(yǔ)法錯(cuò)誤:由用戶的錯(cuò)誤操作引起的運(yùn)行錯(cuò)誤:算法錯(cuò)誤和程序設(shè)計(jì)錯(cuò)誤引起的34精選PPT編輯器的編輯與調(diào)試35精選PPT36精選PPT37精選PPT擴(kuò)展閱讀其他流程控制語(yǔ)句1. break語(yǔ)句2. continue語(yǔ)句3. return語(yǔ)句4. try語(yǔ)句5. echo命令6. input命令7. keyboard命令8. pause命令GUI程序設(shè)計(jì)(圖形用戶界面)MATLAB應(yīng)用程序接口(API) 提供庫(kù)函數(shù)與C或FORTRAN語(yǔ)言混合編程38精選PPT其他章節(jié)Simulink系統(tǒng)建模仿真分析的軟件包線性和非線性系統(tǒng)連續(xù)和離散時(shí)間系統(tǒng)圖像、視頻、聲音的處理MATLAB的綜合應(yīng)用電路電力系統(tǒng)信號(hào)與系統(tǒng)數(shù)字信號(hào)處理圖像處理39精選PPT 本節(jié)介紹了matlab程序設(shè)計(jì)基礎(chǔ)知識(shí),通過(guò)學(xué)習(xí)應(yīng)該掌握:M文件的編寫(xiě)方法M文件的調(diào)試方法小 結(jié)40精選PPT上機(jī)指導(dǎo)M文件的調(diào)試41精選PPTTask(1)使用M文件編輯函數(shù)文件。42精選PPTTask(2)求1!+2!+3!+ +5!的值clearsum=0;for i=1:5 pdr=1; for k=1:i pdr=pdr*k; end sum=sum+pdr;en
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030全球離網(wǎng)房車行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025-2030全球高脈沖能量皮秒激光器行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 月齡嬰兒情緒情感與社會(huì)性親子活動(dòng)設(shè)計(jì)創(chuàng)造性撫觸游戲講解
- 2025【合同范本】建筑工程設(shè)計(jì)協(xié)議書(shū)
- 蔬菜配送合作合同范本
- 分期付款合同模板集錦
- 會(huì)簽單合同模板
- 全新對(duì)講機(jī)服務(wù)合同下載
- 勞務(wù)出資合伙協(xié)議合同
- 個(gè)人租車租賃合同范本
- 區(qū)域經(jīng)理年終工作總結(jié)匯報(bào)
- 2019版新人教版高中英語(yǔ)必修+選擇性必修共7冊(cè)詞匯表匯總(帶音標(biāo))
- 初中八年級(jí)音樂(lè)-勞動(dòng)號(hào)子《軍民大生產(chǎn)》
- 中層領(lǐng)導(dǎo)的高績(jī)效管理
- 小小銀行家-兒童銀行知識(shí)、理財(cái)知識(shí)培訓(xùn)
- 機(jī)械基礎(chǔ)知識(shí)競(jìng)賽題庫(kù)附答案(100題)
- 閱讀理解特訓(xùn)卷-英語(yǔ)四年級(jí)上冊(cè)譯林版三起含答案
- 國(guó)庫(kù)集中支付培訓(xùn)班資料-國(guó)庫(kù)集中支付制度及業(yè)務(wù)操作教學(xué)課件
- 屋面及防水工程施工(第二版)PPT完整全套教學(xué)課件
- 2023年上海青浦區(qū)區(qū)管企業(yè)統(tǒng)一招考聘用筆試題庫(kù)含答案解析
- 2023年高一物理期末考試卷(人教版)
評(píng)論
0/150
提交評(píng)論