配套課件-MATLAB基礎(chǔ)教程_第1頁
配套課件-MATLAB基礎(chǔ)教程_第2頁
配套課件-MATLAB基礎(chǔ)教程_第3頁
配套課件-MATLAB基礎(chǔ)教程_第4頁
配套課件-MATLAB基礎(chǔ)教程_第5頁
已閱讀5頁,還剩194頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、2022年7月25日第1頁第1章 MATLAB R2010a簡介 MATLAB R2010a 基礎(chǔ)教程 教學(xué)目標教學(xué)重點教學(xué)內(nèi)容2022年7月25日第2頁教學(xué)目標了解 MATLAB 語言的基本功能和特點了解 MATLAB 的基本界面了解 MATLAB 的路徑搜索2022年7月25日第3頁教學(xué)重點了解 MATLAB 語言的基本功能了解 MATLAB 語言的基本特點熟悉 MATLAB 的基本界面了解 MATLAB 的路徑搜索2022年7月25日第4頁教學(xué)內(nèi)容MATLAB 簡 介MATLAB R2010a 用戶界面MATLAB R2010a的路徑搜索 2022年7月25日第5頁MATLAB 的特點(

2、1/3)MATLAB 作為一種高級科學(xué)計算軟件,是進行算法開發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析以及數(shù)值計算的交互式應(yīng)用開發(fā)環(huán)境。世界上許許多多的科研工作者都在使用 MATLAB 產(chǎn)品來加快他們的科研進程,縮短數(shù)據(jù)分析和算法開發(fā)的時間,研發(fā)出更加先進的產(chǎn)品和技術(shù)。相對于傳統(tǒng)的 C、C+ 或者 FORTRAN 語言,MATLAB 提供了高效快速解決各種科學(xué)計算問題的方法。目前,MATLAB 產(chǎn)品已經(jīng)被廣泛認可為科學(xué)計算領(lǐng)域內(nèi)的標準軟件工具之一。2022年7月25日第6頁MATLAB 的特點(2/3)MATLAB 可以被廣泛的應(yīng)用于不同的領(lǐng)域,例如信號與圖像處理、控制系統(tǒng)設(shè)計與仿真、通訊系統(tǒng)設(shè)計與仿真、測量測

3、試與數(shù)據(jù)采集、金融數(shù)理分析以及生物科學(xué)等。在MATLAB中內(nèi)嵌了豐富的數(shù)學(xué)、統(tǒng)計和工程計算函數(shù),使用這些函數(shù)進行問題的分析解答,無論是問題的提出還是結(jié)果的表達都采用工程師習(xí)慣的數(shù)學(xué)描述方法,這一特點使 MATLAB 成為了數(shù)學(xué)分析、算法開發(fā)及應(yīng)用程序開發(fā)的良好環(huán)境。MATLAB 的特點為: 2022年7月25日第7頁MATLAB 的特點(3/3)高級科學(xué)計算語言;代碼、數(shù)據(jù)文件的集成管理環(huán)境;算法設(shè)計開發(fā)的交互式工具;用于線性代數(shù)、統(tǒng)計、傅立葉分析、濾波器設(shè)計、優(yōu)化和數(shù)值計算的基本數(shù)學(xué)函數(shù);2-D 和 3-D 數(shù)據(jù)可視化;創(chuàng)建自定義工程師圖形界面的工具;與第三方算法開發(fā)工具C/C+、FORTR

4、AN、Java、COM、Microsoft Excel集成開發(fā)基于 MATLAB 的算法; 2022年7月25日第8頁MATLAB 的功能(1/9)MATLAB 將高性能的數(shù)值計算和可視化功能集成在一起,并提供了大量的內(nèi)置函數(shù),從而被廣泛地應(yīng)用于科學(xué)計算、控制系統(tǒng)和信息處理等領(lǐng)域的分析、仿真和設(shè)計工作,而且利用 MATLAB 產(chǎn)品的開放式結(jié)構(gòu),可以很容易地對 MATLAB 的功能進行擴充,從而在不斷深化問題的認識的同時,不斷完善 MATLAB 產(chǎn)品以提高產(chǎn)品自身的競爭能力。其功能為:2022年7月25日第9頁MATLAB 的功能(2/9) 數(shù)學(xué)計算 MATLAB 提供的數(shù)學(xué)算法凝聚了世界上諸多

5、科學(xué)家的辛勤勞動,保證了數(shù)學(xué)計算精確的結(jié)果。MATLAB 數(shù)學(xué)計算的內(nèi)容有:線性代數(shù)和矩陣分析與變換數(shù)據(jù)處理與基本統(tǒng)計快速傅里葉變換(FFT),相關(guān)與協(xié)方差分析稀疏矩陣運算三角及其它初等函數(shù)Bessel、beta及其它特殊函數(shù)線性方程及微分方程求解多維數(shù)組的支持 2022年7月25日第10頁MATLAB 的功能(3/9)開發(fā)工具MATLAB Editor 該工具提供了標準的編輯、調(diào)試 M 語言算法的基本環(huán)境,例如可以在該工具中定義斷點并且進行單步調(diào)試。M-Lint Code Checker 該工具用于分析 M 語言代碼并且向開發(fā)人員提出改善代碼性能和維護性的建議。MATLAB Profiler

6、 該工具可以計算每行 M 語言代碼執(zhí)行消耗的時間;Directory Reports 該工具掃描當前目錄下所有的 M 語言,并且報告文件的代碼效率、文件的相關(guān)性以及代碼覆蓋度等信息 2022年7月25日第11頁MATLAB 的功能(4/9)數(shù)據(jù)的可視化 MATLAB 提供了功能豐富的數(shù)據(jù)可視化功能函數(shù),其中包括:二維、三維繪圖,包括離散數(shù)據(jù)繪圖、直線圖、封閉折線圖(polygon)、網(wǎng)格圖、等值線圖、極坐標圖、直方圖等豐富多樣的數(shù)據(jù)可視化手段;交互的文本注釋編輯能力;提供文件 I/O ,用于顯示繪制圖形,支持多種圖像文件格式例如:EPS,TIFF,JPEG, PNG,BMP,HDF,AVI,P

7、CX等;軟硬件支持的 OpenGL 渲染;支持動畫和聲音;多種光源設(shè)置、照相機和透視控制;對圖形界面元素提供了交互式可編程的控制方法句柄圖形;能夠打印或者導(dǎo)出數(shù)據(jù)圖形文件到其它的應(yīng)用程序中,例如 Word 和 PowerPoint,共享開發(fā)的結(jié)果。MATLAB 繪制的圖形如:2022年7月25日第12頁MATLAB 的功能(5/9)交互式編輯創(chuàng)建圖形 MATLAB 提供了交互式工具用于設(shè)計、修改圖形窗口,在 MATLAB 的圖形窗口中工程師可以完成: 拖放數(shù)據(jù)集到窗體;修改圖形窗體中任意對象的屬性;放大、旋轉(zhuǎn)、平移、修改攝像機或者光線的位置、角度等;增加注釋和數(shù)據(jù)標注;將圖形窗口文件轉(zhuǎn)變?yōu)?M

