版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 1. MATLAB簡介簡介1.1MATLAB的發(fā)展史及特點的發(fā)展史及特點 p MATLAB內容:內容: MATLAB內容涉及矩陣代數(shù)、微積分、應用數(shù)內容涉及矩陣代數(shù)、微積分、應用數(shù)學、有限元法、科學計算、信號與系統(tǒng)、神經網絡、學、有限元法、科學計算、信號與系統(tǒng)、神經網絡、小波分析及其應用、數(shù)字圖像處理、計算機圖形小波分析及其應用、數(shù)字圖像處理、計算機圖形學學 、電子線路、電機學、自動控制與通信技術、電子線路、電機學、自動控制與通信技術、物理、力學、機械振動、財務工程等方面。利用物理、力學、機械振動、財務工程等方面。利用MATLAB可以實現(xiàn)數(shù)據分析計算、系統(tǒng)應用開發(fā)及可以實現(xiàn)數(shù)據分析計算、系統(tǒng)
2、應用開發(fā)及圖形用戶界面的設計等功能。圖形用戶界面的設計等功能。pMATLAB語言特點語言特點(1)編程效率高:編程效率高: MATLAB語言是一種面向科學與工程計算的高語言是一種面向科學與工程計算的高級語言,允許用數(shù)學形式的語言編寫程序,猶如在級語言,允許用數(shù)學形式的語言編寫程序,猶如在演算紙上排列出公式與求解問題。所以編程效率高,演算紙上排列出公式與求解問題。所以編程效率高,易學易懂。易學易懂。(2)用戶使用方便:用戶使用方便: MATLAB語言是一種解釋執(zhí)行語言,即把編輯、語言是一種解釋執(zhí)行語言,即把編輯、編譯、連接以及執(zhí)行和調試融為一體。編譯、連接以及執(zhí)行和調試融為一體。 MATLAB提
3、供了方便的應用程序接口(提供了方便的應用程序接口(API),),允許用戶編寫的與允許用戶編寫的與MATLAB互相配合的互相配合的C或或Fortran程序的文件庫,使用戶可以在程序的文件庫,使用戶可以在MATLAB環(huán)境下直接環(huán)境下直接調用已經編譯過的調用已經編譯過的C或或Fortran子程序,實現(xiàn)混合編子程序,實現(xiàn)混合編程。程。(3)擴充能力強和靈活的接口功能:擴充能力強和靈活的接口功能: 高版本的高版本的MATLAB包括豐富的庫函數(shù),可以直接包括豐富的庫函數(shù),可以直接調用,而且,用戶文件也可作為庫函數(shù)來調用。調用,而且,用戶文件也可作為庫函數(shù)來調用。 另外,另外,MATLAB還提供了還提供了C
4、+、VB、VC+、及及Excel的接口,方便的接口,方便MATLAB的調用,實現(xiàn)混合的調用,實現(xiàn)混合編程。編程。(4)語句簡單,內含豐富。語句簡單,內含豐富。 MATLAB語言中最基本最重要的成分是函數(shù)(語言中最基本最重要的成分是函數(shù)(M文件的一種),其一般形式為文件的一種),其一般形式為a,b,c=fun(d,e,f),即即一個函數(shù)由函數(shù)名、輸入變量一個函數(shù)由函數(shù)名、輸入變量d,e,f和輸出變量和輸出變量a,b,c組成。組成。同一函數(shù)名同一函數(shù)名F,不同數(shù)目的輸入變量(包括無輸,不同數(shù)目的輸入變量(包括無輸入變量)及不同數(shù)目的輸出變量,代表著不同的入變量)及不同數(shù)目的輸出變量,代表著不同的含
5、義。含義。(5)高效方便的矩陣和數(shù)組運算高效方便的矩陣和數(shù)組運算 數(shù)組在數(shù)組在MATLAB語言中被認為是矩陣,無需定語言中被認為是矩陣,無需定義數(shù)組的維數(shù),并給出矩陣函數(shù)、特殊矩陣專門的義數(shù)組的維數(shù),并給出矩陣函數(shù)、特殊矩陣專門的庫函數(shù)。庫函數(shù)。(6)文字處理功能文字處理功能 MATLAB與文字處理系統(tǒng)與文字處理系統(tǒng)Microsoft Word集集成為一個整體,用戶可以方便地利用成為一個整體,用戶可以方便地利用Word的文字的文字編輯處理功能。編輯處理功能。M文件名不能用漢字,必須用英文文件名不能用漢字,必須用英文(7)方便的繪圖功能方便的繪圖功能 它有一系列繪圖函數(shù)(命令),只需調用即可它有
6、一系列繪圖函數(shù)(命令),只需調用即可實現(xiàn)二維與三維繪圖功能。實現(xiàn)二維與三維繪圖功能。(8)在線幫助,有利于自學。在線幫助,有利于自學。 在在MATLAB環(huán)境下的環(huán)境下的“在線幫助在線幫助”,可以學,可以學習各種函數(shù)的用法及其內涵。習各種函數(shù)的用法及其內涵。MATLAB6.0以上版以上版本,可以利用本,可以利用HTML方式查詢詳細的參考資料,或方式查詢詳細的參考資料,或直接訪問直接訪問Mathworks 公司網站獲得信息。公司網站獲得信息。p MATLAB7.0圖像處理工具箱:圖像處理工具箱: MATLAB圖像處理工具箱提供了豐富的圖像處理圖像處理工具箱提供了豐富的圖像處理函數(shù),主要完成以下功能
7、:函數(shù),主要完成以下功能:圖像的幾何操作、圖像的鄰域和圖像塊操作、線性濾圖像的幾何操作、圖像的鄰域和圖像塊操作、線性濾波和濾波器設計、圖像變換、圖像分析和增強、二值波和濾波器設計、圖像變換、圖像分析和增強、二值圖像形態(tài)學操作、圖像復原、圖像編碼及感興趣區(qū)域圖像形態(tài)學操作、圖像復原、圖像編碼及感興趣區(qū)域處理等。處理等。p MATLAB7.0支持的圖像文件格式:支持的圖像文件格式: BMP(bmp),GIF(gif),JPG(jpg or jpeg的灰度圖和的灰度圖和RGB圖),圖),TIF(tif)或或TIFF(tiff)格式等。格式等。 1.2 運行環(huán)境運行環(huán)境1.界面環(huán)境:界面環(huán)境: 主界面
8、窗口中有主界面窗口中有5個子窗口層疊平鋪在一起,個子窗口層疊平鋪在一起,選選擇不同形式的顯示窗口可以通過主界面中的擇不同形式的顯示窗口可以通過主界面中的view菜菜單中的單中的Desktop Layout。Command Window(命令窗口);(命令窗口);Launch Pad(瀏覽器);(瀏覽器);Workspace(工作空間);(工作空間);Command History(歷史命令記錄);(歷史命令記錄);Current Directory(當前目錄);(當前目錄);單擊各個窗口中右上單擊各個窗口中右上角的箭頭按鈕后,可角的箭頭按鈕后,可以單獨提取此窗口。以單獨提取此窗口。工作空間窗口
9、工作空間窗口命令窗口命令窗口歷史命令歷史命令當前目錄窗口當前目錄窗口uCommand Window(命令窗口)(命令窗口) 在這個窗口中可以直接進行數(shù)據運算及運行程序。在這個窗口中可以直接進行數(shù)據運算及運行程序。當當M文件出現(xiàn)錯誤時,該窗口會顯示出錯的具體信息以文件出現(xiàn)錯誤時,該窗口會顯示出錯的具體信息以便編譯和調試。便編譯和調試。 例:例:在提示符在提示符“”后輸入后輸入“1+2+3”,按,按Enter鍵,鍵, 窗口中顯示的內容如下:窗口中顯示的內容如下:ans= 6 當輸入當輸入“A=1,2,3;4,5,6;7,8,9”后系統(tǒng)將自動將后系統(tǒng)將自動將其解釋為一個其解釋為一個33的矩陣,按的矩
10、陣,按Enter鍵后顯示結果為:鍵后顯示結果為: MATLAB中矩陣運算:中矩陣運算: 只需在窗口中對已賦值的矩只需在窗口中對已賦值的矩陣直接進行各種運算即可。陣直接進行各種運算即可。如輸入如輸入“B=A*A”,按,按Enter鍵后,顯示結果為:鍵后,顯示結果為:150126102968166423630 B987654321 AuLaunch Pad(瀏覽器窗口)(瀏覽器窗口) 啟動窗口:啟動窗口: 在在MATLAB的的VIEW菜單中選擇菜單中選擇Launch Pad就就已啟動該窗口。已啟動該窗口。作用:作用: 用戶可以在用戶可以在Launch Pad窗口中啟動某個工具箱窗口中啟動某個工具箱
11、的應用程序。通過的應用程序。通過Launch Pad窗口,可以打開(雙窗口,可以打開(雙擊)各工具箱中的幫助(擊)各工具箱中的幫助(Help)、演示()、演示(Demos)和其他相關的文件或應用程序。和其他相關的文件或應用程序。例:例:瀏覽器圖標瀏覽器圖標uWorkspace(工作空間窗口)(工作空間窗口)作用:作用:主要用來查看工作空間中的變量,可以查看主要用來查看工作空間中的變量,可以查看到變量的大小、所占用的字節(jié)數(shù)以及所屬的文件類到變量的大小、所占用的字節(jié)數(shù)以及所屬的文件類型等。型等。進入:進入:雙擊工作空間瀏覽器雙擊工作空間瀏覽器中的變量,系統(tǒng)就會彈出中的變量,系統(tǒng)就會彈出Array
12、Editor(數(shù)組編輯器)(數(shù)組編輯器)窗口,用戶在該窗口中對數(shù)窗口,用戶在該窗口中對數(shù)組的大小及每個元素進行編組的大小及每個元素進行編輯,但不可以改變數(shù)組的類輯,但不可以改變數(shù)組的類型。型。uCommand History(歷史命令記錄)(歷史命令記錄) 作用:作用: 可以在該窗口中查可以在該窗口中查看曾經在看曾經在Command Window窗口里輸入窗口里輸入的命令。的命令。 用鼠標雙擊某命用鼠標雙擊某命令,就可以在令,就可以在Command Window窗口中運行它們。窗口中運行它們。uCurrent Directory(當前目錄)窗口(當前目錄)窗口作用:作用:在該窗口中可以查看在當
13、前工作路徑下的在該窗口中可以查看在當前工作路徑下的 MATLAB文件和與文件和與MATLAB有關的文件,并有關的文件,并 可以進行一些文件操作。可以進行一些文件操作。主要操作有:主要操作有: 查看和改變目錄。查看和改變目錄。 創(chuàng)建、重命名、復制和移動文件夾或文件。創(chuàng)建、重命名、復制和移動文件夾或文件。 打開、運行文件和查看文件的內容。打開、運行文件和查看文件的內容。 查找和替換文件的內容。查找和替換文件的內容。操作:操作:選定某個文件,單擊選定某個文件,單擊鼠標右鍵,彈出快捷菜單,鼠標右鍵,彈出快捷菜單,選擇所需的操作。選擇所需的操作。2.M文件的編輯調試環(huán)境文件的編輯調試環(huán)境什么是什么是M文
14、件?文件? MATLAB程序文件和腳本文件通常保存擴展名為程序文件和腳本文件通常保存擴展名為“.m”,即,即M文件。文件。啟動:啟動: 在在Command Window窗口中輸入窗口中輸入Edit命令,然后命令,然后按按Enter鍵,鍵,執(zhí)行執(zhí)行“File”|”New”|”M-file”命令,命令,也可以單擊按鈕也可以單擊按鈕 。(編輯調試環(huán)境中的圖表功能見表)(編輯調試環(huán)境中的圖表功能見表)M文件編輯調試環(huán)境中一些圖標的功能如下:文件編輯調試環(huán)境中一些圖標的功能如下:主要菜單的結構和功能:主要菜單的結構和功能:(1)Text菜單菜單 程序行編輯命令程序行編輯命令lComment:給選定的程序
15、行加注釋。:給選定的程序行加注釋。lUncomment:取消程序行的注釋。:取消程序行的注釋。lDecrease Indent:把當前的程序行或選定的程序塊:把當前的程序行或選定的程序塊 向左縮進。向左縮進。lIncrease Indent:把當前的程序行或選定的程序塊:把當前的程序行或選定的程序塊 向右縮進。向右縮進。lBalance Delimiters:平衡分界符。:平衡分界符。 當一個括號里面包含很多括號時,用該命令以當一個括號里面包含很多括號時,用該命令以 幫助程序員檢查錯誤。幫助程序員檢查錯誤。lSmart Indent:根據程序的邏輯關系自動編排格式。:根據程序的邏輯關系自動編排
16、格式。lEvaluate Selection:運行所選部分的程序。:運行所選部分的程序。(2)debug菜單菜單 (調試命令)(調試命令)lStep:繼續(xù)調試過程。:繼續(xù)調試過程。lStep In: 運行當前程序行,如果運行當前程序行,如果當前行調用了另當前行調用了另 外一個函外一個函數(shù),則跳轉到這個函數(shù)里。數(shù),則跳轉到這個函數(shù)里。lContinue:運行程序,直到遇到下一個斷點。:運行程序,直到遇到下一個斷點。lGo Until Cursor:如果沒有遇到斷點,則運行程序:如果沒有遇到斷點,則運行程序 到光標制定行。到光標制定行。lExit Debug Mode:退出調試模式。:退出調試模式
17、。(3)Breakpoints菜單菜單nSet/Clear Breakpoint:設置:設置/清除斷點。清除斷點。:清除所有斷點。:清除所有斷點。nStop if Error:程序運行遇到錯誤則停止。:程序運行遇到錯誤則停止。nStop if Warning:程序運行遇到警告則停止。:程序運行遇到警告則停止。nStop if NaN or Inf:程序運行遇到非數(shù)值或無:程序運行遇到非數(shù)值或無窮大則停止。窮大則停止。將光標移到某將光標移到某個變量時,將彈出一個變量時,將彈出一個窗口顯示該變量的個窗口顯示該變量的內容。內容。 1.3 MATLAB 編程簡介編程簡介1.3.1 M文件的創(chuàng)建、保存和
18、調試文件的創(chuàng)建、保存和調試nM文件:文件:MATLAB有兩種常用的工作方式:有兩種常用的工作方式:一種是直接交互的命一種是直接交互的命令行操作方式,另一種是文件的編輯方式。令行操作方式,另一種是文件的編輯方式。 在命令行操作方式下,在命令行操作方式下,MATLAB被當作一種高級被當作一種高級“數(shù)字演算和圖示器數(shù)字演算和圖示器”來使用。來使用。MATLAB程序文件是一程序文件是一個個ASCII碼文件(標準的文本文件),擴展名為碼文件(標準的文本文件),擴展名為“.m”,即即M文件。文件。M文件功能:大大擴展了文件功能:大大擴展了MATLAB的能力。的能力。 通過工具箱,通過工具箱,MATLAB被
19、應用到控制、信號處理、被應用到控制、信號處理、小波分析、系統(tǒng)辨識、圖像處理等各個方面。這些工具小波分析、系統(tǒng)辨識、圖像處理等各個方面。這些工具箱全部由箱全部由M文件構成。文件構成。1.M文件的創(chuàng)建:文件的創(chuàng)建:l在在MATLAB主界面窗口執(zhí)行命令主界面窗口執(zhí)行命令“File”/”New”/ “M-file”。l單擊單擊 “白紙白紙”按鈕。按鈕。此時,就可在新創(chuàng)建的此時,就可在新創(chuàng)建的M文件中輸入具體的程序了。文件中輸入具體的程序了。例:例:2.M文件的保存:文件的保存:l在在M文件編譯窗口中執(zhí)行命令文件編譯窗口中執(zhí)行命令“File”/”Save”,并選并選擇一個目錄按擇一個目錄按“確定確定”就
20、完成了就完成了M文件的保存,快文件的保存,快捷鍵為捷鍵為Ctrl+S。l在圖標欄目中單擊在圖標欄目中單擊 按鈕,可同時完成文件按鈕,可同時完成文件的保存和運行,的保存和運行,在在Command Window里可以查看里可以查看運行結果。運行結果。例:例:3.M文件的調試文件的調試 MATLAB調試功能可以確定調試功能可以確定MATLAB程序代碼中程序代碼中的語法錯誤和運行錯誤,在程序文件運行期間都可以的語法錯誤和運行錯誤,在程序文件運行期間都可以任意調試查看任意調試查看MATLAB工作區(qū)的變量值,逐行運行工作區(qū)的變量值,逐行運行M文件。文件。 調試功能提供了命令行交互式接口,可以通過調試功能提
21、供了命令行交互式接口,可以通過Command Window窗口的菜單進行操作。窗口的菜單進行操作。注意:注意:MATLAB調試命令只能應用于函數(shù)調試命令只能應用于函數(shù)M文件,不文件,不 能應用于其它的能應用于其它的M文件。文件。調試命令如下表:調試命令如下表: 1.3.2 命令文件和函數(shù)文件命令文件和函數(shù)文件 M文件有兩種運行文件:一種是執(zhí)行一系列文件有兩種運行文件:一種是執(zhí)行一系列MATLAB語句的語句的命令文件命令文件;另一種是接受輸入參數(shù)和;另一種是接受輸入參數(shù)和產生輸出的產生輸出的函數(shù)文件函數(shù)文件。 當函數(shù)文件定義后,既可在當函數(shù)文件定義后,既可在Command Window窗口里調用
22、它,也可在命令文件程序腳本中調用它。窗口里調用它,也可在命令文件程序腳本中調用它。命令文件和函數(shù)文件在保存時的擴展名都是命令文件和函數(shù)文件在保存時的擴展名都是 “.m”。1.命令文件命令文件 命令文件是一些程序命令行的組合。命令文件是一些程序命令行的組合。 命令文件可以對命令文件可以對Workspace中的變量進行操作,中的變量進行操作,也可以產生新的變量。命令文件產生的所有變量都會也可以產生新的變量。命令文件產生的所有變量都會保留在保留在Workspace里,用戶可以在以后的程序里對其里,用戶可以在以后的程序里對其進行操作,除非被其他相關命令刪除。進行操作,除非被其他相關命令刪除。例:例:繪
23、制出花瓣圖案。繪制出花瓣圖案。 程序執(zhí)行完之后,可以執(zhí)行命令程序執(zhí)行完之后,可以執(zhí)行命令“whos”查看工查看工作空間中的變量。作空間中的變量。2.函數(shù)文件函數(shù)文件 函數(shù)文件用來定義一個函數(shù),在定義的過程中必函數(shù)文件用來定義一個函數(shù),在定義的過程中必須指定須指定函數(shù)名函數(shù)名和和輸入、輸出參數(shù)輸入、輸出參數(shù); 在定義不帶輸入輸出參數(shù)的函數(shù)時,要由在定義不帶輸入輸出參數(shù)的函數(shù)時,要由 MATLAB程序語句給出一系列的操作和處理,從而實程序語句給出一系列的操作和處理,從而實現(xiàn)一定的功能。現(xiàn)一定的功能。例:例:定義一個函數(shù),并在定義一個函數(shù),并在Command Window窗口里窗口里 調用它。調用它
24、。注意:注意:在在MATLAB中,函數(shù)名和文件名必須相同,中,函數(shù)名和文件名必須相同, 如:例中函數(shù)名是如:例中函數(shù)名是f,文件名是,文件名是“f.m”。注意注意: :用分號用分號“;”表示取消輸出;表示取消輸出;回車表示運行程序?;剀嚤硎具\行程序。例:函數(shù)文件例:函數(shù)文件”fibfun.m”,函數(shù)文件的組成:函數(shù)文件的組成:(1)函數(shù)文件的定義行)函數(shù)文件的定義行(Function Define Line)。函數(shù)的定義行表明該函數(shù)的定義行表明該M文件是一個函數(shù)文件,并且定義文件是一個函數(shù)文件,并且定義了函數(shù)名、輸入和輸出參數(shù)。了函數(shù)名、輸入和輸出參數(shù)。例:例:fibfun.n中的第一行是函數(shù)
25、文件的定義行。中的第一行是函數(shù)文件的定義行。 其中,其中,function是關鍵字;是關鍵字; fibfun為函數(shù)名;為函數(shù)名; f為輸出參數(shù);為輸出參數(shù); n為輸入參數(shù)。為輸入參數(shù)。(2)H1行行。指幫助信息的第一行。指幫助信息的第一行?!?”引導的是注釋引導的是注釋行,不予執(zhí)行,并且不需要行,不予執(zhí)行,并且不需要end作為文件結束的標志。作為文件結束的標志。這一行反映該文件的概括性信息,在這一行反映該文件的概括性信息,在Command Window窗口中運行窗口中運行l(wèi)ookfor(查找)命令(查找)命令,可以搜索和,可以搜索和顯示該行。顯示該行。(3)幫助正文。)幫助正文。在在Comma
26、nd Window窗口中運用窗口中運用 help命令命令將顯示這部分內容。將顯示這部分內容。(4)函數(shù)體。)函數(shù)體。 函數(shù)體包含了所有執(zhí)行計算和賦值了輸出參數(shù)的函數(shù)體包含了所有執(zhí)行計算和賦值了輸出參數(shù)的MATLAB程序代碼。這些代碼可以是程序代碼。這些代碼可以是調用函數(shù)調用函數(shù)、流程控流程控制、交互式輸入制、交互式輸入/輸出、計算、賦值、注釋輸出、計算、賦值、注釋和和空行空行等。等。(5)注釋。)注釋。 注釋語句以符號注釋語句以符號“%”開頭,可以出現(xiàn)在開頭,可以出現(xiàn)在M文件的任文件的任何地方。何地方。1.3.3MATLAB的矩陣介紹的矩陣介紹 MATLAB的操作與運算主要對象是矩陣,無論的操
27、作與運算主要對象是矩陣,無論標量標量和和向量向量都可以當成矩陣處理。都可以當成矩陣處理。l特點:特點:(1)MATLAB語言對矩陣的維數(shù)和類型沒有限制,語言對矩陣的維數(shù)和類型沒有限制,因此因此無需對其維數(shù)和類型進行定義無需對其維數(shù)和類型進行定義。(2)矩陣中的元素可以采用)矩陣中的元素可以采用具體數(shù)值具體數(shù)值或或表達式表達式,可,可以以通過下標對元素進行訪問、輸入或修改通過下標對元素進行訪問、輸入或修改。l矩陣輸入方法:矩陣輸入方法:1.直接輸入矩陣元素直接輸入矩陣元素要求:要求:各元素之間用空格或逗號間隔,各元素之間用空格或逗號間隔,“;”表示行表示行結結 束,束,用中括號用中括號“ ”把矩
28、陣所有元素括起來。把矩陣所有元素括起來。 例如例如,在,在Command Window窗口中輸入如下形式:窗口中輸入如下形式: A= 2 3 4 5;1 3 5 7 ;0 3 6 9 或或 A= 2 3 4 5 1 3 5 7 0 3 6 9 結果為:結果為: A= 2 3 4 5 1 3 5 7 0 3 6 9u修改矩陣元素:修改矩陣元素:可以直接通過下標來實現(xiàn)??梢灾苯油ㄟ^下標來實現(xiàn)。 如:如: A(3,1)=1 即矩陣即矩陣A的第的第3行第行第1列元素改為列元素改為1。u直接輸入復數(shù)矩陣:直接輸入復數(shù)矩陣: 兩種方式:兩種方式: B= 1+i 2+2i 3+3i;4+4i 5+5i 6+
29、6i 或或 B= 1 2 3;4 5 6 +i* 1 2 3 ;4 5 6 結果為:結果為: B= 1.0000+1.0000i 2.0000+2.0000i 3.0000+3.0000i 4.0000+4.0000i 5.0000+5.0000i 6.0000+6.0000i2.利用利用M文件產生矩陣文件產生矩陣 利用利用M文件產生矩陣或利用外部數(shù)據文件輸入到指文件產生矩陣或利用外部數(shù)據文件輸入到指定矩陣中。定矩陣中。u利用利用M文件:文件:建一個建一個M文件,在文件,在M文件窗口中輸入文件窗口中輸入 A= 2 3 4 5;1 3 5 7;0 3 6 9 如果文件如果文件test.m保存在保
30、存在MATLAB搜索路徑中,在搜索路徑中,在 MATLAB命令窗口中輸入命令窗口中輸入test就可產生矩陣就可產生矩陣A,這對經常,這對經常輸入大矩陣或需要輸入多個矩陣時很方便。輸入大矩陣或需要輸入多個矩陣時很方便。u利用外部數(shù)據文件裝入到指定矩陣:利用外部數(shù)據文件裝入到指定矩陣: 通過通過MATLAB提供的文件輸入、輸出函數(shù)來實現(xiàn)。提供的文件輸入、輸出函數(shù)來實現(xiàn)。在在Command Window窗口輸入如下語句:窗口輸入如下語句:I=imread(cameraman.tif)%讀入圖像數(shù)據,讀入圖像數(shù)據,該該 圖像文件在圖像文件在MATLAB路徑下路徑下在窗口中可以對矩陣在窗口中可以對矩陣I
31、進行操作:進行操作: m,n =size(I) % 查看矩陣的大小查看矩陣的大小 m= 256 n= 256I=(1:4,1:4 ) %查看矩陣查看矩陣I中的部分元素:中的部分元素:例:將圖像例:將圖像cameraman.tif讀入到矩陣中。讀入到矩陣中。 ans= 156 159 158 155 160 154 157 158 156 159 158 155 160 154 157 158 3.通過通過MATLAB語句或函數(shù)產生矩陣語句或函數(shù)產生矩陣 MATLAB中有很多產生中有很多產生特殊矩陣的函數(shù)特殊矩陣的函數(shù),常用的,常用的特殊矩陣有單位矩陣、零矩陣、特殊矩陣有單位矩陣、零矩陣、“1”
32、矩陣、隨機矩陣、矩陣、隨機矩陣、對角矩陣等。對角矩陣等。 語法格式為語法格式為: A=eye(n);返回一個返回一個nn大小的單位矩陣;大小的單位矩陣; A=eye(m,n);返回一個返回一個mn大小的單位矩陣;大小的單位矩陣; A=eye(size(B);返回一個大小與返回一個大小與B一樣的單位一樣的單位 矩陣。矩陣。例:例: A=eye(4,3) A= 1 0 0 0 1 0 0 0 1 0 0 0(1)單位矩陣:)單位矩陣:主對角線元素為主對角線元素為1,其他元素為,其他元素為0(2)零矩陣)零矩陣 零矩陣的所有元素為零矩陣的所有元素為0,其語法格式為:,其語法格式為: A=zeros(
33、n);返回一個返回一個nn大小的零矩陣;大小的零矩陣; A=zeros(m,n);返回一個返回一個mn大小的零矩陣;大小的零矩陣; A=zeros(size(B);返回一個大小與矩陣返回一個大小與矩陣B相同的相同的 零矩陣。零矩陣。 例:例:A=zeros(3,4) A= 0 0 0 0 0 0 0 0 0 0 0 0(3)“1”矩陣矩陣 “1”矩陣的所有元素為矩陣的所有元素為1,其語法格式為:,其語法格式為: A=ones(n);返回一個返回一個nn大小的大小的1矩陣;矩陣; A=ones(m,n);返回一個返回一個mn大小的大小的1矩陣;矩陣; A=ones(size(B);返回一個與矩陣
34、返回一個與矩陣B大小相同的大小相同的1 矩陣。矩陣。 例:例:A=ones(3) A= 1 1 1 1 1 1 1 1 1(4)隨機矩陣)隨機矩陣 隨機矩陣的元素是隨機產生的。有兩種函數(shù):隨機矩陣的元素是隨機產生的。有兩種函數(shù): rand函數(shù)和函數(shù)和randn函數(shù)。它們的用法相同。函數(shù)。它們的用法相同。nrand函數(shù):產生的矩陣元素服從函數(shù):產生的矩陣元素服從(0,1)之間的均勻)之間的均勻 分布;分布;nrandn函數(shù):產生的矩陣元素服從函數(shù):產生的矩陣元素服從均值為均值為0,方差為,方差為1 的正態(tài)分布。的正態(tài)分布。語法格式為:語法格式為:A=rand(n): 返回一個返回一個nn大小的隨
35、機矩陣;大小的隨機矩陣;A=rand(m,n):返回一個返回一個mn大小的隨機矩陣;大小的隨機矩陣;A=rand(size(B):返回一個與矩陣返回一個與矩陣B大小相同的大小相同的 隨機隨機 矩陣。矩陣。例:例: A=rand(3,4) A= 0.9501 0.4860 0.4565 0.4447 0.2311 0.8913 0.0185 0.6154 0.6068 0.7621 0.8214 0.7919(5)對角矩陣)對角矩陣 對角矩陣的主對角線元素可以為非零或零,而非對角矩陣的主對角線元素可以為非零或零,而非主對角線上的元素全為主對角線上的元素全為0,其語法格式為:,其語法格式為:A=d
36、iag(v,k):v為為n個元素組成的向量,個元素組成的向量, v中的元素中的元素 放在第放在第k 條對角線上,返回的矩陣條對角線上,返回的矩陣A的大小為的大小為 n+IkI的方陣,當?shù)姆疥嚕攌=0時代表在主對角線上,時代表在主對角線上, k0時在主對角線之上,時在主對角線之上,k0時在主對角線之下;時在主對角線之下;A=diag(v):將:將v放在主對角線上,與上述放在主對角線上,與上述k=0相同;相同;V=diag(A,k):對矩陣:對矩陣A返回一個列向量返回一個列向量v,v由由A中第中第k 條條 對角線上元素組成;對角線上元素組成;V=diag(A):返回矩陣:返回矩陣A主對角線上的元
37、素,與上主對角線上的元素,與上 述述 k=0相同。相同。 例:例: v= 1,2,3,4 A= 1 0 0 0 v= 0 2 0 0 1 2 3 4 0 0 3 0 A=diag(v) 0 0 0 4 A= 1 0 0 0 v=diag(A) 0 2 0 0 v=1 2 3 4 0 0 3 0 0 0 0 4 (6) Hilbert 與逆與逆Hilbert矩陣矩陣Hilbert矩陣的元素為:矩陣的元素為: 1211111131211211,11nnnnnHnjihji,階階矩矩陣陣表表示示為為:MATLAB中提供的中提供的Hilbert矩陣的函數(shù)矩陣的函數(shù)調用方法調用方法有:有:H=hilb(
38、n):產生一個:產生一個n階階Hilbert 矩陣;矩陣;B=invhilb(n):產生一個:產生一個n階逆階逆Hilbert矩陣矩陣,n小于小于5時時 求其精確逆矩陣,大于求其精確逆矩陣,大于5時求其近似逆矩陣。時求其近似逆矩陣。其中,其中,i,j分別為行列數(shù)分別為行列數(shù)(7)Toeplitz矩陣矩陣 Toeplitz矩陣是由一行和一列來定義的矩陣,矩陣是由一行和一列來定義的矩陣, 其其語法格式為語法格式為: T=toeplitz(r)生成一個由向量生成一個由向量r構成的對稱構成的對稱 toeplitz矩陣,其第一行由矩陣,其第一行由r定義。定義。 T=toeplitz(c,r)生成一個非對
39、稱的生成一個非對稱的Toeplitz矩陣,矩陣, c作為其第一列,作為其第一列,r作為第一行,如果作為第一行,如果c和和r 的第一個元素不同,則用列中元素。的第一個元素不同,則用列中元素。 r =1,2,3,4 r = 1 2 3 4 T=toeplitz(r) T= 1 2 3 4 2 1 2 3 3 2 1 2 4 3 2 1c=5,6,7,8c= 5 6 7 8T= 5 2 3 4 6 5 2 3 7 6 5 2 8 7 6 5例:例: 1.3.4程序流程控制程序流程控制 在在MATLAB中一共有中一共有8種流程控制語句,種流程控制語句,所有的所有的流程控制語句都由流程控制語句都由end
40、來作為結束標志。來作為結束標志。1. if 語句語句 復雜的計算需要根據表達式的情況是否滿足條件復雜的計算需要根據表達式的情況是否滿足條件來確定下一步該做什么,來確定下一步該做什么,MATLAB提供了提供了if-else-end語句來進行判斷選擇。語句來進行判斷選擇。 if語句最簡單的語句最簡單的調用格式為調用格式為: if expression statements end其中,其中,expression是邏輯表達式,是邏輯表達式,statement為語句體。為語句體。執(zhí)行過程:執(zhí)行過程:當表達式為真時,執(zhí)行語句體,否則跳過。當表達式為真時,執(zhí)行語句體,否則跳過。如果有多個條件,可用下面的結
41、構:如果有多個條件,可用下面的結構: if expression1 statements1 else if expression2 statements2 else statements end執(zhí)行過程是執(zhí)行過程是:先判斷:先判斷expression1 ,如果為真,則,如果為真,則 執(zhí)行命令執(zhí)行命令statements1,執(zhí)行完后跳出該語句繼續(xù)執(zhí)行完后跳出該語句繼續(xù) 執(zhí)行執(zhí)行end后的其他語句;如果后的其他語句;如果expression1為為 假,則跳過假,則跳過statements1,接著判斷,接著判斷 expression2;如果為真,執(zhí)行命令;如果為真,執(zhí)行命令statements2,
42、依此類推,直到運行完所有的語句。依此類推,直到運行完所有的語句。 例:判斷奇偶數(shù)。例:判斷奇偶數(shù)。例:判斷奇偶數(shù)。例:判斷奇偶數(shù)。2.分支語句分支語句switch-case-otherwise語句語句 switch用于有選擇性的程序設計,用于有選擇性的程序設計,調用格式為調用格式為:注意:注意:與與C語言不同,當?shù)谝粋€語言不同,當?shù)谝粋€case語句為真時,余語句為真時,余下的下的 case語句將不再執(zhí)行,因此這里不用語句將不再執(zhí)行,因此這里不用break語句。語句。執(zhí)行結果:執(zhí)行結果:當當input-var=1,顯示,顯示1;當;當input-var=3,顯,顯示示2 or 3 or 4;當;
43、當input-var=7,顯示,顯示something else。例:例:例:例:設一個設一個M函數(shù),該函數(shù)接收一幅圖像函數(shù),該函數(shù)接收一幅圖像f,并將,并將 其其轉換為一個指定的類,稱該類為轉換為一個指定的類,稱該類為newclass。該轉換只。該轉換只對三種圖像類有效,即對三種圖像類有效,即uint8類圖像,類圖像,uint16類圖像和類圖像和double類圖像。類圖像。switch newclass case uint8 g=im2uint8(f); case uint16 g=im2uint16(f); case double g=im2double(f); otherwise err
44、or (Unknown or improper image class.) 3.for語句語句 for循環(huán)的最大特點是它的循環(huán)判斷條件是對循環(huán)的最大特點是它的循環(huán)判斷條件是對循環(huán)次循環(huán)次數(shù)數(shù)的判斷,在一般情況下,的判斷,在一般情況下,for語句的循環(huán)次數(shù)是確定語句的循環(huán)次數(shù)是確定的,的,調用格式為調用格式為: for index=start:increment:end statements end 其中,其中,start為起始值;為起始值;increment為增量,默認增量為增量,默認增量 為為1;end為終值。為終值。例:例:還可以用數(shù)組的方式編寫:還可以用數(shù)組的方式編寫:嵌套的嵌套的for
45、循環(huán)語句:循環(huán)語句: 4.While語句語句 同同for循環(huán)比較,循環(huán)比較,while語句的語句的判斷控制可以是判斷控制可以是一個邏輯判斷語句,一個邏輯判斷語句,因此它的適用范圍更廣。因此它的適用范圍更廣。While語句的語句的循環(huán)次數(shù)是由表達式控制循環(huán)次數(shù)是由表達式控制的,當表達的,當表達式為假時循環(huán)停止。式為假時循環(huán)停止。其其調用格式為調用格式為: while expression statements end例:例:while循環(huán)在循環(huán)在a和和b均降至均降至0 時,程序終止。時,程序終止。 a=10; b=5; while a a=a-1; while b b=b-1; end end
46、5.continue語句語句 continue語句一般語句一般用在用在for或或while循環(huán)里循環(huán)里,其功其功能是直接進入下一次循環(huán),不執(zhí)行本次循環(huán)體余下的能是直接進入下一次循環(huán),不執(zhí)行本次循環(huán)體余下的語句。語句。例:例:計算一個計算一個M文件里代碼的行數(shù),不包括空行和注文件里代碼的行數(shù),不包括空行和注 釋行。釋行。6.break 語句語句break語句用來語句用來結束結束for或或while循環(huán)循環(huán),當循環(huán)遇到,當循環(huán)遇到break語句時跳出循環(huán),接著語句時跳出循環(huán),接著執(zhí)行循環(huán)外面的語句執(zhí)行循環(huán)外面的語句。例:顯示一個例:顯示一個M文件的注釋語句,程序代碼為:文件的注釋語句,程序代碼為:
47、7.try和和catch語句語句 try和和catch語句為試探式語句結構。語句為試探式語句結構。調用格式為調用格式為: try, statement, , statement, catch statement, , statement, end 此語句結果先試探性地執(zhí)行此語句結果先試探性地執(zhí)行try和和catch之間的語句。之間的語句。如果在此執(zhí)行的過程中遇到了錯誤,則把錯誤信息賦如果在此執(zhí)行的過程中遇到了錯誤,則把錯誤信息賦值給值給laster變量,并放棄執(zhí)行這一段語句,轉而執(zhí)行變量,并放棄執(zhí)行這一段語句,轉而執(zhí)行catch和和end之間的語句。之間的語句。特點:特點:這種語言結構提供了更
48、靈活的編程方法,在這種語言結構提供了更靈活的編程方法,在一個程序里,當某一解法對一個問題行不通時,可一個程序里,當某一解法對一個問題行不通時,可 以嘗試其他解法。以嘗試其他解法。 8.return語句語句 return語句的功能:語句的功能:中斷當前函數(shù)運行,返回上中斷當前函數(shù)運行,返回上級調用函數(shù)。級調用函數(shù)。 例:當矩陣例:當矩陣A是空矩陣時中斷函數(shù)的執(zhí)行。是空矩陣時中斷函數(shù)的執(zhí)行。7.try和和catch語句語句 1.3.5 運算符運算符 MATLAB運算符分為三種主要類別:運算符分為三種主要類別:p 執(zhí)行數(shù)值計算的算數(shù)運算符;執(zhí)行數(shù)值計算的算數(shù)運算符;p 在數(shù)量上比較操作數(shù)的關系運算符;在數(shù)量上比較操作數(shù)的關系運算符;p 執(zhí)行函數(shù)執(zhí)行函數(shù)AND、OR、NOT的邏輯運算符。的邏輯運算符。一些重要的變量和常量:一些重要的變量和常量:提示:提示:eps常加在表達式的分母中,以防止分母為零常加在表達式的分母中,以防止分母為零 時的溢出現(xiàn)象。時的溢出現(xiàn)象。1.4MATLAB的幫助系統(tǒng)的幫助系統(tǒng) MATLAB提供了強大的幫助系統(tǒng),大致可以分為提供了強大的幫助系統(tǒng),大致可以分為三類:命令行幫助;聯(lián)機幫助;演示幫助。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度房地產評估與房地產營銷策劃合作合同3篇
- 2025年度勞動合同延期及員工離職交接協(xié)議3篇
- 工業(yè)物聯(lián)網技術合作開發(fā)協(xié)議
- 2024清罐拆除工程附帶施工進度與成本控制合同3篇
- 二零二五年度國際證券承銷合同3篇
- 定制產品制作免責合同協(xié)議
- 智慧農業(yè)園區(qū)智能種植管理系統(tǒng)升級方案
- 客戶答謝晚宴活動方案與邀請函設計建議
- 專業(yè)市場數(shù)據分析與應用平臺開發(fā)方案
- IT行業(yè)軟件使用許可合同
- (新版)北師大版五年級數(shù)學上冊期末試卷
- 小班《火車開了》音樂欣賞課評課稿
- 倫理學與醫(yī)學倫理學 (醫(yī)學倫理學課件)
- GB/T 6344-2008軟質泡沫聚合材料拉伸強度和斷裂伸長率的測定
- GA/T 1740.1-2020旅游景區(qū)安全防范要求第1部分:山岳型
- 產后康復客戶健康評估表格
- 個人現(xiàn)實表現(xiàn)材料1500字德能勤績廉(通用6篇)
- 六年級上冊數(shù)學單元測試-5.圓 青島版 (含答案)
- (精心整理)高一語文期末模擬試題
- QC成果解決鋁合金模板混凝土氣泡、爛根難題
- 管線管廊布置設計規(guī)范
評論
0/150
提交評論