MATLAB基礎及應用(第4版)2_第1頁
MATLAB基礎及應用(第4版)2_第2頁
MATLAB基礎及應用(第4版)2_第3頁
MATLAB基礎及應用(第4版)2_第4頁
MATLAB基礎及應用(第4版)2_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第四章 計算機網(wǎng)絡MATLAB基礎及應用(第4版)主編:于潤偉第2章 MATLAB程序設計第2章 MATLAB程序設計本章要點本章要點 M文件的建立與調(diào)試方法 M文件的程序流程語句 函數(shù)文件的建立與調(diào)用 應用程序設計第2章 MATLAB程序設計2.1 M文件一、M文件的建立 M文件是由命令或函數(shù)構成的文本文件,可以用任何文本編輯程序來建立和編輯,一般常用且最為方便的是使用MATLAB提供的文本編輯器。M文件有命令文件(也稱主程序文件)和函數(shù)文件兩種,命令文件可包含多個函數(shù)文件。 1打開文本編輯器打開文本編輯器 (1)命令按鈕操作:單擊操作桌面工具欄上的“New Script”按鈕或“New”“

2、Script”選項。 (2)命令操作:在命令窗口輸入命令edit,單擊Enter鍵。 (3)快捷鍵操作:單擊按鍵Ctrl+N。第2章 MATLAB程序設計2建立新的建立新的M文件文件在文本編輯器的文檔窗口輸入文件內(nèi)容,輸入完畢后,可以直接運行該文件,也可以先保存文件。單擊快捷鍵Ctrl+S或單擊工具欄的“Save”“Save”(或“Save As”)按鈕,彈出“Select File for Save As”對話框,默認的存盤名稱是Untitled。注意,M文件存放位置一般是MATLAB缺省的用戶工作目錄,當然也可以選擇別的存放目錄。3運行運行M文件文件輸入文件內(nèi)容并檢查后,單擊F5或工具欄中

3、的“Run”按鈕,在出現(xiàn)的“Select File for Save As”對話框中,輸入文件名myfile.m(以上例為例),單擊“保存”。如果改變存盤目錄,會彈出“Matlab Editor”對話框,單擊“Change Folder”按鈕即可。第2章 MATLAB程序設計n在文本編輯器的文檔窗口輸入文件內(nèi)容,輸入完畢后,可以直接運行該文件,也可以先保存文件。n單擊快捷鍵Ctrl+S或單擊工具欄的“Save”“Save”(或“Save As”)按鈕,彈出“Select File for Save As”對話框,默認的存盤名稱是Untitled。n注意,M文件存放位置一般是MATLAB缺省的用

4、戶工作目錄,當然也可以選擇別的存放目錄。第2章 MATLAB程序設計4打開已有的打開已有的M文件文件打開已有的M文件,也有三種方法:1)菜單操作:單擊操作桌面或文本編輯器的File Open選項,則打開Open或Open File窗口,再選擇要打開的文件;2)命令操作:在命令窗口輸入命令edit ,回車后則打開指定的M文件。如果文件不在當前路徑下,還需在文件名前加上路徑。例如打開上例的文件,可在命令窗口的提示符后輸入edit myfile.m;3)命令按鈕操作:單擊操作桌面工具欄上的打開文件按鈕 ,則打開Open或Open File窗口,再選擇要打開的文件。第2章 MATLAB程序設計二、M文

5、件的調(diào)試 1直接調(diào)試法直接調(diào)試法1)如果在錯誤信息中指出了出錯的行號,可先根據(jù)錯誤信息檢查該語句是否存在語法錯誤或運行中變量尺寸不一致等情況。2)檢查所調(diào)用函數(shù)或命令的拼寫是否正確,括號(包括方括號和圓括號)是否配對,各種流程控制語句是否匹配(如for與end、while與end、switch與end等)。3)檢查所調(diào)用的函數(shù)或載入的數(shù)據(jù)文件是否在當前目錄或搜索路徑上。4)將重點懷疑的命令行后的分號刪除,使得計算結(jié)果能夠?qū)崟r地顯示在屏幕上,作為查錯的依據(jù),根據(jù)顯示的結(jié)果判斷問題的所在。5)如果懷疑某個函數(shù)文件有問題,可以在該函數(shù)文件的函數(shù)定義行前加“%”,使其函數(shù)體成為命令文件(因為命令文件中

6、的變量存儲在工作空間中,可以在工作空間窗口和數(shù)組編輯器觀察修改),再給函數(shù)的參數(shù)賦值,調(diào)好后再改回函數(shù)文件。 第2章 MATLAB程序設計2文本編輯器的調(diào)試功能(1)設置斷點 設置斷點是高級語言中程序調(diào)試的重要手段之一,斷點是在程序特定位置設置的中斷點,當程序運行至斷點處時會暫停運行,此時可通過檢查相關變量的內(nèi)容等方法確定程序的運行是否正確。圖中的紅色菱形點即為設置的斷點。第2章 MATLAB程序設計(2)Debug菜單1)Step:單步執(zhí)行。每單擊一次,程序運行一次,但不進入函數(shù)。2)Step in:單步運行。遇到函數(shù)時進入函數(shù)內(nèi),仍單步運行。3)Step out:停止單步運行。如果是在函數(shù)