8、 代碼。2022年7月25日第13頁MATLAB 的功能(6/9)集成的算法開發(fā)編程語言和環(huán)境 MATLAB 提供了一種簡便易用的算法開發(fā)語言 M 語言,直接利用 MATLAB 提供的基本數(shù)學(xué)、圖形能力,開發(fā)工程師自定義的算法。幾乎所有的 MATLAB 工具箱函數(shù)都是利用 M 語言開發(fā)的。可視化的程序編輯器/調(diào)試器;語法風(fēng)格類似 C 語言,容易掌握;JIT 加速器加快程序運行速度;多維向量及工程師自定義結(jié)構(gòu),以及數(shù)組、結(jié)構(gòu)、單元數(shù)組等多種數(shù)據(jù)結(jié)構(gòu);支持面向?qū)ο缶幊蹋∣OP);流程控制(for,while,if,switch);字符變換;ASCII 及二進制文件輸入輸出;靈活的開發(fā)性能夠與 C,

9、C+,F(xiàn)ORTRAN,Java,COM 組件以及 Excel 集成使用; 支持使用底層 I/O 手段獲取數(shù)據(jù),操作數(shù)據(jù)文件;MATLAB 數(shù)據(jù)文件MAT 文件支持跨平臺應(yīng)用。2022年7月25日第14頁MATLAB 的功能(7/9)圖形用戶界面開發(fā)環(huán)境GUIDE應(yīng)用程序向?qū)Ш喕_發(fā)步驟;下拉及彈出式菜單;支持多種界面元素:按鈕(PUSH BUTTON),單選按鈕(RADIO BUTTON),復(fù)選框(CHECK BOXES), 滑塊(SLIDERS)、文本編輯框(EDIT BOX)和 ActiveX 控件;鼠標事件(Mouse Event)和響應(yīng)函數(shù)(drawback);利用響應(yīng)函數(shù)響應(yīng)工程師的

10、操作。2022年7月25日第15頁MATLAB 的功能(8/9) 開放性、可擴展性強 M-語言函數(shù)文件是可見的 MATLAB 程序,所以工程師可以查看源代碼。開放的系統(tǒng)設(shè)計使工程師能夠檢查算法的正確性,修改已存在的函數(shù),或者加入自己的新函數(shù),包括:使用 C 或者 FORTRAN MEX 文件集成已有的 /FORTRAN 算法;在 C 或 FORTRAN 程序中調(diào)用 MATLAB 函數(shù);在 MATLAB 中使用 Java 語言編程;提供 COM 服務(wù)和 COM 控制支持;輸入輸出各種 MATLAB 及其它標準格式的數(shù)據(jù)文件;對計算機串口進行輸入輸出操作;加載通用 DLL 文件;創(chuàng)建圖文并貌的技術(shù)

11、文檔,包括 MATLAB 圖形、命令,并可通過 Word、HTML 輸出;2022年7月25日第16頁MATLAB 的功能(9/9)專業(yè)應(yīng)用工具箱 MATLAB的工具箱加強了對工程及科學(xué)中特殊應(yīng)用的支持。工具箱也和 MATLAB 一樣是完全工程師化的,可擴展性強。將某個或某幾個工具箱與 MATLAB 聯(lián)合使用,可以得到一個功能強大的計算組合包,滿足工程師的特殊要求。于是,MATLAB 產(chǎn)品被廣泛應(yīng)用于下列領(lǐng)域: 測量測試數(shù)學(xué)建模與分析信號處理財經(jīng)金融建模與分析圖像處理與地理信息MATLAB 應(yīng)用程序發(fā)布 2022年7月25日第17頁MATLAB 的優(yōu)點易于學(xué)習(xí)、使用方便支持多種操作系統(tǒng)豐富的內(nèi)

12、部函數(shù)強大的圖形和符號功能可以自動選擇算法與其他軟件和語言有良好的對接性2022年7月25日第18頁MATLAB 的主界面當前路徑窗口歷史命令窗口命令窗口工具欄主菜單欄當前目錄路徑文件詳細信息工作區(qū)窗口快速啟動窗口按鈕2022年7月25日第19頁MATLAB 的工具欄新建打開剪切復(fù)制粘貼撤銷恢復(fù)Simulink:打開 Simulink,Simulink 是一個用來對動態(tài)系統(tǒng)進行建模、仿真和分析的軟件包,它支持連續(xù)、離散及兩者混合的線性和非線性系統(tǒng),也支持具有多種采樣頻率的系統(tǒng)。 Guide:快速啟動 Guide,Guide 全稱為 Graphical User Interface develo

13、pment environment,用于輔助設(shè)計圖形用戶接口,使用該工具可以簡化 GUI 編程。Profiler:快速啟動 Profiler 工具,Profiler 工具能夠分析出程序運行時間消耗情況,用于幫助分析、改進 M 文件 Help:打開 MATLAB 幫助; Current Directory:設(shè)置當前目錄2022年7月25日第20頁MATLAB 的窗口命令窗口MATLAB 命令窗口。打開 MATLAB 時,命令窗口自動顯示于 MATLAB 界面中。 運算提示符,表示 MATLAB 處于準備狀態(tài),用戶可以輸入命令,按下回車鍵執(zhí)行,并在命令窗口中顯示運行結(jié)果 2022年7月25日第21

14、頁MATLAB 的窗口歷史命令窗口默認情況下歷史命令窗口位于左下角,顯示用戶曾經(jīng)輸入過的命令,并顯示輸入的時間,方便用戶查詢。對于歷史命令窗口中的命令,用戶可以點擊右鍵進行相應(yīng)的操作。用戶可以雙擊再次執(zhí)行命令窗口中的命令。 命令歷史窗口2022年7月25日第22頁MATLAB 的窗口工作區(qū)窗口 工作區(qū)窗口與當前路徑窗口共享一塊空間,可以通過標簽顯示或隱藏。工作區(qū)窗口中顯示當前工作區(qū)中的所有變量及其大小和類型等。通過工作區(qū)可以對這些變量進行管理。其中包含了工作區(qū)工具欄和顯示窗口。通過工具欄可以新建或刪除變量、導(dǎo)入導(dǎo)出數(shù)據(jù)、繪制變量的圖形等。另外右鍵單擊變量名可以對該變量進行操作。工作區(qū)窗口202

