matlab基礎(chǔ)-matlab程序設(shè)計_第1頁
matlab基礎(chǔ)-matlab程序設(shè)計_第2頁
matlab基礎(chǔ)-matlab程序設(shè)計_第3頁
matlab基礎(chǔ)-matlab程序設(shè)計_第4頁
matlab基礎(chǔ)-matlab程序設(shè)計_第5頁
已閱讀5頁,還剩42頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、第5講 MATLAB程序設(shè)計尚濤,電子信息工程學院Tel:010-823172221精選PPT本講目標 掌握MATLAB的幾種基本控制轉(zhuǎn)移語句學會使用M文件進行編程具備對復雜問題的編程求解能力2精選PPT主要內(nèi)容程序設(shè)計概述MATLAB程序結(jié)構(gòu)M文件調(diào)試3精選PPT.1 程序設(shè)計概述MATLAB是第四代編程語言程序簡潔可讀性很強調(diào)試容易編程效率高易移植和維護 通過編程可求解復雜性更高或特殊的計算問題第一代 機器語言 特征:面向機器。 第二代 匯編語言 特征:用指令符號代替二進制代碼 第三代 C、C+、pascal等 特征:面向過程 第四代 java,c#等 特征:面向?qū)ο?精選PPT與其他高級

2、語言相比具有語法相對簡單、使用方便、容易調(diào)試等優(yōu)點在編程工作方式下,要求具有數(shù)據(jù)結(jié)構(gòu)控制流輸入輸出面向?qū)ο?精選PPT編制一種擴展名為.m的MATLAB程序(簡稱M文件)編輯環(huán)境6精選PPT.2 MATLAB程序結(jié)構(gòu)按照程序設(shè)計的觀點, 任何算法功能都可以通過由程序模塊組成的三種基本流程控制結(jié)構(gòu)的組合來實現(xiàn): 順序結(jié)構(gòu):程序按程序語句或模塊在執(zhí)行流中的順序逐個執(zhí)行。 分支結(jié)構(gòu):程序按設(shè)定的條件實現(xiàn)程序執(zhí)行流的多路分支。 循環(huán)結(jié)構(gòu):程序按給定的條件重復地執(zhí)行指定的程序段或模塊。7精選PPT5.2.1順序結(jié)構(gòu)程序模塊1程序模塊2MATLAB中實現(xiàn)順序結(jié)構(gòu)的方法非常簡單:只需將程序語句順序排列即可

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)由兩種語句結(jié)構(gòu)實現(xiàn):if語句switch語句條件程序模塊1成立不成立程序模塊23.2.2 選擇結(jié)構(gòu)10精選PPTif語句if表達式 程序模塊1 else 程序模塊2end11精選PPTif語句的兩種變形(1) 單分支if語句:只有一個分支的選擇結(jié)構(gòu) if表達式 程序模塊end(2) 多分支if語句:超過2個的選擇if表達式1 程序模塊1 elseif 表達式2

4、 程序模塊2 elseif 表達式n 程序模塊n else 程序模塊n+1end12精選PPT例:將百分制的學生成績轉(zhuǎn)換為五級制的成績輸出clearn=input(輸入n= ); if n=90 r=Aelseif n=80 r=Belseif n=70 r=Celseif n=60 r=Delse r=Eend運行結(jié)果:輸入n= 87r =B13精選PPTswitch語句 switch 表達式 case 數(shù)值1 程序模塊1; case 數(shù)值2 程序模塊2;otherwise 程序模塊n end14精選PPT例:將百分制的學生成績轉(zhuǎn)換為五級制的成績輸出使用switch語句 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運行結(jié)果:輸入n= 65r =D15精選PPT5.2.3 循環(huán)結(jié)構(gòu)在MATLAB中,循環(huán)結(jié)構(gòu)可以由兩種語句結(jié)構(gòu)實現(xiàn):for語句循環(huán)結(jié)構(gòu)while語句循環(huán)結(jié)構(gòu)程序模塊不成立成立條件3.2.2 選擇結(jié)構(gòu)16精選PPTfor語句循環(huán)結(jié)構(gòu)for循環(huán)變量起始值:步長:終止值循環(huán)體end17精選PPT例:使用for結(jié)構(gòu)計算1+2+3+100clearsum=0;for i=1:100 sum=sum+i;end

6、sum運行結(jié)果:sum = 505018精選PPTwhile語句循環(huán)結(jié)構(gòu) while表達式 循環(huán)體end19精選PPT例:使用while結(jié)構(gòu)計算1+2+3+100clearsum=0; i=0;while i100i=i+1;sum=sum+i;endsum運行結(jié)果:sum = 505020精選PPT5.3 M文件M文件兩種形式命令文件(Script)命令和函數(shù)的結(jié)合文件運行不需要輸入?yún)?shù)和輸出參數(shù)按順序自動執(zhí)行命令函數(shù)文件(Function)用Function聲明可以包含輸入?yún)?shù)和輸出參數(shù)文件運行須給出輸入?yún)?shù)自動化模塊化21精選PPT5.3.1基本組成結(jié)構(gòu)說明定義變量 %包括全局變量的聲明