7、中,跳出函數(shù);如果不在函數(shù)中,直接運行到下一個斷點處。4)Save and Run:存儲文件并從第1行開始執(zhí)行程序,當遇到第1個斷點時暫停運行,并變?yōu)镃ontinue;單擊F5或【Continue】則繼續(xù)運行。5)Go Until Cursor:從當前位置運行到光標所在的位置。第2章 MATLAB程序設計2.2 程序流程語句一、一、if語句語句 1單分支單分支if語句語句 最簡單的選擇結(jié)構語句,其基本格式為: if 表達式 語句組 end 說明:表達式多為關系或邏輯表達式。如果表達式為真(非零),就執(zhí)行if和end之間的語句組,然后再執(zhí)行end之后的語句;如果表達式為假(零),就直接執(zhí)行end

8、之后的語句。 第2章 MATLAB程序設計2雙分支雙分支if語句語句 前面提供的單分支if語句只能處理較簡單的條件,功能不全面。為此MATLAB還提供了雙分支if語句結(jié)構。其基本格式為:if 表達式語句組else語句組end 說明:如果表達式為真(非零),則執(zhí)行語句組1,再執(zhí)行end后面的語句;如果表達式假(為零),則先執(zhí)行語句組2,再執(zhí)行end后面的語句。 第2章 MATLAB程序設計 當有三個或更多的選擇時,可采用if語句的嵌套,也可以采用多分支if語句。其基本格式為: if 表達式 語句組 elseif 表達式 語句組 elseif 表達式n 語句組n else 語句組n+1 end3多

9、分支多分支if語句語句第2章 MATLAB程序設計n說明:先判斷表達式1的值,若為真,則執(zhí)行語句組1,執(zhí)行完語句組1后,跳出該選擇結(jié)構,繼續(xù)執(zhí)行end 后的語句;n當表達式1的值為假時,跳過語句組1,進而判斷表達式2,若為真,則執(zhí)行語句組2,然后繼續(xù)執(zhí)行end 后的語句;n如果表達式2的值也為假,則跳過語句組2,繼續(xù)判斷表達式3,如此下去,n若所有表達式都為假 ,則執(zhí)行else后的語句組n+1,再執(zhí)行end 后的語句。else語句可以缺省。第2章 MATLAB程序設計二、 switch語句 switch語句是多分支選擇語句。if語句只有兩個分支可供選擇,如果分支較多,則嵌套的if語句層數(shù)多,程

10、序冗長而且可讀性降低。switch語句的基本格式為: switch 表達式case 數(shù)組語句組case數(shù)組2語句組 case 數(shù)組n 語句組n otherwise 語句組n+1 end第2章 MATLAB程序設計n說明:先計算表達式的值,再按順序與case語句后面的數(shù)組值進行比較,如果相等則執(zhí)行該組語句,然后執(zhí)行end后的語句,不再繼續(xù)比較。n當表達式的值不等于任何一個case語句后面的數(shù)組值時,程序?qū)?zhí)行otherwise語句后的語句組,再執(zhí)行 end后的語句。n注意:這種情況下缺省otherwise語句,程序會提示出錯。第2章 MATLAB程序設計三、while語句 while語句是條件循

11、環(huán)語句,在條件(多為關系表達式)控制下重復執(zhí)行,直到條件不成立為止。while循環(huán)的一般形式是:while 表達式 語句體end 說明:先計算表達式的值,如果非零,語句體就執(zhí)行一次;執(zhí)行完畢再次計算表達式的值,如果仍然非零,語句體就再執(zhí)行一次;如此循環(huán),直到表達式的值為零。如果表達式的值總是非零,該循環(huán)將無休止地進行(即死循環(huán)),程序設計時一定要避免。第2章 MATLAB程序設計四、for語句 for語句為計數(shù)循環(huán)語句,在許多情況下,循環(huán)條件是有規(guī)律變化的,通常把循環(huán)條件初值、終值和變化步長放在循環(huán)語句的開頭,這種形式就是for語句的循環(huán)結(jié)構。for循環(huán)的一般形式是:for 循環(huán)變量名=表達式

12、1:表達式2:表達式3 語句體end 說明:其中表達式1的值是循環(huán)變量的初值,表達式2的值是循環(huán)步長,表達式3的值是循環(huán)變量的終值。初值、步長和終值可以取整數(shù)、小數(shù)、正數(shù)和負數(shù),步長可以缺省,缺省值為1。第2章 MATLAB程序設計2.2.5 循環(huán)的嵌套n如果一個循環(huán)結(jié)構的循環(huán)體又包括一個循環(huán)結(jié)構就稱為循環(huán)的嵌套,或稱為多重循環(huán)。n任一種循環(huán)語句的循環(huán)體部分都可以包含另一個循環(huán)語句,多重循環(huán)嵌套的層數(shù)可以是任意的。n習慣上按照嵌套層數(shù),分別叫做二重循環(huán)、三重循環(huán)等。n處于內(nèi)部的循環(huán)叫做內(nèi)循環(huán),處于外部的循環(huán)叫做外循環(huán)。n在設計多重循環(huán)時,要特別注意內(nèi)、外循環(huán)之間的關系,以及語句放置次序,不要搞