15、2年7月25日第23頁MATLAB 的窗口當前路徑窗口 當前路徑窗口顯示當前路徑下的所有文件和文件夾及其相關(guān)信息,并且可以通過當前路徑工具欄或右鍵菜單對這些文件進行操作 。當前路徑窗口2022年7月25日第24頁MATLAB 的路徑搜索(1/3)路徑設(shè)置 除 MATLAB 默認的搜索路徑外,用戶可以設(shè)置搜索路徑。設(shè)置方法為:選擇 MATLAB 窗口中的 File | Set Path 命令,進入路徑搜索對話框。添加選中目錄 添加選中目錄及其子目錄 2022年7月25日第25頁MATLAB 的路徑搜索(2/3)路徑設(shè)置函數(shù)path 命令 在命令窗口中輸入 path 命令可以查看 MATLAB 中

16、的搜索路徑 : pathMATLABPATHD:Program FilesMATLABR2010atoolboxmatlabgeneralD:Program FilesMATLABR2010atoolboxmatlabopsD:Program FilesMATLABR2010atoolboxmatlablangD:Program FilesMATLABR2010atoolboxmatlabelmat path(newpath) 命令改變搜索路徑 2022年7月25日第26頁MATLAB 的路徑搜索(3/3)MATLAB 的搜索順序 當在命令窗口中或者一個 M 文件中輸入一個元素名稱時,MATL

17、AB 按照下面的順序搜索該元素的意義,以元素 foo 為例:1)查找工作區(qū)中是否存在名為 foo 的變量;2)在當前路徑中查找是否存在名 foo.m 的文件;3)按照順序查找搜索路徑中是否存在該文件。如果存在多個名為 foo.m 的文件,則調(diào)用首先查到的文件。 因此,在為變量和函數(shù)命名時,需考慮 MATLAB 的路徑搜索順序,合理為變量和函數(shù)命名,保證程序的正確運行。 2022年7月25日第27頁第2章 基本使用方法 MATLAB R2010a 基礎(chǔ)教程 教學(xué)目標教學(xué)重點教學(xué)內(nèi)容2022年7月25日第28頁教學(xué)目標 掌握利用MATLAB R2010a的命令窗口進行簡單的數(shù)學(xué)運算 掌握常用的操作

18、命令和快捷鍵 了解MATLAB R2010a的數(shù)據(jù)類型 了解MATLAB R2010a的操作符 了解MATLAB R2010a的基本數(shù)學(xué)函數(shù) 了解MATLAB R2010a腳本編程2022年7月25日第29頁教學(xué)重點 掌握利用MATLAB R2010a的命令窗口進行簡單的數(shù)學(xué)運算 掌握常用的操作命令和快捷鍵 了解MATLAB R2010a的數(shù)據(jù)類型 了解MATLAB R2010a的操作符2022年7月25日第30頁教學(xué)內(nèi)容簡單的數(shù)學(xué)運算常用的操作命令和快捷鍵MATLAB R2010a 的數(shù)據(jù)類型MATLAB R2010a 的運算符 MATLAB的一些基礎(chǔ)函數(shù)MATLAB腳本文件 2022年7月

19、25日第31頁簡單的數(shù)學(xué)運算(1/6)最簡單的計算器使用法直接輸入法 存儲變量法2022年7月25日第32頁簡單的數(shù)學(xué)運算(2/6)表達式書寫規(guī)則在大多數(shù)情況下,MATLAB 對空格不予處理,因此在書寫表達式時,可以利用空格調(diào)整表達式的格式,使表達式更易于閱讀。在 MATLAB 表達式中,遵守四則運算法則,與通常法則相同。即運算從左到右進行,乘法和除法優(yōu)先于加減法,指數(shù)運算優(yōu)先于乘除法,括號的運算級別最高;在有多重括號存在的情況下,從括號的最里邊向最外邊逐漸擴展。需要注意的是,在 MATLAB 中只用小括號代表運算級別,中括號只用于生成向量和矩陣,花括號用于生成單元數(shù)組。2022年7月25日第

20、33頁簡單的數(shù)學(xué)運算(3/6) MATLAB中的常用數(shù)學(xué)函數(shù) MATLAB提供的基本初等函數(shù)包括三角函數(shù)、指數(shù)函數(shù)和對數(shù)函數(shù)、復(fù)數(shù)函數(shù)、取整和求余函數(shù)、坐標變換函數(shù)、數(shù)理函數(shù)和一些特殊函數(shù)。 2022年7月25日第34頁簡單的數(shù)學(xué)運算(4/6)MATLAB 的數(shù)學(xué)運算符 需要注意的是,右除和左除的意義并不相同。右除為常規(guī)的除法,而左除的意義為:ab=b/a。 符號功能實例+加法3+5=8-減法3-5=-2*矩陣乘法3*5=15.*乘,點乘,即數(shù)組乘法/右除3/5 =0.6000./數(shù)組右除左除35= 1.6667.數(shù)組左除乘方35= 243.數(shù)組乘方矩陣共軛轉(zhuǎn)置.矩陣轉(zhuǎn)置2022年7月25日第

21、35頁簡單的數(shù)學(xué)運算(5/6) 標點符號的使用 在 MATLAB 中,標點符號有著充分的意義,可以用標點符號進行運算,或者標點符號可以包含特定的意義。 標點符號定義標點符號定義分號(;)數(shù)組行分隔符;取消運行顯示點(.)小數(shù)點;結(jié)構(gòu)體成員訪問逗號(,)數(shù)組列分隔符;函數(shù)參數(shù)分隔符省略號()續(xù)行符冒號(:)在數(shù)組中應(yīng)用較多,如生成等差數(shù)列引號()定義字符串圓括號(( ))指定運算優(yōu)先級;函數(shù)參數(shù)調(diào)用;數(shù)組索引等號(=)賦值語句方括號( )定義矩陣感嘆號(!)調(diào)用操作系統(tǒng)運算花括號( )定義單元數(shù)組百分號(%)注釋語句的標識2022年7月25日第36頁簡單的數(shù)學(xué)運算(6/6)分號(;) 分號用于區(qū)

22、分數(shù)組的行,或者用于一個語句的結(jié)尾處,取消運行顯示。百分號(%) 該符號用于在程序文本中添加注釋,增加程序的可讀性。百分號之后的文本都將視作注釋,系統(tǒng)不對其進行編譯。2022年7月25日第37頁常用的操作命令和快捷鍵(1/3)為方便用戶操作,MATLAB 中定義了一些快捷鍵。掌握一些常用的操作命令和快捷鍵,可以使得對 MATLAB 的操作更加便利。 2022年7月25日第38頁常用的操作命令和快捷鍵(2/3)常用的操作命令命令功能命令功能cd顯示或改變工作目錄hold圖形保持命令clc清空命令窗口load加載指定文件中的變量clear清除工作區(qū)中的變量pack整理內(nèi)存碎片clf清除圖形窗口pa

