版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
第1章初識MATLAB本章首先介紹MATLAB軟件的基本情況,然后演示MATLAB的安裝和啟動,最后介紹MATAB幫助系統(tǒng),便于讀者更好地學習掌握MATLAB軟件。1.1MATLAB簡介目前MATLAB軟件已成為世界上主流的仿真計算軟件之一,被廣泛地用于數(shù)據(jù)分析、建模仿真等各個方面,具有良好的發(fā)展前景。利用MATLAB語言開發(fā)程序,具有編程效率高、計算效率高、操作方便、功能強大、擴展能力好等突出的優(yōu)點。1.1.1MATLAB的歷史背景MATLAB軟件的原型是由美國新墨西哥大學CleveMoler和他的同事開發(fā)的,主要是一款基于矩陣計算的數(shù)據(jù)處理軟件。1984年Little、Moler等人共同創(chuàng)立了MathWorks公司,正式把MATLAB軟件產(chǎn)品化。2011年9月MATLAB的版本已更新至2011b。同時,在功能上已從原來單一的矩陣計算拓展到算法開發(fā)、數(shù)值分析、圖像處理、圖形可視化、建模仿真等各個方面,在各個領域都具有重大的應用潛力。1.1.2MATLAB的功能介紹1.數(shù)據(jù)計算2.符號計算3.圖形功能4.建模仿真5.程序設計6.界面設計7.與其他程序的集成與擴展1.1.3MATLAB語言的特點1.高效的矩陣運算機制2.多樣化的操作途徑3.功能強大的工具箱4.良好的擴展能力5.完善的幫助系統(tǒng)1.2MATLAB的安裝與啟動MATLAB7.0是MATLAB最為經(jīng)典的版本,本書將以MATLAB7.0版本為例向廣大用戶演示MATLAB軟件的安裝和啟動,MATLAB不同版本的安裝與啟動方法基本同MATLAB7.0版本。1.2.1MATLAB的安裝在安裝MATLAB軟件前用戶需要準備好軟件注冊的授權(quán)碼,然后安裝以下步驟開始MATLAB軟件的安裝工作。1.2.2MATLAB的啟動(1)單擊系統(tǒng)開始菜單中MATLAB7.0的可執(zhí)行程序(2)雙擊桌面上MATLAB的快捷方式,打開程序。(3)在MATLAB的安裝路徑中找到其可執(zhí)行程序MATLAB.exe。1.3MATLAB的運行環(huán)境在啟動MATLAB程序后,將打開如圖1.10所示的MATLAB運行環(huán)境,包括主菜單、CommandWindow、CurrentDirectory窗口、CommandDirectory窗口、Workspace窗口、History窗口等組成。下面將具體介紹MATLAB的這些運行環(huán)境。1.3.1主菜單1.File子菜單(1)“New”菜單項(2)“Open”菜單項(3)“ImportData”菜單項(4)“SaveWorkspaceAs”菜單項(5)“SetPath”菜單項(6)“Preferences”菜單項2.Edit子菜單UndoRedoCutCopyPastePasteSpecialSelectAllDeleteFindFindFilesClearCommandWindowClearCommandHistoryClearWorkspace3.Debug子菜單OpenM-FileswhenDebuggingStepinStepoutContinueClearBreakpointsinAllFilesStopifErrors/WarningsExitDebugMode4.Desktop子菜單“UnluckCurrentDirectory”菜單項“DesktopLayout”菜單項“SaveLayout”菜單項“CommandWindow”菜單項“CommandHistory”菜單項“CurrentDirectory”菜單項“Workspace”菜單項“Help”菜單項“Profiler”菜單項“Toolbar”菜單項“ShortcutsToolbar”菜單項“Title”菜單項5.Window子菜單“CloseAllDocuments”菜單項“0CommandWindow”菜單項“1CommandHistory”菜單項“2CurrentDirectory”菜單項“3Workspace”菜單項6.Help子菜單“FullProductFamilyHelp”菜單項“MATLABHelp”菜單項“UsingtheDesktop”菜單項“UsingtheCommandWindow”菜單項“WebSource”菜單項“CheckforUpdates”菜單項“Demos”菜單項“AboutMATLAB”菜單項1.3.2CommandWindow1.命令窗口的使用2.命令窗口的菜單3.命令窗口的使用規(guī)范4.命令窗口的常用操作命令1.3.3CurrentDirectory窗口1.當前路徑的顯示和設置2.當前路徑瀏覽窗口的組成工具條:返回上一級文件目錄。工具條:查找文件。工具條:以可視化的方式查看文件。工具條:不同類型文件的分析文檔的生成。在當前路徑的彈出式菜單包括:“Open”菜單項“Run”菜單項“ViewHelp”菜單項“Openastext”菜單項“OpenOutsideMATLAB”菜單項“ImportData”菜單項“FileFilter”菜單項1.3.5Workspace窗口工作空間窗口常用的工具條包括::新建變量。:打開數(shù)組編輯窗口,查看選中的變量。:用于從外部文件導入數(shù)據(jù)。:用于保存選中的變量。:用于刪除選中的變量。:用于對選中的變量快速作圖。工作空間窗口的彈出式菜單包括:“OpenSelection”菜單項:打開選中的變量?!癝aveAs”菜單項:數(shù)據(jù)另存為?!癈opy”菜單項:復制選中的變量?!癉uplicate”菜單項:快速地生成重復變量?!癉elete”菜單項:刪除選中的變量?!癛ename”菜單項:重命名選中的變量?!癊ditValue”菜單項:在工作空間窗口中編輯選中變量的值?!癙lotallcolumns”菜單項:繪制選中的所有數(shù)據(jù)的二維曲線圖。1.3.6History窗口“EvalucateSelection”菜單項“CreateM-File”菜單項“CreateShortcut”菜單項“ProfileCode”菜單項“DeleteSelection”菜單項“DeletetoSelection”菜單項“ClearEntireHistory”菜單項1.4MATLAB的幫助系統(tǒng)MATLAB為廣大用戶提供了強大的幫助系統(tǒng),通過MATLAB的幫助系統(tǒng)可以方便地獲取相關(guān)命令的調(diào)用方式、實例演示等基本信息。在MATLAB7.0中獲取幫助信息最簡單的兩種方式為命令窗口幫助查詢和幫助瀏覽器查詢。本節(jié)將重點介紹用戶如何通過這兩種方式獲取MATLAB的幫助信息。
1.4.1命令窗口幫助在命令窗口通過幫助函數(shù)help()的使用可以獲取相關(guān)函數(shù)或命令的幫助信息。1.4.2幫助瀏覽窗口在MATLAB的運行環(huán)境中專門提供了幫助瀏覽窗口,其中包括MATLAB語言,所有工具箱,SIMULINK的幫助信息。在其中,用戶可以按照內(nèi)容目錄數(shù)、索引、搜索等多種方式查找?guī)椭畔ⅰ?.5本章小結(jié)本章主要介紹了MATLAB的基礎知識,通過本章的學習將使讀者對MATLAB最基本的操作環(huán)境、幫助系統(tǒng)等有初步認識。本章是讀者學習后續(xù)章節(jié)的重要組成部分。第2章MATLAB入門操作在開始進入MATLAB的正式學習前,筆者把MATLAB操作中最為基礎的知識單獨作為一章,力求使用戶在最短的時間內(nèi)掌握MATLAB的基本操作。2.1MATLAB語言規(guī)范本節(jié)主要介紹MAYLAB語言的一些規(guī)范,在以后的操作中都需要嚴格遵守這些規(guī)范。2.1.1常量和變量1.常量2.變量2.1.2常用的符號和關(guān)鍵字1.常用的符號2.關(guān)鍵字2.2基本數(shù)據(jù)操作本節(jié)主要介紹如何利用MATLAB進行相關(guān)的數(shù)據(jù)計算操作,最為常用的數(shù)據(jù)計算及其可視化的函數(shù)和命令,這些函數(shù)和命令在此僅作簡單介紹,隨著讀者學習地深入,在后續(xù)章節(jié)我們將做更為詳盡地介紹。2.2.1數(shù)據(jù)計算入門1.常用的函數(shù)2.常用的命令2.2.2數(shù)據(jù)可視化入門
1.plot()函數(shù)的使用2.利用圖形界面快速制圖2.3程序設計初步
本節(jié)主要MATLAB程序設計的基本知識。在MATLAB中設計程序主要包括命令行的方法和M程序文件的方法。2.4本章小結(jié)
在本章我們對MATLAB的入門操作做了簡單的介紹,通過本節(jié)的學習讀者應對MATLAB的這些常用的操作打下一定的基礎。第3章MATLAB數(shù)據(jù)類型在MATLAB7.0中為廣大用戶提供了多種數(shù)據(jù)類型選擇,用戶可以定義多種數(shù)據(jù)類型,不同數(shù)據(jù)類型變量在MATLAB中的使用有所差異,本章將主要介紹MATLAB的常用數(shù)據(jù)類型及其不同數(shù)據(jù)類型之間的轉(zhuǎn)換。3.1數(shù)值型數(shù)值型是數(shù)據(jù)計算中最為常用的數(shù)據(jù)類型,在MATLAB7.0中數(shù)值型的數(shù)據(jù)類型包括整型和浮點型。下面具體介紹這幾種數(shù)值型數(shù)據(jù)類型。3.1.1整型MATLAB7.0中的整型數(shù)據(jù)類型8位、16位、32位、64位4種有符號和無符號的整數(shù)類型。有符號的整數(shù)類型需要在數(shù)據(jù)的首位賦一位作為符號位,而無符號的整數(shù)不需在首位提供符號位,因而相同字節(jié)數(shù)的無符號的整數(shù)類型表示的數(shù)據(jù)范圍更大。3.2字符串型MATLAB中提供了字符串類型用于處理文本等字符型數(shù)據(jù)。字符串可以理解為字符的數(shù)組,而字符在MATLAB存儲空間中又與相應的ASCII碼對應。3.2.1字符串的創(chuàng)建1.一維字符串2.二維字符串3.2.2字符串的常用操作1.字符串的判斷2.字符串的訪問3.字符串的查找和替換4.字符串的比較5.字符串的大小寫轉(zhuǎn)換6.字符串的執(zhí)行7.字符串的空格操作相關(guān)函數(shù)3.3邏輯類型MATLAB7.0中的邏輯類型僅包括兩個值:“0”和“1”,分別代表邏輯“假”和“真”。邏輯類型主要用于關(guān)系和邏輯運算,在使用過程中通過查找、條件語句的邏輯判斷,可以判斷條件是否為真。3.4結(jié)構(gòu)體結(jié)構(gòu)體數(shù)據(jù)類型可以把不同數(shù)據(jù)類型的變量放到同一個變量名下,通過不同“域”的概念對結(jié)構(gòu)體中的不同數(shù)據(jù)進行賦值、操作。結(jié)構(gòu)體中的數(shù)據(jù)存儲在相應的“域”中。3.4.1結(jié)構(gòu)體的創(chuàng)建1.命令行直接賦值法2.函數(shù)法3.4.2結(jié)構(gòu)體的常用操作1.訪問結(jié)構(gòu)體中的元素2.結(jié)構(gòu)體的顯示3.結(jié)構(gòu)體的刪除3.5元胞數(shù)組元胞數(shù)組是由可以包括任何數(shù)據(jù)類型的元胞組成的數(shù)組。通過元胞數(shù)組的使用,可以在同一個變量中存儲不同數(shù)據(jù)類型的數(shù)據(jù),給代碼的編寫帶來很大便利。3.5.1元胞數(shù)組的創(chuàng)建1.直接賦值法2.函數(shù)法3.5.2元胞數(shù)組的常用操作1.元胞數(shù)組的訪問2.元胞數(shù)組的顯示3.元胞數(shù)組的刪除3.6日期類型本節(jié)主要介紹MATLAB中常用的三種日期類型的格式,及其之間的轉(zhuǎn)換。日期類型的數(shù)據(jù)變量在與時間數(shù)據(jù)相關(guān)的分析中較為常用。3.6.1日期類型的格式1.字符串型2.向量型3.序列型3.6.2日期類型數(shù)據(jù)的轉(zhuǎn)換1.函數(shù)clock()2.函數(shù)now()3.函數(shù)date()4.函數(shù)weekday()5.函數(shù)eomday()6.函數(shù)calendar()3.7不同數(shù)據(jù)類型之間的轉(zhuǎn)化1.數(shù)值類型的互相轉(zhuǎn)換2.字符串與數(shù)值類型的互相轉(zhuǎn)換3.元胞數(shù)組與數(shù)值類型的互相轉(zhuǎn)換4.字符串、元胞數(shù)組、結(jié)構(gòu)體之間的互相轉(zhuǎn)換3.8本章小結(jié)本章主要向用戶介紹了MAXTLAB常用數(shù)據(jù)類型整型、浮點型、邏輯類型、字符串、元胞數(shù)組、結(jié)構(gòu)體類型、日期類型的基本知識,及其不同數(shù)據(jù)類型之間的轉(zhuǎn)化。第4章矩陣運算在MATLAB中矩陣一般即指二維數(shù)組,矩陣是MATLAB中存儲數(shù)據(jù)的主要格式。MATLAB中的大部分運算也主要是基于矩陣進行的。本章重點介紹MATLAB矩陣運算的相關(guān)知識,包括矩陣創(chuàng)建、矩陣簡單運算、矩陣特殊運算、向量的運算和高維數(shù)組的操作知識。4.1矩陣的創(chuàng)建矩陣是MATLAB軟件學習操作的核心,本節(jié)將從最基本的矩陣的創(chuàng)建開始,介紹矩陣的使用。4.1.1矩陣的生成方法1.直接輸入法2.函數(shù)法3.外部導入法4.1.2矩陣元素的標識和訪問1.單個元素的訪問2.多個元素的訪問3.行列元素的訪問4.全部元素的訪問5.對角線元素的訪問6.end在矩陣元素訪問中的使用7.Find()函數(shù)在矩陣元素訪問中的使用4.2矩陣的簡單運算
在創(chuàng)建了基本的矩陣后,需要對矩陣進行簡單的操作,包括矩陣編輯、數(shù)據(jù)讀取、矩陣大小的求取、矩陣的拼接、形狀變化、數(shù)據(jù)查找等,這部分操作雖然簡單,但靈活掌握矩陣的這部分基本操作,是熟練掌握MATLAB語言的重點。4.2.1基本函數(shù)1.矩陣的顯示2.矩陣的判斷3.大小信息的獲取4.矩陣的連接5.矩陣的翻轉(zhuǎn)6.矩陣大小的改變7.其他一些常用函數(shù)4.2.2加減運算矩陣的加減運算要求相加減的矩陣有相同的維數(shù),即相同的行列數(shù),與線性代數(shù)中的運算法則是相同的。4.2.3乘法運算矩陣與數(shù)組在乘法運算中有所區(qū)別,矩陣的乘法是線性代數(shù)中常用的運算,要求被乘矩陣的列數(shù)等于相乘矩陣的行數(shù)。而數(shù)組的乘法是點乘運算,即數(shù)組具有相同下標的元素相乘,運算時在一般乘法運算的“*”前加上“.”,需要兩數(shù)組具有相同的維數(shù)。4.2.4除法運算1.矩陣的除法2.數(shù)組的除法4.2.5乘方運算矩陣與數(shù)組在乘方運算中也有不同,矩陣的乘方相當于多個矩陣相乘,而數(shù)組的乘方即為數(shù)組中每個元素的乘方運算。4.3矩陣的關(guān)系運算MATLAB中的關(guān)系運算主要用于判斷矩陣的大小關(guān)系,關(guān)系成立返回“1”,關(guān)系不成立返回“0”。MATLAB7.0中提供的關(guān)系符有大于(>),小于(<),大于等于(>=),小于等于(<=),等于(==),不等于(`=)。4.4矩陣的邏輯運算MATLAB7.0中提供的邏輯運算主要有與運算(&),或運算(|),非運算(~),異或運算(xor),快速邏輯與運算(&&),快速邏輯或運算(||)和邏輯函數(shù)any、all。下面具體介紹各邏輯運算的使用。4.5矩陣的特殊運算矩陣的特殊操作主要指線性代數(shù)中矩陣的行列式、求逆、特征值、秩運算,在本節(jié)中將詳細介紹矩陣這些特殊運算的實現(xiàn)。4.5.1行列式運算行列式是線性代數(shù)運算中的重要工具,在MATLAB7.0中提供函數(shù)det用于計算矩陣的行列式。如果矩陣為方陣,則其存在行列式,可通過函數(shù)det計算出矩陣的行列式值,為一標量。4.5.2逆運算在線性代數(shù)中,若矩陣A是方陣,且為非奇異陣,即行列式值不為0,存在矩陣x使Ax=I和xA=I,x稱為矩陣A的逆矩陣,記做A-1。在MATLAB7.0中用函數(shù)inv()來計算矩陣的逆。4.5.3秩運算矩陣中線性無關(guān)的行數(shù)與列數(shù)稱為矩陣的秩。在MATLAB7.0中,函數(shù)rank()用于求矩陣的秩。4.5.4特征值運算MATLAB7.0中使用函數(shù)eig計算矩陣的特征值,函數(shù)的用法如下。4.6向量的運算
本節(jié)將介紹向量的基礎知識,重點介紹向量與矩陣運算差異的地方。4.6.1向量的創(chuàng)建1.利用冒號法生成向量2.函數(shù)法生成向量4.6.2向量的基本運算在線性代數(shù)中,若矩陣A是方陣,且為非奇異陣,即行列式值不為0,存在矩陣x使Ax=I和xA=I,x稱為矩陣A的逆矩陣,記做A-1。在MATLAB7.0中用函數(shù)inv()來計算矩陣的逆4.7高維數(shù)組的運算除了上面介紹的矩陣、數(shù)組、向量外,MATLAB還支持高維數(shù)組的使用,高維數(shù)組即二維以上的數(shù)組。本節(jié)主要以三維數(shù)組的操作講述為主。在實際操作中高維數(shù)組的數(shù)據(jù)查看使用不是很方便,同時部分的函數(shù)不支持高維數(shù)組,因而在計算中我們常常還是把高維數(shù)組轉(zhuǎn)換為一般的矩陣操作。4.7.1高維數(shù)組的創(chuàng)建1.直接輸入法2.函數(shù)法4.7.2高維數(shù)組的常用操作1.高維數(shù)組信息的獲取2.高維數(shù)組元素的訪問3.高維數(shù)組的翻轉(zhuǎn)操作4.8本章小結(jié)本章主要介紹了MATLAB矩陣的常用操作。矩陣是MATLAB數(shù)據(jù)分析操作的主要對象,因此學好本章的基礎知識,將利于讀者盡快掌握MATLAB的常用操作,編寫簡單的代碼。第5章程序設計之前章節(jié)的MATLAB相關(guān)操作,主要是在命令窗口中完成的,但是很多時候有些命令需要重復使用,這時可以進行程序設計,在MATLAB中編寫相應的M文件,在編寫完程序后,對程序的調(diào)試和優(yōu)化也是MATLAB程序設計的重要步驟。5.1程序設計文件MATLAB的程序設計是在M文件中完成的。MATLAB提供了專門的程序編輯窗口用于設計程序文件。本節(jié)主要詳細介紹如何在M文件中完成程序設計。5.1.1腳本文件1.腳本文件的創(chuàng)建2.腳本文件的保存3.腳本文件的命名4.腳本文件的運行5.腳本文件的編輯5.1.2函數(shù)文件1.函數(shù)文件的格式規(guī)范2.函數(shù)文件的類型3.函數(shù)文件的運行4.函數(shù)輸入輸出參數(shù)的控制5.2程序設計語言MATLAB提供了8種常用的控制程序流程語句,分別為“for”、“while”、“if”、“switch”、“try”、“continue”、“break”、“return”語句。流程控制語句一般比較長,需要連續(xù)地書寫一段代碼,因此一般流程控制語句多在函數(shù)文件或者腳本文件中使用。5.2.1賦值語句MATLAB中典型的賦值語句調(diào)用格式為:變量名=表達式5.2.2條件語句1.if語句2.switch語句3.try語句5.2.3循環(huán)語句
1.for語句2.while語句3.continue語句5.3交互控制指令在MATLAB中提供了一些交互控制命令,例如輸入控制語句、鍵盤輸入語句、暫停語句、指令顯示控制語句、警告語句、返回語句等,用于控制代碼的執(zhí)行。下面具體介紹這些常用的交互控制命令。5.3.1輸入控制語句在MATLAB中得輸入控制語句為input,input語句用于在程序運行中,用戶輸入變量,可以輸入的變量為數(shù)值或字符串。(1)交互式的輸入數(shù)值。(2)交互式的輸入字符串。
5.3.2鍵盤輸入語句keyboard語句主要用于程序調(diào)試或修改。當執(zhí)行到此語句時,程序?qū)⑼V箞?zhí)行,命令窗口顯示提示符“K>>”,等待用戶通過鍵盤輸入操作命令??梢圆榭匆延嬎愕淖兞康那闆r,或者添加一些代碼等。當處理完成后,用戶輸入return命令,并按下Enter鍵后,程序繼續(xù)運行。5.3.3暫停語句pause命令用于暫停運行的程序,一般用于調(diào)試過程,或者向用戶顯示程序的中間結(jié)果。5.3.4指令顯示控制語句一般的函數(shù)文件在執(zhí)行中,代碼不會顯示,但是如果需要查看運行了哪些代碼,可以使用echo命令,用于控制是否顯示執(zhí)行的代碼,如果開啟顯示功能,程序執(zhí)行的代碼將在命令窗口顯示。5.3.5警告語句當程序運行出錯后,程序設計中需要提供警告語句用于顯示出錯信息。MATLAB提供了可具有警告提示功能的語句主要有warning語句、error語句、errordlg語句。5.3.6返回語句return語句用于結(jié)束程序,可以強制退出某一運行的函數(shù),而break只能退出循環(huán),continue語句只能退出當前的循環(huán),進入下一次循環(huán)。5.4程序的錯誤處理通過上述內(nèi)容的學習,讀者可以基本掌握程序編寫的流程,可以獨立寫出簡單的程序。相對而言,程序的寫作比較容易,寫完后程序是否能保質(zhì)保量的完成指定的設計任務才是關(guān)鍵。在本節(jié)中筆者將結(jié)合多年使用MATLAB的心得體會,與讀者探討MATLAB常見的錯誤類型其程序的調(diào)試方法。5.4.1常見錯誤類型1.拼寫錯誤2.語法錯誤3.邏輯錯誤5.4.2調(diào)試方法1.去掉變量末尾的分號2.轉(zhuǎn)換函數(shù)文件為腳本文件3.交互控制指令查看程序的運行狀況4.Debugger工具5.5程序的優(yōu)化在程序調(diào)試無誤可以順利執(zhí)行后,可能會遇到這一問題,現(xiàn)在的代碼運行時間比較慢,是否可以進一步提高程序的效率,另一方面是否可以有辦法減輕算法編程的復雜度,提高編程效率。本節(jié)將介紹一些MATLAB代碼優(yōu)化的方法,提高代碼的效率。5.5.1循環(huán)計算1.循環(huán)的向量化2.循環(huán)的優(yōu)化5.5.2M文件分析MATLAB還向用戶提高了一個方便地分析編寫的代碼效率的工具,可以告訴用戶代碼各部分的執(zhí)行效率,對于執(zhí)行效率慢得代碼,用戶可以考慮通過其他方法提高算法效率。5.6本章小結(jié)本章主要介紹了MATLAB程序設計的基本知識,通過本章的學習,讀者應該掌握MATLAB程序設計基本的語法規(guī)則,嘗試編寫一些簡單的程序文件,同時進一步完善程序,使其效率更高。第6章圖形可視化本章主要介紹如何利用MATLAB完成數(shù)據(jù)可視化工作。從二維圖形繪制、三維圖形繪制和圖形窗口的編輯這三個方面,向廣大讀者演示如何利用MATLAB實現(xiàn)圖形可視化的工作。6.1二維圖形的繪制本節(jié)將介紹常用二維圖形的繪制、特殊二維圖形的繪制、圖形編輯等操作。其中圖形編輯操作的實現(xiàn)包括函數(shù)法和界面操作兩種方式,在實際使用中,可以根據(jù)需要選擇適當?shù)膱D形編輯方法。6.1.1常用二維圖形的繪制1.plot()函數(shù)2.plotyy()函數(shù)3.loglog()函數(shù)6.1.2特殊二維圖形的繪制1.盒形圖2.正態(tài)分布圖3.Q-Q圖4.分組散點圖5.條形圖6.直方圖7.面積圖8.餅圖9.散點圖10.排列圖11.羅盤圖12.羽毛圖13.矢量圖14.桿型圖15.階梯圖16.極坐標圖17.等值線圖18.曲線誤差6.1.3圖形的編輯函數(shù)1.坐標軸控制2.圖形標注控制3.圖形柵格控制4.圖形保持的控制5.圖形數(shù)據(jù)的讀取6.圖形縮放控制7.圖形保存8.圖形打印6.1.4圖形編輯工具的使用1.圖形窗口的菜單欄2.圖形窗口的工具欄3.數(shù)據(jù)瀏覽窗口的圖形繪制6.2三維圖形在前面的小節(jié)中主要介紹了二維圖形的繪制,但在有些信息量比較豐富的情況下,往往要繪制更為復雜的三維圖形。本章將重點介紹MATLAB在三維圖形繪制中的基礎知識,包括三維圖繪制和編輯的相關(guān)知識。6.2.1三維圖形的繪制1.三維曲線的繪制2.三維網(wǎng)格圖的繪制3.三維表面圖的繪制4.三維等值線圖的繪制5.三維切片圖的繪制6.其他一些三維圖形的繪制6.2.2三維圖形的編輯1.圖形的視角控制2.圖形的顏色控制3.圖形的光線控制6.3MATLAB圖形窗口通過前面兩小節(jié)的學習,可以發(fā)現(xiàn)通過MATLAB繪制的圖形都顯示在圖形窗口。圖形窗口主要用于圖形的顯示和編輯。本節(jié)中將介紹圖像窗口創(chuàng)建、圖形句柄及圖形窗口常用的操作命令。6.3.1圖形窗口的創(chuàng)建圖形窗口的創(chuàng)建可以通過單擊菜單File|New|Figure來創(chuàng)建,同時MATLAB中也提供了函數(shù)figure()用于創(chuàng)建圖形窗口。6.3.2圖形窗口的分割函數(shù)subplot()用于圖形窗口的分割,即在同一個圖形窗口可以同時顯示多個坐標軸的圖形。此函數(shù)可以用于設置多圖形的同時顯示,便于觀察比對。6.3.3圖形窗口的句柄1.獲取圖形對象的句柄值2.使用圖形句柄進行屬性獲取和設置3.圖形窗口的屬性6.3.4圖形窗口的常用操作命令1.clf/cla:清除命令2.delete():刪除命令3.close():關(guān)閉命令4.reset():重置命令6.4本章小結(jié)本章主要介紹了MATLAB圖形處理的相關(guān)知識,通過本章的學習,可以掌握二維、三維繪圖函數(shù)。利用MATLAB提供的繪圖函數(shù),可以很容易地繪制出指定類型的圖形,但是對于一般用戶來說,往往在默認設置下繪制的圖形并不能滿足實際的需要,MATLAB提供了命令函數(shù)法和圖形界面兩種方式編輯完善圖形,可以根據(jù)自己的喜好靈活編輯圖形。第7章圖形用戶界面(GUI)利用MATLAB的圖形用戶界面設計功能,可以方便地進行圖形用戶界面(GraphicalUserInterfaces,GUI)設計。本章主要介紹如何利用MATLAB完成GUI設計工作,主要包括GUI界面、常用的工具箱和控件的介紹,及如何通過程序設計完成GUI的設計工作。7.1GUI簡介在MATLAB7.0中,GUI是由窗口、菜單、控件對象構(gòu)成的一個用戶窗口。圖形用戶界面為用戶和程序之間提供了良好的交互平臺,用戶僅需通過鼠標、鍵盤等設備即可與計算機復雜的程序文件進行交互處理,而無需詳細了解程序算法的源代碼,直接在圖形界面中輸入相應參數(shù),即可輕松完成復雜程序代碼的執(zhí)行。7.2GUI界面設計本章主要介紹MATLABGUI設計的初步知識,包括GUI設計的基本流程、GUI設計的基本原則、GUI的創(chuàng)建、GUI設計窗口、GUI設計常用控件和GUI設計常用工具。通過本節(jié)的學習,讀者將對如何利用MATLAB完成界面的設計有基本的了解。7.2.1GUI設計的基本流程GUI程序設計界面,一般應遵從以下的流程:(1)首先,應該明確界面設計的目標。(2)按照界面設計的總體要求,合理構(gòu)思界面的布局。(3)設計圖形界面中,設計相應對象的參數(shù)。(4)為圖形界面上控制程序執(zhí)行的按鈕,編寫相應的回調(diào)函數(shù)。(5)調(diào)試GUI界面的執(zhí)行。7.2.2GUI設計的基本原則1.簡潔性2.規(guī)范性3.合理性4.人性化7.2.3GUI的創(chuàng)建本節(jié)主要介紹如何利用圖形用戶界面向?qū)В℅raphicalUserInterfacesDevelopmentEnviroment,GUIDE)創(chuàng)建GUI文件。GUIDE為GUI的設計提供了操作簡單、直觀的GUI設計窗口,在其中可以設計常用的界面對象控件、菜單等。7.2.4GUI設計窗口1.菜單欄2.工具欄3.控件工具箱4.GUI設計區(qū)7.2.5GUI設計常用控件1.控件風格和外觀屬性2.控件的常規(guī)信息屬性3.控件回調(diào)函數(shù)的相關(guān)屬性7.2.6GUI設計常用工具1.對象屬性查看器2.菜單編輯器3.布局編輯器4.對象瀏覽器5.Tab順序編輯器6.網(wǎng)格標尺設置編輯器7.GUI屬性設置7.3GUI程序設計在7.2節(jié)中主要介紹了GUI圖形界面設計的GUIDE實現(xiàn)及常用的控件、工具箱,而本節(jié)將重點介紹如何利用編程的方式實現(xiàn)GUI設計。7.3.1GUI對象設計1.圖形窗口的設計2.控件的設計4.菜單的設計7.3.2GUI對話框設計1.公共對話框2.MATLAB專用對話框7.3.3GUI文件1.M文件結(jié)構(gòu)2.回調(diào)函數(shù)3.參數(shù)的傳遞7.4GUI設計實例演示1.創(chuàng)建GUI界面2.回調(diào)函數(shù)的編寫7.5本章小結(jié)本章主要介紹了MATLAB創(chuàng)建GUI的兩種方式,其中利用GUI向?qū)?,只需要通過簡單的鼠標、鍵盤操作,比較適合入門讀者進行一些簡單的界面設計。但是對于一些比較大型的工程項目,利用GUI向?qū)?chuàng)建界面,沒有編程方式創(chuàng)建GUI來得全面。第8章數(shù)值分析本章將主要介紹如何在MATLAB中實現(xiàn)數(shù)值分析,包括最常用的描述性統(tǒng)計分析、隨機數(shù)生成和數(shù)據(jù)生成,同時本書對一些高級數(shù)值計算,例如多項式運算、微分和積分、擬合和插值等也將作簡單的介紹。8.1簡單數(shù)值計算本節(jié)主要介紹最基本的數(shù)值計算,其中描述性統(tǒng)計分析中將介紹常用的用于描述數(shù)據(jù)特征的函數(shù)及其調(diào)用方式,隨機數(shù)生成部分將介紹如何快速通過調(diào)用MATLAB的函數(shù)生成各種分布的隨機數(shù),最后介紹的數(shù)據(jù)排序,在數(shù)值計算中也是十分常用的操作。8.1.1描述性統(tǒng)計分析1.數(shù)學期望與均值2.方差與標準差3.最值與極差4.中位數(shù)與分位數(shù)5.求積和求和6.累積和累和7.協(xié)方差與相關(guān)系數(shù)8.偏斜度與峰度8.1.2隨機數(shù)的生成1.均勻分布隨機數(shù)和標準正態(tài)分布隨機數(shù)生成2.其他分布隨機數(shù)生成3.通用函數(shù)生成各分布的隨機數(shù)據(jù)8.2高級數(shù)值計算本節(jié)主要介紹一些高級的數(shù)值計算操作。包括多項式運算、微分和積分、擬合和插值、方程組的求解。通過本節(jié)的學習讀者將掌握常用的高級數(shù)組計算的函數(shù),及其調(diào)用方式。8.2.1多項式運算
1.多項式求值2.多項式求根3.多項式乘除4.多項式微積分8.2.2微分和積分1.數(shù)值微分2.數(shù)值積分8.2.3擬合和插值
1.擬合基礎2.線性擬合3.非線性擬合4.插值基礎5.一維插值6.二維插值7.高維插值8.2.4方程組的求解
1.線性方程組的求解2.非線性方程求解8.3本章小結(jié)本章主要介紹了MATLAB的數(shù)值分析功能,通過本章的學習讀者應掌握各種數(shù)值分析的方法,今后在遇到同類問題時可以快速的選擇合適的算法,通過MATLAB實現(xiàn)。第9章符號計算符號計算是以符號為主要對象進行的計算,通過符號計算用戶可以實現(xiàn)的功能包括對常用符號對象(符號變量、符號表達式、符號常量、符號矩陣、符號函數(shù))的基本運算,代數(shù)運算,特殊運算等。在MATLAB7.0中提供了專門用于符號計算的工具箱。9.1符號對象在MATLAB中符號計算主要是針對符號對象進行的,因而在進行符號計算前首先需要創(chuàng)建符號對象,然后再對符號對象進行相關(guān)的操作。本節(jié)主要介紹常用的符號對象及其創(chuàng)建,包括符號常量和變量、符號表達式、符號矩陣和符號函數(shù)。9.1.1符號常量和變量符號常量是指不含變量的符號對象,符號常量類似于數(shù)值常量,但與一般常量不同的是,對符號常量的操作,可以得到更為精確的符號解,而非數(shù)值運算的近似解。9.1.2符號表達式1.利用函數(shù)sym()直接創(chuàng)建2.利用符號對象創(chuàng)建9.1.3符號矩陣1.利用函數(shù)sym()直接創(chuàng)建2.利用已有的符號對象組合創(chuàng)建9.1.4符號函數(shù)在MATLAB中創(chuàng)建符號函數(shù)的方法主要有:符號表達式法M文件的方法對于比較復雜的符號函數(shù),建議使用M文件的方式創(chuàng)建,而符號表達式的方法適合用于需要快速創(chuàng)建簡單符號函數(shù)的場合。下面以具體的實例詳細敘述符號函數(shù)的使用。9.2符號表達式的基本運算在MATLAB中的符號計算主要是對符號對象進行操作的,符號對象為用來存儲字符符號的數(shù)據(jù)對象,在使用符號計算功能前,首先需要創(chuàng)建符號對象。本節(jié)主要介紹符號對象的創(chuàng)建,其中常用的符號對象主要包括符號常量和變量、符號表達式、符號矩陣。9.2.1符號表達式的化簡、合并與分解1.合并同類項2.展開3.嵌套格式4.因式分解9.2.2符號表達式的分子分母提取當符號表達式為有理分式時,函數(shù)numden()可用于提取有理分式的分子和分母。9.2.3符號表達式的代數(shù)運算符號表達式的代數(shù)運算與數(shù)值運算類似,也可以通過“+”、“-”、“*”、“/”、“^”等運算符來實現(xiàn)。同時,相應的有函數(shù)symadd()、symsub()、symmul()、symdiv()和sympow()分別用于實現(xiàn)符號表達式的加、減、乘、除、冪運算。9.2.4符號表達式的自變量的確定對于符號表達式往往會有多個符號變量,而在求解微積分、解方程等復雜數(shù)學問題中需要有明確的自變量。自變量通常為小寫字母,一般為x、y、z、t等。小寫字母i和j不作為自變量。優(yōu)先選擇x為自變量,如果不存在x,則按字母表的順序搜索與x接近的字符自變量。9.3符號矩陣的基本運算矩陣運算體現(xiàn)了MATLAB處理科學計算問題的強大功能,相應的符號矩陣運算也是我們處理、分析實際工程問題的重要手段。符號矩陣的運算類似于數(shù)值矩陣,包括了代數(shù)運算和特殊的一些矩陣操作,本節(jié)將向讀者介紹符號矩陣運算的基本知識。9.3.1符號矩陣的代數(shù)運算符號矩陣的代數(shù)運算包括一般的加、減、乘、除等四則運算。符號矩陣的代數(shù)運算是把矩陣當作一個整體,按照代數(shù)運算的準則進行運算,其中的運算基本同數(shù)值矩陣的運算規(guī)則,下面主要以實例來講解符號矩陣的代數(shù)運算。9.3.2符號矩陣的特殊運算符號矩陣的特殊運算主要包括符號矩陣的轉(zhuǎn)置、行列式、求逆、求秩、特征值、奇異值計算,這部分的計算與數(shù)值矩陣的用法基本相同,本節(jié)以實例演示符號矩陣的這些運算。9.4符號微積分運算微積分運算是工程領域經(jīng)常會遇到的問題,MATLAB符號工具箱可以較好的解決符號微積分的問題,下面符號微分、符號積分兩個方面介紹符號微積分在MATLAB中的運算。9.4.1符號微分運算函數(shù)diff()可用于實現(xiàn)符號微分,其調(diào)用格式如下。Y=diff(F):對符號函數(shù)F的默認符號變量進行一階微分;Y=diff(F,’t’):對符號函數(shù)F的符號變量t進行一階微分;Y=diff(F,’t’,n):對符號函數(shù)F的符號變量t進行n階微分。9.4.2符號積分運算函數(shù)int()可用于符號積分,其調(diào)用格式如下。R=int(S):計算符號函數(shù)S對默認的自變量符號的不定積分。R=int(S,v):計算符號函數(shù)S對自變量符號v的不定積分。R=int(S,a,b):計算符號函數(shù)S對默認的自變量符號在[a,b]上的定積分值。R=int(S,v,a,b):計算符號函數(shù)S對自變量符號v在[a,b]上的定積分值。9.5符號方程求解方程求解是科學計算領域經(jīng)常遇到的問題,前面的章節(jié)中介紹了方程的數(shù)值求解方法,本章將介紹方程的符號求解。在本節(jié)中關(guān)于符號方程的求解將從代數(shù)方程和微分方程兩個方面講解,通過本節(jié)的學習,讀者將掌握符號方程求解的能力。9.5.1代數(shù)方程的求解在符號工具箱中函數(shù)solve()用于求解代數(shù)方程和方程組,下面通過命題來講解。9.5.2微分方程的求解MATLAB中函數(shù)dsolve()用于微分方程的求解,下面來具體演示。9.6符號函數(shù)繪圖1.函數(shù)ezplot()2.函數(shù)fplot()3.函數(shù)ezplot3()4.函數(shù)ezcontour()5.函數(shù)ezcontourf()6.函數(shù)ezmesh()7.函數(shù)ezmeshc()8.函數(shù)ezpolar()9.7符號計算的圖形化操作為了便于用戶更為直觀、方便地使用簡單的符號計算功能,在MATLAB7.0中為用戶提供了圖形界面的符號計算操作功能。9.8本章小結(jié)本章主要講述了符號計算的相關(guān)內(nèi)容,但并不是所有的問題都可以用符號計算來求解,讀者應根據(jù)自己的實際問題選擇符號計算或者數(shù)值計算功能求解。第10章Simulink基礎在MATLAB中Simulink設計主要通過圖形化的操作實現(xiàn),因而易學易用,在各個領域都得到了廣泛地應用。本章將向讀者系統(tǒng)介紹Simulink的基礎知識,包括Simulink工作環(huán)境、Simulink模型特點、Simulink常用基本模塊、Simulink建模仿真的實現(xiàn)。10.1Simulink概述Simulink是MATLAB中專門用于建模仿真的工具。用戶可以利用Simulink提供的大量現(xiàn)成的函數(shù)庫,在其工作界面中,通過圖形化地操作方式,即可快速地模擬系統(tǒng),觀察模型仿真結(jié)果。在Simulink設計中,用戶無需對模塊細節(jié)有詳細的理解,只要明確模塊的輸入輸出,各模塊間的連接,參數(shù)的設置,即可快速的進行仿真分析。10.1.1Simulink工作環(huán)境1.Simulink啟動2.SimulinkLibraryBrowser窗口3.Simulink模型編輯窗口10.1.2Simulink模型特點1.交互性強2.功能強3.擴展性強4.靈活性強10.2Simulink常用基本模塊1.CommonlyUsedBlocks(常用模塊庫)2.Continuous(連續(xù)模塊庫)3.Discontinuous(非連續(xù)模塊庫)4.Discrete(離散系統(tǒng)模塊庫)5.LogicandBitOperations(邏輯和位運算模塊庫)6.LookupTables(查表模塊庫)7.MathOperations(數(shù)學運算模塊庫)8.ModelVerification(模型驗證模塊庫)9.Model-WideUtilities(模型擴充實用模塊庫)10.PortsandSubsystems(端口和子系統(tǒng)模塊庫)11.SignalsAttributes(信號屬性模塊庫)12.SignalRouting(信號路由模塊庫)13.Sinks(輸出模塊庫)14.Sources(輸入模塊庫)15.User-definedFunctions(用戶自定義模塊庫)16.AdditionalMath&Discrete(其他數(shù)學和離散模塊庫)10.3Simulink建模與仿真通過上述章節(jié)的學習,相信讀者對Simulink的建模編輯窗口和基本的模塊庫已有了初步的了解。在本節(jié)中將向用戶介紹如何進行Simulink建模與仿真,將按建模的基本流程來介紹。最后,將以一簡單的實例演示Simulink建模與仿真的過程。10.3.1模塊操作1.模塊的詳細功能信息的獲取2.模塊的添加3.模塊移動、剪切、復制、粘貼4.模塊大小的調(diào)整5.模塊方向調(diào)整6.模塊名7.模塊顏色設置8.模塊陰影的添加9.模塊屬性設置10.模塊的連接11.信號線的分支12.信號線的折彎13.信號線的標記14.信號線的粗細15.信號線的分離10.3.2參數(shù)設置1.模塊參數(shù)2.仿真參數(shù)10.3.3仿真運行在設置完各參數(shù)后,就可以對仿真模型進行運行了。系統(tǒng)模型的運行主要有以下幾種方法:(1)單擊模型編輯窗口工具欄中的運行工具。(2)單擊菜單Simulation|Start菜單項。(3)使用快捷方式“Ctrl+T”。(4)利用sim命令進行動態(tài)系統(tǒng)仿真。10.4模型仿真舉例在本節(jié)中將向入門讀者演示一個簡單的仿真程序的生成。10.5本章小結(jié)本章主要介紹了Simulink仿真的基礎知識,通過本章的學習,讀者將對Simulink的使用有初步的了解。其中,包括對Simulink特點、Simulink特點、Simulink常用基本模塊等的了解。本章10.3節(jié)重點講述了如何利用Simulink進行建模仿真,通過學習,讀者將會對建模仿真的基本流程有深刻地體會。第11章應用程序接口本章將主要介紹MATLAB的應用程序接口編程技術(shù),包括引擎技術(shù)、MEX技術(shù)、MAT技術(shù)和COM組件技術(shù)、Excellink技術(shù)和Notebook使用。通過本章的學習將使用戶對MATLAB應用接口編程的技術(shù)有很好的了解,掌握其核心關(guān)鍵技術(shù),從而能靈活應用于各大主流的編程語言環(huán)境中。11.1編譯器基礎MATLAB編譯器為MATLAB軟件與其他編程軟件的混合使用提供了良好的紐帶,可以方便地將用戶編寫的M文件轉(zhuǎn)換為指定格式的程序文件,其中可以轉(zhuǎn)換的文件類型包括(1)可執(zhí)行文件(2)動態(tài)鏈接庫函數(shù)(3)程序組件11.1.1編譯器的安裝和配置MATLAB編譯器的安裝包括MATLABCompiler和C/C++編譯器的安裝,其中MATLABCompiler在MATLAB軟件安裝的時候用戶選擇常規(guī)安裝方式即可安裝,而C/C++編譯器需要再安裝,并對其進行一定的配置。C/C++編譯器用于將MATLABCompiler編譯產(chǎn)生的代碼生成用戶需要的接口程序,MATLAB支持的。11.1.2編譯器的運行MATLAB中提供了函數(shù)mcc()實現(xiàn)編譯工作,本節(jié)主要介紹mcc()函數(shù)的使用。11.2引擎技術(shù)MATLAB引擎技術(shù)是為用戶提供了一種可直接在其他程序中調(diào)用MTALAB函數(shù)的技術(shù),通過該技術(shù)的使用可以方便的調(diào)用MATLAB的各種函數(shù),即前臺程序調(diào)用MATLAB函數(shù)
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度競業(yè)禁止企業(yè)合規(guī)審查服務協(xié)議3篇
- 二零二五年度醫(yī)療耗材采購供貨合同模板3篇
- 二零二五年度智能化公司單方解除勞動合同合同3篇
- 2025年度年度知識產(chǎn)權(quán)保護商標轉(zhuǎn)讓合同模板3篇
- 二零二五年度退股風險評估與管理協(xié)議3篇
- 2025農(nóng)村土地永久轉(zhuǎn)讓與農(nóng)村基礎設施建設合同
- 2025年度養(yǎng)生館合伙人項目投資與管理合同3篇
- 2025年度農(nóng)村土地租賃與農(nóng)業(yè)觀光旅游合作協(xié)議
- 2025年度礦山礦產(chǎn)資源評估與交易合同3篇
- 二零二五年度新材料研發(fā)員工合作協(xié)議書3篇
- 人教五年級英語上冊2011版五年級英語上冊《Lesson17》教案及教學反思
- 交換機安裝調(diào)試記錄表實用文檔
- 理性思維作文素材800字(通用范文5篇)
- 口腔頜面外科學 09顳下頜關(guān)節(jié)疾病
- 應急物資清單明細表
- 房地產(chǎn)估計第八章成本法練習題參考
- 《社會主義核心價值觀》優(yōu)秀課件
- 《妊娠期糖尿病患者個案護理體會(論文)3500字》
- 《小學生錯別字原因及對策研究(論文)》
- 便攜式氣體檢測報警儀管理制度
- 酒店安全的管理制度
評論
0/150
提交評論