7、及參數(shù)值的設(shè)定逐行執(zhí)行命令 %指MATLAB提供的運算指令或工具箱提供的專用命令 /分支/循環(huán) %包含for,if then,switch,while等語句 逐行執(zhí)行命令 end %表示結(jié)束,可以沒有 22精選PPT5.3.2 M文件的編輯及工作路徑的設(shè)置進入MATLAB的Editor/Debugger窗口來編輯程序在編輯環(huán)境中,文字的不同顏色顯示表明不同屬性 綠色:注解; 黑色:程序主體; 紅色:屬性值的設(shè)定; 藍色:控制流程。在運行程序之前,必須設(shè)置好MATLAB的工作路徑。通過cd指令在命令窗口中可以更改、顯示當前工作路徑。通過路徑瀏覽器(path browser)可以進行設(shè)置23精選P

8、PT24精選PPT5.3.3命令文件又稱為腳本文件,是一串指令的集合。用戶只需鍵入該命令文件的文件名,系統(tǒng)就會自動逐行執(zhí)行該文件中的各條語句。適用于小規(guī)模運算。25精選PPT5.3.4函數(shù)文件函數(shù)文件基本格式:function 輸出形參列表=函數(shù)名(輸入形參列表) 注釋說明語句段 程序語句段end26精選PPT函數(shù)內(nèi)容:(1)第一行幫助行,即H1行 以(%)開頭,作為lookfor指令搜索的行(2)函數(shù)體說明及有關(guān)注解 以(%)開頭,用以說明函數(shù)的作用及有關(guān)內(nèi)容。如果不希望顯示某段信息,可在它的前面加空行(3)函數(shù)體語句 函數(shù)體內(nèi)使用的除返回和輸入變量這些在function語句中直接引用的變量

9、以外的所有變量都是局部變量,即在該函數(shù)返回之后,這些變量會自動在MATLAB的工作空間中清除掉。27精選PPT函數(shù)文件28精選PPT函數(shù)程序使用的變量 函數(shù)程序與主程序之間的數(shù)據(jù)是通過參數(shù)進行傳遞的,函數(shù)程序應用主程序傳遞來的參數(shù)進行計算后,將結(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è)定了兩個參數(shù)a和b來調(diào)用% 子程序sumhe.m(為一個函數(shù)文件),% 所以執(zhí)行主程序時,子程序就會調(diào)用

10、主程序傳遞過來的% a和b值進行計算,再將結(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局部變量和全局變量 如果一個函數(shù)內(nèi)的變量沒有特別聲明,那么這個變量只在函數(shù)內(nèi)部使用,即為局部變量。如果兩個或多個函數(shù)共用一個變量(或者說在函數(shù)程序中也要用到主程序中的變量,注意不是參數(shù)),那么可以用global來將它聲明為全局變量。 全局變量的使用可以減少參數(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 人機交互人機交互命令echo on(off) 執(zhí)行命令前先顯示其內(nèi)容pause(n) 程序執(zhí)行到此處,暫停n秒,或鍵入任意鍵后才繼續(xù)執(zhí)行keyboard 程序執(zhí)行到此處暫停,屏幕顯示K,用戶可以做任何操作,需恢復運行時,鍵入returninpu

12、t(提示符) 程序執(zhí)行到此處暫停,屏幕顯示引號中的字符串,要求用戶輸入數(shù)據(jù)C 強行停止程序運行33精選PPT5.6 M文件調(diào)試兩種類型的錯誤語法錯誤:由用戶的錯誤操作引起的運行錯誤:算法錯誤和程序設(shè)計錯誤引起的34精選PPT編輯器的編輯與調(diào)試35精選PPT36精選PPT37精選PPT擴展閱讀其他流程控制語句1. break語句2. continue語句3. return語句4. try語句5. echo命令6. input命令7. keyboard命令8. pause命令GUI程序設(shè)計(圖形用戶界面)MATLAB應用程序接口(API) 提供庫函數(shù)與C或FORTRAN語言混合編程38精選PPT其他章節(jié)Simulink系統(tǒng)建模仿真分析的軟件包線性和非線性系統(tǒng)連續(xù)和離散時間系統(tǒng)圖像、視頻、聲音的處理MATLAB的綜合應用電路電力系統(tǒng)信號與系統(tǒng)數(shù)字信號處理圖像處理39精選PPT 本節(jié)介紹了matlab程序設(shè)計基礎(chǔ)知識,通過學習應該掌握:M文件的編寫方法M文件的調(diào)試方法小 結(jié)40精選PPT上機指導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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論