23、th顯示搜索目錄diary日志文件命令quit退出 MATLABdir顯示當前目錄下文件save保存內(nèi)存變量disp顯示變量或文字的內(nèi)容type顯示文件內(nèi)容echo命令窗口信息顯示開關(guān)2022年7月25日第39頁常用的操作命令和快捷鍵(3/3)常用的操作快捷鍵快捷鍵功能快捷鍵功能(Ctrl + p)調(diào)用上一行Home(ctrl+a)移動到命令行開頭(Ctrl + n)調(diào)用下一行End(ctrl+e)移動到命令行結(jié)尾(Ctrl + b)光標左移一個字符Ctrl + Home移動到命令窗口頂部(Ctrl + f)光標右移一個字符Ctrl + End移動到命令窗口底部Ctrl + 光標左移一個單詞S

24、hift + Home選中光標和表達式開頭之間的內(nèi)容Ctrl + 光標右移一個單詞Shift + End選中光標和表達式結(jié)尾之間的內(nèi)容Esc取消當前輸入行Ctrl + k剪切光標和表達式結(jié)尾之間的內(nèi)容2022年7月25日第40頁MATLAB R2010a 的數(shù)據(jù)類型整數(shù) 浮點數(shù) 復(fù)數(shù) 邏輯變量 各種數(shù)據(jù)類型之間的轉(zhuǎn)換 數(shù)據(jù)類型操作函數(shù) 變量 系統(tǒng)預(yù)定義的特殊變量 2022年7月25日第41頁整數(shù)MATLAB 支持8位、16位、32位和64位的有符號和無符號整數(shù)數(shù)據(jù)類型。上述整數(shù)數(shù)據(jù)類型除了定義范圍不同外,具有相同的性質(zhì)。數(shù)據(jù)類型描述uint88位無符號整數(shù),范圍為0255(即028-1)int

25、88位有符號整數(shù),范圍為-128127(即-2727-1)uint1616位無符號整數(shù),范圍為065535(即0216-1)int1616位有符號整數(shù),范圍為-3276832767(即-215215-1)uint3232位無符號整數(shù),范圍為04294967295(即0232-1)int3232位有符號整數(shù),范圍為-21474836482147483647(即-231231-1)uint6464位無符號整數(shù),范圍為018446744073709551615(即0264-1)int6464位有符號整數(shù),范圍為-92233720368547758089223372036854775807(即-263

26、263-1)2022年7月25日第42頁定義整數(shù)變量定義變量:由于 MATLAB 默認的數(shù)據(jù)類型為雙精度型,因此在定義整形變量時,需指定變量的數(shù)據(jù)類型。2022年7月25日第43頁整數(shù)運算(1/2)運算:類型相同的整數(shù)之間可以進行運算,返回相同類型的結(jié)果。在進行加、減和乘法運算時比較簡單,在進行除法運算時稍微復(fù)雜一些,因為在多精度情況下,整數(shù)的除法不一定能得到整數(shù)的結(jié)果。在進行除法時,MATLAB 首先將兩個數(shù)視為雙精度類型進行運算,然后將結(jié)果轉(zhuǎn)化為相應(yīng)的整形數(shù)據(jù)。MATLAB 中不允許進行不同整數(shù)類型之間的運算。2022年7月25日第44頁整數(shù)運算(2/2)由于每種整數(shù)數(shù)據(jù)類型都有相應(yīng)的取值

27、范圍,因此數(shù)學(xué)運算有可能產(chǎn)生結(jié)果溢出。MATLAB 利用飽和處理處理此類問題,即當運算結(jié)果超出了此類數(shù)據(jù)類型的上限或下限時,系統(tǒng)將結(jié)果設(shè)置為該上限或下限。例 2-10 整數(shù)運算中的數(shù)據(jù)溢出 x=int8(100); y=int8(90); z=x+yz = 127 x-3*yans = -27 x-y-y-yans = -128結(jié)果溢出上限,因此結(jié)果為127 3*y溢出上限,結(jié)果為127,繼續(xù)計算,得到最后結(jié)果-27 計算x-y-y-y時,從左到右進行計算,結(jié)果溢出下限,因此結(jié)果為-128 2022年7月25日第45頁浮點數(shù)(1/2)MATLAB 的默認數(shù)據(jù)類型是雙精度類型(double)。為

28、了節(jié)省存儲空間,MATLAB 也支持單精度數(shù)據(jù)類型的數(shù)組。 單精度和雙精度數(shù)據(jù)類型的取值范圍和精度可以通過例 2-12 的方式進行查看 2022年7月25日第46頁浮點數(shù)(2/2)例 2-12 單精度和雙精度數(shù)據(jù)類型的取值范圍和精度 realmin(single)ans = 1.1755e-038 realmax(single)ans = 3.4028e+038 eps(single)ans = 1.1921e-007 realmin(double)ans = 2.2251e-308 realmax(double)ans = 1.7977e+308 eps(double)ans = 2.220

29、4e-016創(chuàng)建單精度類型的變量時需要聲明變量類型,與創(chuàng)建整型變量類似。單精度數(shù)據(jù)類型的數(shù)據(jù)進行運算時,返回值為單精度。2022年7月25日第47頁復(fù)數(shù)復(fù)數(shù)由兩個部分組成:實部和虛部。基本虛數(shù)單位等于,在 MATLAB 中虛數(shù)單位由 i 或者 j 表示。MATLAB 中可以通過兩種方法創(chuàng)建復(fù)數(shù),第一種方法為直接輸入法,另一種創(chuàng)建復(fù)數(shù)的方法為通過 complex 函數(shù)。 2022年7月25日第48頁復(fù)數(shù)complex 函數(shù)的調(diào)用方法如下。 c = complex(a,b),返回結(jié)果 c 為復(fù)數(shù),其實部為 a,虛部為 b。輸入?yún)?shù) a 和 b 可以為標量,或者維數(shù)、大小相同的向量、矩陣或者多維數(shù)組

30、,輸出參數(shù)和 a 和 b 的結(jié)構(gòu)相同。a 和 b 可以有不同的數(shù)據(jù)類型,當 a 和 b 為各種不同的類型時,返回值分別為:當 a 和 b 中有一個為單精度時,返回結(jié)果為單精度;如果 a 和 b 其中一個為整數(shù)類型,則另外一個必須有相同的整數(shù)類型,或者為雙精度型,返回結(jié)果 c 為相同的整數(shù)類型。c = complex(a),只有一個輸入?yún)?shù),返回結(jié)果 c 為復(fù)數(shù),其實部為 a,虛部為 0。但是此時 c 的數(shù)據(jù)類型為復(fù)數(shù)。2022年7月25日第49頁邏輯變量(1/5)邏輯數(shù)據(jù)類型通過 1 和 0 分別表示邏輯真和邏輯假。一些 MATLAB 函數(shù)或操作符會返回邏輯真或邏輯假表示條件是否滿足。如表達式