13、錯。第2章 MATLAB程序設計六、其他語句1continue語句 continue語句用于控制for循環(huán)或while循環(huán)跳過某些執(zhí)行語句,當出現(xiàn)continue語句時,則跳過循環(huán)體中所有剩余的語句,繼續(xù)下一次循環(huán),即結(jié)束本次循環(huán)。2break語句 break語句用于終止for循環(huán)和while循環(huán)的執(zhí)行。當遇到break語句時,則退出循環(huán)體,繼續(xù)執(zhí)行循環(huán)體外的下一個語句,即中止循環(huán)。在嵌套循環(huán)中,break往往存在于內(nèi)層的循環(huán)中。第2章 MATLAB程序設計3try語句MATLAB從5.2版開始提供了try語句,這是一種試探性執(zhí)行語句。語句格式為: try 語句組1 catch 語句組2 en

14、d 說明:先試探性執(zhí)行語句組1,如果語句組1在執(zhí)行過程中出現(xiàn)錯誤,則將錯誤信息賦給保留的lasterr變量,并轉(zhuǎn)去執(zhí)行語句組2。這種試探性執(zhí)行語句是其他高級語言所沒有的。第2章 MATLAB程序設計2.3 函數(shù)文件一、基本結(jié)構一、基本結(jié)構 函數(shù)文件由function關鍵字引導,其基本結(jié)構為: function 輸出形參表函數(shù)名(輸入形參表) 注釋說明部分 函數(shù)體語句return 說明:以function開頭的一行為引導行,表示該文件是一個函數(shù)文件。函數(shù)名的命名規(guī)則與變量名相同。輸入形參表是函數(shù)的輸入?yún)?shù),可以有多個,用“逗號”來分隔;輸出形參表為函數(shù)的輸出參數(shù),當輸出形參只有一個時,直接輸入變

15、量名而不用方括號,多個輸出形參用“逗號”來分隔。 注意:函數(shù)文件編輯結(jié)束后,不能像注意:函數(shù)文件編輯結(jié)束后,不能像M文件那樣單擊文件那樣單擊F5或單或單擊擊Debug Save and Run選項運行,而是要直接存盤。選項運行,而是要直接存盤。第2章 MATLAB程序設計(1)函數(shù)文件名 函數(shù)文件名通常由函數(shù)名再加上擴展名.m組成,不過函數(shù)文件名與函數(shù)名也可以不相同。 (2)注釋說明 注釋說明包括以下三部分內(nèi)容:1)緊隨函數(shù)文件定義行之后,以開頭的第一行。這一行一般包括大寫的函數(shù)文件名和函數(shù)功能的簡要描述,供lookfor關鍵詞查詢和help在線幫助用。2)第一行之后連續(xù)的注釋行。通常包括函數(shù)

16、輸入、輸出參數(shù)的含義及調(diào)用格式說明等信息,構成全部在線幫助文本。3)與在線幫助文本相隔一個空行的注釋行。包括函數(shù)文件編寫和修改的信息,如作者、修改日期、版本等內(nèi)容,用于軟件檔案管理。(3)return語句 如果在函數(shù)文件中插入了return語句,則執(zhí)行到該語句就結(jié)束函數(shù)的執(zhí)行,程序流程轉(zhuǎn)到調(diào)用該函數(shù)的位置。 第2章 MATLAB程序設計二、函數(shù)調(diào)用函數(shù)文件編制好后,就可以調(diào)用函數(shù)進行計算了。函數(shù)調(diào)用的一般格式為:輸出實參表函數(shù)名(輸入實參表) 需要注意的是,函數(shù)調(diào)用時各實參出現(xiàn)的順序、個數(shù),應與函數(shù)定義時形參的順序、個數(shù)一致,否則會出錯。函數(shù)調(diào)用時,先將實參傳遞給相應的形參,從而實現(xiàn)參數(shù)傳遞,然后再執(zhí)行函數(shù)的功能。三、參數(shù)的可調(diào)性 MATLAB在函數(shù)調(diào)用上有一個與一般高級語言不同之處,就是函數(shù)所傳遞參數(shù)數(shù)目的可調(diào)性。憑借這一點,一個函數(shù)可完成多種功能。在調(diào)用函數(shù)時,MATLAB用兩個永久變量nargin和nargout分別記錄調(diào)用函數(shù)時的輸入實參和輸出實參的個數(shù)。只要在函數(shù)文件中包含這兩個變量,就可以準確地知道該函數(shù)文件被調(diào)用時的輸入輸出參數(shù)個數(shù),從而決定函數(shù)如何進行處理。第2章 MATLAB程序設計2.4 編程技巧一、測定程序執(zhí)行時間 測定程序執(zhí)行時間通常

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論