31、 (5 * 10) 40 返回邏輯真。在 MATLAB 中,存在邏輯數(shù)組,如下面的表達式返回邏輯數(shù)組: 30 40 50 60 70 40ans = 0 0 1 1 12022年7月25日第50頁邏輯變量(2/5)邏輯數(shù)組的創(chuàng)建 創(chuàng)建邏輯數(shù)組的最簡單的方法為直接輸入元素的值為 true 或者 false 邏輯數(shù)組也可以通過邏輯表達式生成2022年7月25日第51頁邏輯變量(3/5)MATLAB 中返回邏輯值的函數(shù)和操作符 函數(shù)說明true, false將輸入?yún)?shù)轉(zhuǎn)化為邏輯值logical將數(shù)值轉(zhuǎn)化為邏輯值& (and), | (or), (not), xor, any, all邏輯操作符&,

32、|“并”和“或”的簡寫方式= (eq), = (ne), (gt), = (ge)關(guān)系操作符所有的 is* 類型的函數(shù),cellfun判斷函數(shù)strcmp, strncmp, strcmpi, strncmpi字符串比較2022年7月25日第52頁邏輯變量(4/5)邏輯數(shù)組的應(yīng)用 用于條件表達式 如果僅當條件成立時執(zhí)行某段代碼,可以應(yīng)用邏輯數(shù)組進行判斷和控制 用于數(shù)組索引在 MATLAB 中支持通過一個數(shù)組對另一個數(shù)組進行索2022年7月25日第53頁邏輯變量(5/5)邏輯數(shù)組的判斷 MATLAB 中提供了一組函數(shù)用于判斷數(shù)組是否為邏輯數(shù)組 函數(shù)功能whos(x)顯示數(shù)組 x 的元素值及數(shù)據(jù)類

33、型islogical(x)判斷數(shù)組 x 是否為邏輯數(shù)組,是則返回真isa(x, logical)判斷數(shù)組 x 是否為邏輯數(shù)組,是則返回真class(x)返回數(shù)組 x 的數(shù)據(jù)類型cellfun(islogical, x)判斷單元數(shù)組的每個單元是否為邏輯值2022年7月25日第54頁各種數(shù)據(jù)類型之間的轉(zhuǎn)換在 MATLAB 中,各種數(shù)據(jù)類型之間可以互相轉(zhuǎn)化,轉(zhuǎn)化方式為:1)datatype(variable),其中 datatype 為目標數(shù)據(jù)類型,variable 為待轉(zhuǎn)化的變量;2)cast(x,type),將x的類型轉(zhuǎn)化為type指定的類型。 轉(zhuǎn)化時,如果由高精確度數(shù)據(jù)類型轉(zhuǎn)化為低精確度數(shù)據(jù)類

34、型,則對數(shù)據(jù)進行四舍五入;如果由定義范圍大的數(shù)據(jù)類型轉(zhuǎn)化為定義范圍小的數(shù)據(jù)類型,則返回目標數(shù)據(jù)類型的上限或下限。2022年7月25日第55頁數(shù)據(jù)類型操作函數(shù)其中的 type 包括 numeric、integer、float 和所有的數(shù)據(jù)類型。 函數(shù)描述double創(chuàng)建或轉(zhuǎn)化為雙精度類型single創(chuàng)建或轉(zhuǎn)化為單精度類型int8,int16,int32,int64創(chuàng)建或轉(zhuǎn)化為相應(yīng)的有符號整數(shù)類型uint8,uint16,uint32,uint64創(chuàng)建或轉(zhuǎn)化為相應(yīng)的無符號整數(shù)類型isnumeric判斷是否為整數(shù)或浮點數(shù),是則返回true(或者1)isinteger判斷是否為整數(shù),是則返回true(

35、或者1)isfloat判斷是否為浮點數(shù),是則返回true(或者1)isa(x,type)判斷是否為 type 指定的類型,是則返回true(或者1)cast(x,type)設(shè)置x的類型為 typeintmax(type)type 類型的最大整數(shù)值intmin(type)type 類型的最小整數(shù)值realmax(type)type 類型的最大浮點實數(shù)值realmin(type)type 類型的最小浮點實數(shù)值eps(type)type 類型eps值eps(x)變量x的eps值2022年7月25日第56頁變量MATLAB 的變量命名規(guī)則與其他計算機語言類似,這一節(jié)介紹 MATLAB 的命名規(guī)則。首先

36、,變量名必須是一個單一的詞,不能包含空格,另外其命名必須符合下列規(guī)則:(1)變量名區(qū)分大小寫。如 pi 和 Pi 是兩個不同的變量。在命令窗口中輸入如下的命令,查看其結(jié)果。(2)變量名長度不超過63個字符,超過的部分將會被忽略。(3)變量名必須以字母開始,其后可以為字母、數(shù)字或者下劃線。MATLAB 中的變量名不支持其他符號,因為其他符號在 MATLAB 中具有特殊的意義。 2022年7月25日第57頁MATLAB R2010a 的操作符(1/3)關(guān)系運算符 MATLAB 的關(guān)系運算符能用來比較兩個相同大小的數(shù)組,或用來比較一個數(shù)組和一個標量。MATLAB 的關(guān)系運算符包括所有常用的比較運算符

37、,如表所示 運算符說明運算符說明小于大于=大于或等于=等于=不等于2022年7月25日第58頁MATLAB R2010a 的操作符(2/3)邏輯運算符邏輯運算符主要包括“與”、“或”和“非”。使用邏輯運算符可以將多個表達式組合在一起,或者對關(guān)系表達式取反。MATLAB 中的邏輯運算符如表所示。運算符描述&與&與,只適用于標量。a & b,當 a 的值為假時,則忽略 b 的值|或|或,只適用于標量。a | b,當 a 的值為真時,則忽略 b 的值非2022年7月25日第59頁MATLAB R2010a 的操作符(3/3)運算符優(yōu)先級 MATLAB 在執(zhí)行含有關(guān)系運算和邏輯運算的數(shù)學(xué)運算時,同樣遵

38、循一套優(yōu)先級原則。MATLAB 首先執(zhí)行具有較高優(yōu)先級的運算,然后執(zhí)行具有較低優(yōu)先級的運算;如果兩個運算的優(yōu)先級相同,則按從左到右的順序執(zhí)行。MALTAB 中各運算符的優(yōu)先級順序如表所示,表中按照優(yōu)先級從高到低的順序排列各運算符。運算符圓括號 ()轉(zhuǎn)置 (.),共軛轉(zhuǎn)置 (),乘方 (.),矩陣乘方 ()標量加法 (+)、減法 (-)、取反 ()乘法 (.*),矩陣乘法 (*),右除 (./),左除 (.),矩陣右除 (/),矩陣左除 ()加法 (+),減法 (-),邏輯非 ()冒號運算符 (:)小于 (),小于等于 (),大于等于 (=),等于 (=),不等于 (=)數(shù)組邏輯與 (&)數(shù)組邏

39、輯或 (|)邏輯與 (&)邏輯或 (|)2022年7月25日第60頁MATLAB的一些基礎(chǔ)函數(shù)位操作函數(shù) 邏輯運算函數(shù) 集合函數(shù) 時間與日期函數(shù) 2022年7月25日第61頁MATLAB腳本文件(1/3)對于一些簡單的問題,當需要的命令數(shù)很少時,用戶可以直接在 MATLAB 的命令窗口中輸入命令。但是,對于多數(shù)問題,所需的命令較多,或者需要邏輯運算,進行流程控制,此時采用直接輸入命令的方法則會引起不便。針對這些問題,一個合理的解決方法是使用腳本文件。腳本文件不接受輸入?yún)?shù),不返回任何值,而是代碼的結(jié)合,該方法允許用戶將一系列 MATLAB 命令輸入到一個簡單的腳本文件中,只要在 MATLAB

40、命令窗口中執(zhí)行該文件,則會依次執(zhí)行該文件中的命令。腳本文件的用法 在使用腳本文件時需要注意一點:當當前工作區(qū)中存在與該腳本同名的變量時,則當輸入該文件名時,系統(tǒng)將其作為變量名執(zhí)行。2022年7月25日第62頁MATLAB腳本文件(2/3)塊注釋在 MATLAB 7.0 以前的版本中,注釋是逐行進行的,采用百分號(%)進行標記。逐行注釋不利于用戶增加和修改注釋內(nèi)容。在 MATLAB 7.0 及以后的版本中,用戶可以使用“%”和“%”符號進行塊注釋,“%”和“%”分別代表注釋塊的起始和結(jié)束。2022年7月25日第63頁MATLAB腳本文件(3/3)代碼單元在以往的版本中,MATLAB 通過編譯器提

41、供的操作命令和工具執(zhí)行一段選中的代碼。在 MATLAB 7.0 及以后的新版本中,用戶可以使用代碼單元完成這一操作。一個代碼單元指用戶在 M 文件中指定的一段代碼,以一個代碼單元符號(兩個百分號加空格,即“% ”為開始標志,到另一個代碼單元符號結(jié)束,如果不存在代碼單元符號,則直到該文件結(jié)束。用戶可以通過 MATLAB 編輯器中的 cell 菜單創(chuàng)建和管理代碼單元。需要注意的是,代碼單元只能在 MATLAB 編輯器窗口中創(chuàng)建和使用,而在 MATLAB 命令窗口中是無效的。當作命令窗口中運行 M 文件時,將執(zhí)行文件中的全部語句。2022年7月25日第64頁第5章 字符串、單元數(shù)組和結(jié)構(gòu)體 MATL

42、AB R2010a 基礎(chǔ)教程 教學(xué)目標教學(xué)重點教學(xué)內(nèi)容2022年7月25日第65頁教學(xué)目標掌握字符串的生成及操作掌握單元數(shù)組的生成及操作掌握結(jié)構(gòu)體的生成及操作2022年7月25日第66頁教學(xué)重點字符串單元數(shù)組結(jié)構(gòu)體2022年7月25日第67頁教學(xué)內(nèi)容字符串單元數(shù)組結(jié)構(gòu)體2022年7月25日第68頁字符串的生成(1/2) 字符串的生成 MATLAB 中的字符串為 ASCII 值的數(shù)值數(shù)組,作為字符串表達式進行表示。在 MATLAB 中,生成字符串的方法為 stringname=the content of the string。2022年7月25日第69頁字符串的生成(2/2) 字符串是一個 A

43、SCII 碼的字符數(shù)組,因此,與普通數(shù)組一樣,字符串也可以形成矩陣(表現(xiàn)為一個字符串有多行)。但是,這些行必須有相同數(shù)目的列數(shù)。另外,使用 char 函數(shù)可以創(chuàng)建長度不一致的字符串矩陣。char 函數(shù)自動將所有字符串的長度設(shè)置為輸入字符串中長度的最大值。2022年7月25日第70頁字符串的操作 字符串的顯示字符串的顯示有兩種方式:直接顯示和利用 disp 函數(shù)進行顯示。字符串的執(zhí)行在 MATLAB 中可以用函數(shù) eval 來執(zhí)行字符串。2022年7月25日第71頁字符串的運算字符串的運算主要包括:判斷字符串是否相等通過字符串運算來比較字符串中的字符進行字符分類、查找與替換字符串與數(shù)值數(shù)組之間的

44、相互轉(zhuǎn)換 函數(shù)名函數(shù)用途函數(shù)名函數(shù)用途strcat橫向連接字符串strvcat縱向連接字符串strcmp字符串比較strncmp比較字符串的前n 個字符findstr字符串查找strjust字符串對齊strmatch字符串匹配strrep字符串查找與替換strtok選擇字符串中的部分blanks創(chuàng)建由空格組成的字符串deblank刪除字符串結(jié)尾的空格ischar判斷變量是否為字符串iscellstr判斷字符串單元數(shù)組isletter判斷數(shù)組是否由字母組成isspace判斷是否空格stringsMATLAB 字符串句柄2022年7月25日第72頁字符串的比較(1/3)字符串的比較主要為比較兩個字

45、符串是否相同,字符串中的子串是否相同和字符串中的個別字符是否相同。用于比較字符串的函數(shù)主要是 strcmp 和 strncmp。strcmp:用于比較兩個字符串是否相同。用法為 strcmp(str1,str2),當兩個字符串相同時返回1,否則返回0。當所比較的兩個字符串是單元字符數(shù)組時,返回值為一個列向量,元素為相應(yīng)行比較的結(jié)果。strncmp:用于比較兩個字符串的前面幾個字符是否相同。用法為 strncmp(str1,str2,n), 當字符串的前 n 個字符相同時返回1,否則返回 0。當所比較的兩個字符串時單元數(shù)組時,返回值為列向量,元素為相應(yīng)行比較的結(jié)果。2022年7月25日第73頁字

46、符串的比較(2/3)除了利用上面兩個函數(shù)進行比較之外,還可以通過簡單運算比較兩個字符串。當兩個字符串擁有相同的維數(shù)時,可以利用 MATLAB 運算法則,對字符數(shù)組進行比較。字符數(shù)組的比較與數(shù)值數(shù)組的比較基本相同,不同之處在于字符數(shù)組比較時進行比較的是字符的 ASCII 碼值。進行比較返回的結(jié)果為一個數(shù)值向量,元素為對應(yīng)字符比較的結(jié)果。需要注意的是在利用這些運算比較字符串時,相互比較的兩個字符串必須有相同數(shù)目的元素。符號符號意義英文簡寫=等于eq=不等于ne大于gt=大于等于ge2022年7月25日第74頁字符串的比較(3/3)除上面介紹的兩個字符串之間的比較之外,MATLAB 還可以判斷字符串

47、中的字符是否為空格字符或者字母。實現(xiàn)這兩個功能的函數(shù)分別為 isspace 和isletter。下面分別介紹這兩個函數(shù)。isspace:用法為 isspace(str),判斷字符串 str 中的字符是否為空格,是空格字符則返回1,否則返回0。isletter:用法為 isletter(str),判斷字符串 str 中的字符是否為字母,是字母則返回1,否則返回0。2022年7月25日第75頁字符串的查找和替換查找與替換是字符串操作中的一項重要內(nèi)容。用于查找的函數(shù)主要有 findstr,strmatch,strrep,strtok 等。下面一一介紹這些函數(shù)。findstr:用于在一個字符串中查找子

48、字符串,返回子字符串出現(xiàn)的起始位置。用法為findstr(str1,str2),執(zhí)行時系統(tǒng)首先判斷兩個字符串的長短,然后在長的字符串中檢索短的子字符串。 strrep:查找字符串中的子字符串并將其替換為另一個子字符串。用法為 str = strrep(str1, str2, str3),將 str1 中的所有子字符串 str2 替換為 str3。2022年7月25日第76頁strmatch:在字符數(shù)組的每一行中查找是否存在待查找的字符串,存在則返回1,否則返回0。用法為strmatch(str, STRS),查找 str 中以 STRS 開頭的字符串。另外可以用strmatch(str, ST

49、RS,exact),查找精確包含 STRS 的字符串。strtok:該函數(shù)用于選取字符串中的一個部分。該函數(shù)的簡單用法為 strtok(str)。字符串的查找和替換2022年7月25日第77頁字符串與數(shù)值之間的轉(zhuǎn)化 一個字符串是由單引號括起來的簡單文本。在字符串中的每個字符都是數(shù)組中的一個元素,這些數(shù)字是由 ASCII 字符表示的。這些字符和整數(shù)之間可以相互轉(zhuǎn)化。首先,可以將字符串轉(zhuǎn)化為數(shù)組。2022年7月25日第78頁char 函數(shù)的用法 char 函數(shù)的用法Str=char(arr),該命令將包含正數(shù)的數(shù)組 arr 轉(zhuǎn)化為數(shù)值數(shù)組當 C 是一個字符型單元數(shù)組是,Str=char(arr)

50、命令將 C 中的每一個單元轉(zhuǎn)化為字符型數(shù)組的對應(yīng)行。使用 cellstr 可以進行逆變換。Str=char(str1,str2,str3,.),該命令生成的字符串矩陣包含字符串 str1、str2 和 tr3,三個字符串的長度可以不相同。2022年7月25日第79頁字符串和數(shù)值數(shù)組之間的轉(zhuǎn)化上面已經(jīng)介紹字符串和數(shù)值數(shù)組之間可以相互轉(zhuǎn)化,除上面介紹的方法,MTALAB 還提供更多的函數(shù),用于字符串和其他數(shù)據(jù)類型數(shù)值數(shù)組之間的轉(zhuǎn)化,可以實現(xiàn)更多功能。 函數(shù)功能備注uintN(如,uint8)將字符串轉(zhuǎn)化為相應(yīng)的無符號整數(shù)uint8(ab) 97 98str2num將字符型轉(zhuǎn)化為數(shù)字型str2num

51、(123.56) 123.5600str2double與上一函數(shù)的功能相同,結(jié)果更精確一些,同時支持單元字符串數(shù)組double(123.56) 49 50 51 46 53 54。hex2num將十六進制數(shù)轉(zhuǎn)化為雙精度數(shù)hex2num(A) -1.4917e-154hex2dec將十六進制數(shù)基數(shù)轉(zhuǎn)化為正數(shù)hex2dec(B) 11bin2dec將二進制轉(zhuǎn)化為十進制bin2dec(1010) 10base2dec將 N 底數(shù)字字符串轉(zhuǎn)化為十進制base2dec(212,3) 232022年7月25日第80頁單元數(shù)組 單元數(shù)組的生成單元數(shù)組的操作 單元數(shù)組元素的訪問單元數(shù)組的顯示單元數(shù)組的圖形顯示

52、單元數(shù)組元素的刪除改變單元數(shù)組的維數(shù)2022年7月25日第81頁單元數(shù)組的生成單元數(shù)組中的每一個元素稱為單元(cell)。單元中的數(shù)據(jù)可以為任何數(shù)據(jù)類型,包括數(shù)值數(shù)組、字符、符號對象、其他單元數(shù)組和結(jié)構(gòu)體。不同的單元中的數(shù)據(jù)類型可以不同。MATLAB 中的單元數(shù)組可以為任意維,通常最常用的是一維和二維單元數(shù)組。用戶可以通過兩種方式創(chuàng)建一個單元數(shù)組:一個是通過賦值語句直接創(chuàng)建;二是利用 cell 函數(shù)先為單元數(shù)組分配一個內(nèi)存空間,然后再給各個單元賦值。2022年7月25日第82頁直接賦值法通過給每個單元逐個賦值來創(chuàng)建單元數(shù)組。單元數(shù)組用花括號表示,在賦值時需要將單元內(nèi)容用花括號(即)括起來。下面

53、介紹用 cell 函數(shù)創(chuàng)建單元數(shù)組。使用 cell 函數(shù)創(chuàng)建單元數(shù)組的步驟為:首先用 cell 函數(shù)創(chuàng)建一個空的單元數(shù)組,然后再為數(shù)組元素賦值。單元數(shù)組的生成2022年7月25日第83頁單元數(shù)組元素的訪問 使用圓括號和花括號對單元數(shù)組索引是不同的。當采用圓括號時表示的是該單元,而采用花括號時則表示的是該單元的內(nèi)容。在 MATLAB 單元數(shù)組索引中,圓括號用于標志單元、花括號用于按單元的尋址。2022年7月25日第84頁顯示單元數(shù)組在顯示單元數(shù)組時 MATLAB 有時只顯示單元的大小和數(shù)據(jù)類型,而不顯示每個單元的具體內(nèi)容。若要顯示單元數(shù)組的內(nèi)容,可以用 celldisp 函數(shù)。celldisp

54、函數(shù)用于顯示單元數(shù)組的全部內(nèi)容,有時候只需要顯示單元數(shù)組的一個單元,可以用花括號對單元進行索引。2022年7月25日第85頁單元數(shù)組的圖形顯示 除上面的單元數(shù)組查看方式外,MATLAB 支持以圖形方式查看單元數(shù)組的內(nèi)容。用這種方法可以直觀的看出單元數(shù)組的結(jié)構(gòu)。但是需要注意的是,cellplot 只能用于顯示二維單元數(shù)組的內(nèi)容。2022年7月25日第86頁單元數(shù)組元素的刪除 單元數(shù)組元素刪除的方法很簡單,只需將待刪除的元素置為“空”即可。需要注意的是在刪除單元數(shù)組的元素時,采用的索引方式為一維下標,格式為:A(cell_subscripts) = 。如果操作的單元數(shù)組為多維數(shù)組,則其索引方式逐維

55、進行,刪除元素后,系統(tǒng)將該單元數(shù)組改變?yōu)橐痪S單元數(shù)組,元素按照維數(shù)逐次排序。刪除數(shù)組元素可以每次刪除多個,下標用一維數(shù)組指定2022年7月25日第87頁改變單元數(shù)組的維數(shù) 改變數(shù)組的維數(shù)可以通過添加或刪除數(shù)組元素完成。刪除數(shù)組元素時,得到的單元數(shù)組為原數(shù)組中剩下元素排列而成,為一維數(shù)組,如上面一部分所介紹。添加數(shù)組元素時,自動添加該數(shù)組所對應(yīng)的行和列,其他元素為空。另外可以通過函數(shù) reshape 改變數(shù)組的形狀。reshape 函數(shù)按照順序?qū)⒃瓎卧獢?shù)組的元素進行重新放置,得到新的單元數(shù)組元素個數(shù)與原數(shù)組相同。2022年7月25日第88頁結(jié)構(gòu)體 結(jié)構(gòu)體的生成 結(jié)構(gòu)體的操作 添加成員變量刪除成員

56、變量調(diào)用成員變量2022年7月25日第89頁結(jié)構(gòu)體的生成與單元數(shù)組類似,結(jié)構(gòu)體也有兩種生成方式,一種是直接輸入,另一種是使用結(jié)構(gòu)體生成函數(shù) struct。通過直接輸入結(jié)構(gòu)體各元素值的方法可以創(chuàng)建一個結(jié)構(gòu)體。輸入的同時定義該元素的名稱,并使用“.”將變量名與元素名連接。struct 函數(shù)的最基本的使用方式是 struct_name=struct(field1,V1,field2,V2,.),其中 fieldn 是各成員變量名,Vn為對應(yīng)的各成員變量的內(nèi)容。2022年7月25日第90頁添加成員變量 如果需要向結(jié)構(gòu)體中添加新的成員,可以直接輸入該變量的名稱并賦值。2022年7月25日第91頁刪除成員

57、變量 在 MATLAB 中可以使用函數(shù) rmfield 從結(jié)構(gòu)體中刪除成員變量。命令 S=rmfield(S,field) 將刪除結(jié)構(gòu)體 S 中的成員 field,同時保留 S 原有的結(jié)構(gòu)??梢允褂妹?S=rmfield(S,fields) 一次刪除多個成員,其中 fields 為字符行變量或者單元型變量。該命令刪除 fields 中指定的成員。2022年7月25日第92頁調(diào)用成員變量 在 MATLAB 中調(diào)用成員變量非常簡單。結(jié)構(gòu)體中的任何信息,可以通過“結(jié)構(gòu)體變量名.成員名”的方式調(diào)用。調(diào)出成員變量后,可以利用相關(guān)函數(shù)進行調(diào)用。應(yīng)用實例 加密 該節(jié)的代碼清單給出了加密和解密算法,以及兩次

58、解密嘗試 一次使用了錯誤的密鑰,一次使用了錯誤的隨機數(shù)發(fā)生器。見書中代碼清單5-1和5-2。2022年7月25日第94頁第6章 MATLAB 編程MATLAB R2010a 基礎(chǔ)教程 教學(xué)目標教學(xué)重點教學(xué)內(nèi)容2022年7月25日第95頁教學(xué)目標掌握 MATLAB的編程流程掌握 MATLAB的變量類型掌握 MATLAB中的流程控制語句掌握 MATLAB的函數(shù)類型和函數(shù)操作了解 MATLAB中的錯誤處理與程序調(diào)試方法2022年7月25日第96頁教學(xué)重點MATLAB 的編程流程MATLAB 的變量類型MATLAB 中的流程控制語句MATLAB 的函數(shù)類型和函數(shù)操作 MATLAB 程序調(diào)試方法2022

59、年7月25日第97頁教學(xué)內(nèi)容腳本文件和編輯器/調(diào)試器程序設(shè)計和開發(fā)關(guān)系運算符和邏輯變量邏輯運算符和函數(shù)條件語句循環(huán)switch結(jié)構(gòu)調(diào)試MATLAB程序應(yīng)用實例 液面的計算 2022年7月25日第98頁腳本文件和編輯器/調(diào)試器 在MATLAB中,用戶可以使用兩種方法執(zhí)行運算: (1) 在交互模式下,直接在命令窗口中輸入所有的命令。 (2) 通過運行腳本文件中所存儲的MATLAB程序。2022年7月25日第99頁M-文件 MATLAB使用兩類M-文件:腳本文件和函數(shù)文件。創(chuàng)建和使用腳本文件有效使用腳本文件 有效使用命令窗口和編輯器/調(diào)試器窗口 調(diào)試腳本文件 編程風(fēng)格 記錄度量單位 使用腳本文件存儲

60、數(shù)據(jù) 控制輸入和輸出 用戶輸入 腳本文件示例 2022年7月25日第100頁創(chuàng)建和使用腳本文件 創(chuàng)建新的M-文件,只需在命令窗口的File菜單中選中New菜單項,然后選中M-文件。在之后出現(xiàn)的編輯器/調(diào)試器窗口中輸入文件,用鍵盤和編輯器/調(diào)試器的Edit菜單創(chuàng)建和編輯文件。完成后,從編輯器/調(diào)試器的File菜單中選中Save菜單項。在出現(xiàn)的對話框中,用example1替換系統(tǒng)所提供的默認名稱,并單擊Save菜單項。編輯器/調(diào)試器將自動提供擴展名.m,并將文件保存在MATLAB當前目錄中。保存了文件之后,用戶就可以在MATLAB命令窗口中輸入腳本文件名example1以執(zhí)行程序。用戶應(yīng)該會看到命

溫馨提示

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

評論

0/150

提交評論