MATLAB的簡要介紹課件_第1頁
MATLAB的簡要介紹課件_第2頁
MATLAB的簡要介紹課件_第3頁
MATLAB的簡要介紹課件_第4頁
MATLAB的簡要介紹課件_第5頁
已閱讀5頁,還剩91頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、MATLAB的簡要介紹1MATLAB的簡要介紹一、數(shù)學(xué)軟件四大家 二、MATLAB系統(tǒng)概述三、MATLAB初步使用2一、數(shù)學(xué)軟件四大家目前在科技和工程界上比較流行和著名的數(shù)學(xué)軟件主要有四個,分別是Maple、MATLAB、MathCAD和Mathematica。它們在各自針對的目標(biāo)都有不同的特色。 3Maple V 系統(tǒng) Maple V是由Waterloo大學(xué)開發(fā)的數(shù)學(xué)系統(tǒng)軟件,它不但具有精確的數(shù)值處理功能,而且具有無以倫比的符號計算功能。Maple V的符號計算能力還是MathCAD和MATLAB等軟件的符號處理的核心。Maple提供了2000余種數(shù)學(xué)函數(shù),涉及范圍包括:普通數(shù)學(xué)、高等數(shù)學(xué)、

2、線性代數(shù)、數(shù)論、離散數(shù)學(xué)、圖形學(xué)。內(nèi)置的編程語言:用戶可以開發(fā)自己的應(yīng)用程序,而且Maple自身的2000多種函數(shù),基本上是用此語言開發(fā)的。輸入輸出方式:Maple采用字符行輸入方式,輸入時需要按照規(guī)定的格式輸入,雖然與一般常見的數(shù)學(xué)格式不同,但靈活方便,也很容易理解。輸出則可以選擇字符方式和圖形方式,產(chǎn)生的圖形結(jié)果可以很方便地剪貼到Windows應(yīng)用程序內(nèi)。 4MATLAB 系統(tǒng)MATLAB原是矩陣實驗室(Matrix Laboratory)在70年代用來提供Linpack和Eispack軟件包的接口程序,采用C語言編寫。從80年代出現(xiàn)3.0的DOS版本,逐漸成為科技計算、視圖交互系統(tǒng)和程序

3、語言。MATLAB可以運行在十幾個操作平臺上,比較常見的有基于Windows 9X/NT、OS/2、Macintosh、Sun、Unix、Linux等平臺的系統(tǒng)。MATLAB程序主要由主程序和各種工具包組成,其中主程序包含數(shù)百個內(nèi)部核心函數(shù),工具包則包括復(fù)雜系統(tǒng)仿真、信號處理工具包、系統(tǒng)識別工具包、優(yōu)化工具包、神經(jīng)網(wǎng)絡(luò)工具包、控制系統(tǒng)工具包、分析和綜合工具包、樣條工具包、符號數(shù)學(xué)工具包、圖像處理工具包、統(tǒng)計工具包等。而且5.x版本還包含一套幾十個的PDF文件,從MATLAB的使用入門到其他專題應(yīng)用均有詳細(xì)的介紹。5MathCAD 系統(tǒng) MathCAD是美國Mathsoft公司推出的一個交互式的

4、數(shù)學(xué)系統(tǒng)軟件。從早期的DOS下的1.0和Windows下的4.0版本,到今日的8.0版本,功能也從簡單的數(shù)值計算,直至引用Maple強大的符號計算能力,使得它發(fā)生了一個質(zhì)的飛躍。MathCAD是集文本編輯、數(shù)學(xué)計算、程序編輯和仿真于一體的軟件。MathCAD7.0 Professional(專業(yè)版)運行在Win9X/NT下,它的主要特點是輸入格式與人們習(xí)慣的數(shù)學(xué)書寫格式很近似,采用WYSWYG(所見所得)界面,特別適合一般無須進行復(fù)雜編程或要求比較特殊的計算。7MathCAD 7.0 Professional 還帶有一個程序編輯器,對于一般比較短小,或者要求計算速度比較低時,采用它也是可以的。

5、這個程序編輯器的優(yōu)點是語法特別簡單。MathCAD可以看作是一個功能強大的計算器,沒有很復(fù)雜的規(guī)則;同時它也可以和Word、Lotus、WPS2000等字處理軟件很好地配合使用,可以把它當(dāng)作一個出色的全屏幕數(shù)學(xué)公式編輯器。8Mathematica系統(tǒng)所接受的命令都被稱作表達(dá)式,系統(tǒng)在接受了一個表達(dá)式之后就對它進行處理,然后再把計算結(jié)果返回。Mathematica對于輸入形式有比較嚴(yán)格的規(guī)定,用戶必須按照系統(tǒng)規(guī)定的數(shù)學(xué)格式輸入,系統(tǒng)才能正確地處理,不過由于3.0版本引入輸入面板,并且可以修改、重組輸入面板,因此以前版本輸入指令時需要不斷切換大小寫字符的繁瑣方式得到很好的改善。3.0版本可以用各種

6、格式保存文件和剪貼內(nèi)容,包括RTF、HTML、BMP等格式。10四種軟件的比較 選用何種數(shù)學(xué)軟件?如果僅僅是要求一般的計算或者是普通用戶日常使用,首選的是MathCAD,它在高等數(shù)學(xué)方面所具有的能力,足夠一般客戶的要求,而且它的輸入界面也特別友好。如果要求計算精度、符號計算和編程方面的話,最好同時使用Maple和Mathematica,它們在符號處理方面各具特色,有些Maple不能處理的,Mathematica卻能處理,諸如某些積分、求極限等方面,這些都是比較特殊的。如果要求進行矩陣方面或圖形方面的處理,則選擇MATLAB,它的矩陣計算和圖形處理方面則是它的強項,同時利用MATLAB的Note

7、Book功能,結(jié)合Word6.0/7.0的編輯功能,可以很方便地處理科技文章。 11二、 MATLAB系統(tǒng)概述 MATLAB是一個高級數(shù)學(xué)分析與運算軟件,是一個開放的環(huán)境,可以應(yīng)用于動態(tài)系統(tǒng)的建模和仿真。 1980年前后,New Mexico大學(xué)的Cleve Moler博士在講授線性代數(shù)課程過程中,意識到應(yīng)用一般高級語言編程解決工程計算問題存在諸多不便,于是利用已有的一些軟件成果,采用Fortran語言構(gòu)思開發(fā)了這套軟件,取名為MATLAB MATrix LABoratory(矩陣實驗室)。 之后,他又與John Little合作,采用C語言改寫了MATLAB系統(tǒng)內(nèi)核,并成立了Mathwork

8、s公司,將其正式推向市場。12系統(tǒng)構(gòu)成MATLAB系統(tǒng) 主包、Simulink、工具箱MATLAB語言:是基于矩陣/數(shù)組運算的高級語言,具備完整的流程控制語句、函數(shù)、數(shù)據(jù)結(jié)構(gòu)等,并具有面向?qū)ο蟮某绦蛟O(shè)計特性。工作環(huán)境:集成了許多工具和程序,具備管理工作空間及輸入、輸出數(shù)據(jù)功能,可為用戶提供不同的工具來開發(fā)、調(diào)試、管理應(yīng)用程序。MATLAB主包14MATLAB語言 MATLAB的含義是矩陣實驗室(MATRIX LABORATORY),主要用于方便矩陣的存取,其基本元素是無須定義維數(shù)的矩陣。MATLAB自問世以來,就是以數(shù)值計算稱雄。MATLAB進行數(shù)值計算的基本單位是復(fù)數(shù)數(shù)組(或稱陣列),這使的

9、MATLAB高度“向量化”。經(jīng)過十幾年的完善和擴充,現(xiàn)已發(fā)展成為線性代數(shù)課程的標(biāo)準(zhǔn)工具。由于它不需定義數(shù)組的維數(shù),并給出矩陣函數(shù)、特殊矩陣專門的庫函數(shù),使之在求解諸如信號處理、建模、系統(tǒng)識別、控制、優(yōu)化等領(lǐng)域的問題時,顯得大為簡捷、高效、方便,這是其它高級語言所不能比擬的。15系統(tǒng)構(gòu)成 是一個用于動態(tài)系統(tǒng)仿真的交互式系統(tǒng)。它允許用戶在屏幕上繪制框圖來模擬一個系統(tǒng),并能夠動態(tài)地控制該系統(tǒng)。它采用鼠標(biāo)驅(qū)動方式,可以處理線性、非線性、連續(xù)、離散、多變量及多級系統(tǒng)。Simulink 是解決各領(lǐng)域特定問題的開放式函數(shù)庫,可以應(yīng)用,也可以根據(jù)需要進行補充。目前已有涉及數(shù)學(xué)、控制、通信、信號處理、圖象處理、

10、經(jīng)濟、地理等二十多種工具箱投入使用。工具箱17工具箱實際上是對MATLAB進行擴展應(yīng)用的一系列MATLAB函數(shù)(稱為M文件),它可用來求解各類學(xué)科的問題,包括信號處理、圖象處理、控制系統(tǒng)辨識、神經(jīng)網(wǎng)絡(luò)等。隨著MATLAB版本的不斷升級,其所含的工具箱的功能也越來越豐富,因此,應(yīng)用范圍也越來越廣泛,成為涉及數(shù)值分析的各類工程師不可不用的工具。工具箱18網(wǎng)上資源 用戶可以通過與Internet相連,并通過其在線服務(wù)即可獲得豐富的MATLAB資源。 Mathworks公司有一個WWW服務(wù)器,可以用Web的用戶程序如IE進行訪問,在地址欄中輸入就可以連接到Mathworks公司主頁,從中可查詢各類相關(guān)

11、信息。一些有用的網(wǎng)絡(luò)資源如下。19網(wǎng)上資源Mathworks公司主頁suport技術(shù)支持bugs錯誤報導(dǎo)suggest產(chǎn)品升級建議service訂購情況、許可碼info銷售等一般信息matlibmail文件服務(wù)器digestMATLAB文摘20網(wǎng)上資源MATLAB大觀園MATLAB語言與應(yīng)用論壇九州恒潤公司網(wǎng)站Mathtools公司網(wǎng)站哈工大MATLAB教學(xué)網(wǎng)站“MATLAB樂園”網(wǎng)站21三、MATLAB初步使用 命令窗口是用戶應(yīng)用MATLAB的交互界面,它包括File、Edit、View、Web、Window、Help等菜單項。命令窗口的菜單系統(tǒng)22初步使用24初步使用25初步使用27初步使

12、用28 MATLAB除設(shè)置Help菜單外,還提供如下一些幫助命令:幫助系統(tǒng)初步使用Help 獲取在線幫助;Demo 運行MATLAB演示程序;Tour 運行MATLAB漫游程序;Who 列出當(dāng)前工作空間中的變量;Whos 列出當(dāng)前工作空間中變量信息;What 列出當(dāng)前目錄或指定目錄下的M文件、MEX文件、MAT文件;29初步使用Which 顯示指定函數(shù)或文件的路徑;Lookfor 按照指定關(guān)鍵字查找所有相關(guān)的M文件;Exist 檢查指定的變量或函數(shù)文件是否存在;Helpwin 運行幫助窗口;Helpdesk 運行HTML格式的幫助面板;Doc 在網(wǎng)絡(luò)瀏覽器中顯示指定內(nèi)容的HTML格式幫助文件,

13、或啟動Helpdesk。30初步使用 demo是Mathworks公司精心設(shè)計的、旨在介紹MATLAB功能的演示程序,其界面友好、示例典型、表現(xiàn)方式生動直觀。 在命令窗口中鍵入 demo命令,就將打開相應(yīng)的MATLAB的Demos窗口。演示程序31初步使用32舉例以demos-MATLAB-Graphics-3-D Plots(波峰圖) 為例mesh 網(wǎng)孔圖surf 表面色塊填充圖surfl 表面亮度層次圖contour 等高線圖quiver 震動圖slice 切片圖demo 還可以進行自行編輯加工33初步使用34舉例以demos-Toolboxes-Communications-Phase

14、shift keying simulation(模擬相移鍵控) 為例介紹Toolboxes以demos-simulink-General-simple pendulum simulation-(模擬鐘擺動畫)35變量與數(shù)據(jù)類型 作為一種編程語言,MATLAB也具有與其它計算機語言類似的變量命名規(guī)則:變量名大小寫區(qū)別對待;變量名以字母開頭,由字母、數(shù)字、下劃線組成;變量名長度不超過19個字符,第19個字符之后的字符被忽略。 例如以下變量名在MATLAB中是合法的:Items,items,itEms,ITEMS,howaboutthisvarible,x12345,x_12345。36變量與數(shù)據(jù)類

15、型ans 輸出最近一次結(jié)果的缺省變量名pi 圓周率eps 最小的機器數(shù)flops 浮點運算次數(shù)inf 無窮大,如1/0NaN 不定值,如0/0、inf-infi或j 虛單位realmia 最小可用正實數(shù)realmax 最大可用正實數(shù)MATLAB中的一些特殊變量37變量與數(shù)據(jù)類型MATLAB的數(shù)據(jù)類型38第一講 MATLAB簡介 11 MATLAB與通信仿真 111 通信電路與系統(tǒng)仿真 112 MATLAB的發(fā)展史 113 MATLAB語言的主要特點 12 MATLAB簡介 121 MATLAB的計算功能 MATLAB的數(shù)據(jù)結(jié)構(gòu)、數(shù)值計算功能、符號計算功能(*)。 122 MATLAB中的計算結(jié)

16、果可視化 二維曲線圖形三維曲面圖形、句柄圖形、圖形用戶界面(GUI)編程。3911 MATLAB與通信仿真111 通信電路與系統(tǒng)仿真 一般來說,通信電路與系統(tǒng)仿真過程可以分為五個步驟:(1)系統(tǒng)建模:根據(jù)要分析的通信電路與系統(tǒng),建立相應(yīng)的數(shù)學(xué)模型。(2)仿真算法:找到合適的仿真算法。 MATLAB已經(jīng)被確認(rèn)為準(zhǔn)確、可靠的科學(xué)計算標(biāo)準(zhǔn)軟件。(3)仿真語言:應(yīng)用仿真語言編寫計算程序。MTLAB語言有非常突出的優(yōu)點,是通信電路與系統(tǒng)仿真首選的仿真語言。(4)仿真計算:根據(jù)初步的仿真結(jié)果對該數(shù)學(xué)模型進行驗證。(5)系統(tǒng)仿真:進行系統(tǒng)仿真,并認(rèn)真地分析仿真的結(jié)果。 仿真算法、仿真語言和仿真程序構(gòu)成了數(shù)字

17、仿真軟件。 數(shù)學(xué)模型的正確性、仿真算法的可行性、仿真程序的準(zhǔn)確性和可靠性,最后編制成一個成熟的仿真軟件。40111 通信電路與系統(tǒng)仿真(續(xù)) 通信電路與系統(tǒng)仿真在教學(xué)實踐中應(yīng)用越來越普遍。 對于改進教學(xué)效果、給學(xué)生提供形象化的信息、激發(fā)學(xué)生的學(xué)習(xí)興趣、提高學(xué)生的自學(xué)能力、加強學(xué)生對授課內(nèi)容的理解等無疑是十分有益的。有利于對學(xué)生分析問題的能力和解決問題的能力的培養(yǎng)。 學(xué)生掌握了系統(tǒng)仿真的方法以后,不但使他加強了對所學(xué)課程的理解,同時還便于鉆研一些他本人感興趣的問題,有利于部分學(xué)有余力的學(xué)生進一步自學(xué)的要求。 在美國和歐洲大學(xué)中,九十年代將MATLAB正式列入了電子工程專業(yè)研究生和本科生的教學(xué)計劃

18、, MATLAB是必須掌握的基本工具。 在設(shè)計研究單位和工業(yè)界,MATLAB也成為工程師們應(yīng)該掌握的一種工具,是被認(rèn)作進行高效研究、開發(fā)的首選軟件工具。41112 MATLAB的發(fā)展史 MATLAB名字由MATrix和 LABoratory 兩詞的前三個字母組合而成。那是20世紀(jì)七十年代,時任美國新墨西哥大學(xué)計算機科學(xué)系主任的Cleve Moler出于減輕學(xué)生編程負(fù)擔(dān)的動機,為學(xué)生設(shè)計了一組調(diào)用LINPACK和EISPACK矩陣軟件工具包庫程序的的“通俗易用”的接口,此即用FORTRAN編寫的萌芽狀態(tài)的MATLAB。 1984年由Little、Moler、Steve Bangert合作成立Ma

19、thWorks公司,并把MATLAB正式推向市場。從這時起,MATLAB的內(nèi)核采用C語言編寫,而且除原有的數(shù)值計算能力外,還新增了數(shù)據(jù)圖視功能。 1997年仲春,MATLAB5.0版問世,緊接著是5.1、5.2,以及和1999年春的5.3版?,F(xiàn)今的MATLAB擁有更豐富的數(shù)據(jù)類型和結(jié)構(gòu)、更友善的面向?qū)ο?、更加快速精良的圖形可視、更廣博的數(shù)學(xué)和數(shù)據(jù)分析資源、更多的應(yīng)用開發(fā)工具。42113 MATLAB語言的主要特點(1)具有豐富的數(shù)學(xué)功能 包括矩陣各種運算。如:正交變換、三角分解、特征值、常見的特殊矩陣等。 包括各種特殊函數(shù)。如:貝塞爾函數(shù)、勒讓德函數(shù)、伽碼函數(shù)、貝塔函數(shù)、橢圓函數(shù)等。 包括各種

20、數(shù)學(xué)運算功能。如:數(shù)值微分、數(shù)值積分、插值、求極值、方程求根、FFT 、常微分方程的數(shù)值解等。(2)具有很好的圖視系統(tǒng) 可方便地畫出兩維和三維圖形。 圖形用戶界面GUI制作工具,可以制作用戶菜單和控件。使用者可以根據(jù)自己的需求編寫出滿意的圖形界面。 高級圖形處理。如:色彩控制、句柄圖形、動畫等。43113 MATLAB語言的主要特點(續(xù))(3)可以直接處理聲言和圖形文件。(4)具有若干功能強大的應(yīng)用工具箱。(5)使用方便,具有很好的擴張功能。 聲言文件。如: WAV文件(例:wavread,sound等)。 圖形文件。如: bmp 、gif 、 pcx 、tif 、jpeg等文件。 如:SIM

21、ULINK、COMM、DSP、 SIGNAL等16種工具箱。(6)具有很好的幫助功能 可以M文件轉(zhuǎn)變?yōu)楠毩⒂谄脚_的EXE可執(zhí)行文件。 使用MATLAB語言編寫的程序可以直接運行,無需編譯。 提供十分詳細(xì)的幫助文件(PDF 、HTML 、demo文件)。 聯(lián)機查詢指令:help指令(例:help elfun,help exp,help simulink),lookfor關(guān)鍵詞(例: lookfor fourier )。 MATLAB的應(yīng)用接口程序API是MATLAB提供的十分重要的組件 ,由 一系列接口指令組成 。用戶就可在FORTRAN或C中 , 把MATLAB當(dāng)作計算引擎使用 。 4412

22、MATLAB簡介12 1 MATLAB的計算功能(1) MATLAB的數(shù)據(jù)類型 現(xiàn)有四種基本數(shù)據(jù)類型:雙精度數(shù)組、字符串?dāng)?shù)組、元胞數(shù)組、構(gòu)架數(shù)組。 元胞數(shù)組(Cell Array)如同銀行里的保險箱庫一樣。 該數(shù)組的基本組分是元胞(Cell),以下標(biāo)來區(qū)分。 元胞可以存放任何類型、任何大小的數(shù)組。 構(gòu)架數(shù)組(Structure Array)也能存放各類數(shù)據(jù)。 該數(shù)組的基本組分是構(gòu)架( Structure ),以下標(biāo)來區(qū)分。 構(gòu)架必須在劃分“域”后才能使用。 數(shù)據(jù)不能存放于構(gòu)架,只能存放在域中。 構(gòu)架的域可以存放任何類型、任何大小的數(shù)組。 不同構(gòu)架的同名域中存放的內(nèi)容可不同。(例 1_2_2 )

23、 同一個元胞數(shù)組中各元胞的內(nèi)容可以不同。(例 1_2_1)45(2) MATLAB的基本數(shù)值計算功能 基本計算功能:MATLAB有強大的函數(shù)庫。(常用的基本函數(shù)庫和常用的三角函數(shù)庫等)矩陣運算及數(shù)組運算。矩陣運算符:+ 加法,- 減法,* 乘法, 冪, 左除,/ 右除, 轉(zhuǎn)置。數(shù)組運算符:.+ 加法,.- 減法,.* 乘法,. 冪,. 左除,./ 右除,. 共軛。數(shù)組函數(shù)和矩陣函數(shù)。例 1_2_3:已知 的采樣數(shù)據(jù)是 維數(shù)組。 要計算 。對一般的計算語言來說,必須采用兩層循環(huán)才能得到結(jié)果。MATLAB處理這類問題則簡潔快捷得多,它只需直截了當(dāng)?shù)囊粭l指令y = exp(-2*t).*sin(5*

24、t) ,就可獲得同樣是 維的 數(shù)組。46(3) MATLAB的高級數(shù)值計算功能關(guān)系運算和邏輯運算。多項式:多項式的求根、分解 、求導(dǎo)數(shù)以及多項式的擬合。數(shù)據(jù)分析函數(shù):對數(shù)據(jù)集合進行統(tǒng)計分析。例如:求最大值、最小值、平均值、標(biāo)準(zhǔn)偏差 、相關(guān)系數(shù)等。數(shù)值分析函數(shù):求函數(shù)極值、函數(shù)零點和極點、數(shù)值積分、數(shù)值微分、微分方程的數(shù)值解等。付立葉變換和付立葉逆變換。例 1_2_4:在付立葉變換(Fourier)、 Z 變換和拉氏變換(Laplace)中,常有兩個多項式之比,MATLAB中提供函數(shù) residue 執(zhí)行部分分式展開。例 1_2_5:應(yīng)用數(shù)值積分,求時間函數(shù)w(t)的Fourier級數(shù)展開系數(shù)。

25、例 1_2_6:應(yīng)用FFT,求時間函數(shù)w(t)的Fourier級數(shù)展開系數(shù)。47(4) MATLAB的符號計算 符號表達(dá)式和符號矩陣。 符號矩陣的基本運算。 符號計算的兩大特點:符號解和任意精度解。 MATLAB的符號計算借助符號工具箱(Symbolic)實現(xiàn)。 定義基本符號對象的指令有兩個:sym,syms。 符號表達(dá)式: 。 符號矩陣: 兩個符號矩陣的和: symadd(A,B) 兩個符號矩陣的差: symsub(A,B) 兩個符號矩陣的積: symmul(A,B) 兩個符號矩陣的除: symdiv(A,B) 符號矩陣的求逆: inverse(B)48(4) MATLAB的符號計算(續(xù))

26、符號微積分。 符號積分變換。 符號代數(shù)方程的求解。 符號微分方程的求解:y1,y2,=dsolve(a1,a2,a12)例 1_2_7:應(yīng)用符號計算法,求時間函數(shù)w(t)的Fourier級數(shù)展開系數(shù)。 符號表達(dá)式的微分: diff(f) 符號表達(dá)式的積分: int(f) 線性方程組的符號解:X=linsolve(A,B)(特解) 一般代數(shù)方程的解:solve(S)X,Z=linsolve(A,B)(通解)49122 MATLAB中的計算結(jié)果可視化(1)二維曲線圖形和三維曲面圖形 二維曲線圖形。 三維曲面圖形。 基本繪圖指令:PLOT(Y),PLOT(X,Y)例 1_2_8:混合式圖形的繪制(矩

27、陣對向量的圖形)。 一個窗口多個圖形的繪制:SUBPLOT(M,N,P)例 1_2_9:一個窗口多個圖形的繪制。 三維線性圖形。例 1_2_10:繪制一個三維螺旋線。三維曲面圖形。例 1_2_11:繪制一個三維曲面圖形。50(1)二維曲線圖形和三維曲面圖形(續(xù)1) 特殊二維圖形指令: 填充的函數(shù)折(曲)線圖(面域圖):area 直方圖:bar 垂直的直方圖:barh 三維直方圖:bar3 垂直的三維直方圖:bar3h 慧星軌跡狀的圖形:comet 誤差棒圖:errorbar 符號函數(shù)二維曲線:ezplot 沿X軸分布的復(fù)數(shù)向量圖(羽毛圖):feather 射線圖:compass 平面多邊形填色

28、 :fill 51(1)二維曲線圖形和三維曲面圖形(續(xù)2) 特殊二維圖形指令: 數(shù)值函數(shù)二維曲線(泛函繪圖指令):fplot 向量的統(tǒng)計直方圖:hist 帶有標(biāo)準(zhǔn)的直方圖:pareto 餅圖:pie 三維餅圖:pie3矩陣折(曲)線圖:plotmatrix 帶狀圖:ribbon 散點圖(與相似 ,但是只有數(shù)據(jù)點):scatter 火柴桿圖:stem 階梯圖:stairs52(1)二維曲線圖形和三維曲面圖形(續(xù)3) 交互式圖形指令: 這是與鼠標(biāo)有關(guān)的圖形操作指令:ginput,gtext,legend,zoom 。 除 ginput 只能用于二維圖形外 ,其余三個指令對二維、三維圖形均適用 。

29、指令 ginput 與 zoom 經(jīng)常配合使用 ,以便從圖形獲得較準(zhǔn)確的數(shù)據(jù) 。 指令 x,y = ginput(n)用鼠標(biāo)從二維圖形上獲得 n 個點的數(shù)據(jù)坐標(biāo)(x,y)。 指令 gtext (arg)用鼠標(biāo)把字符串或字符串元胞數(shù)組 arg 放置到圖形上。 指令 legend (arg,pos)在指定位置建立圖例。 指令 zoom 是變焦操作(圖形放大和縮?。?。53(2)句柄圖形 圖形對象、對象句柄和句柄圖形樹。 句柄圖形(Handle Graphics)是一種面向?qū)ο蟮睦L圖系統(tǒng)。該系統(tǒng)提供創(chuàng)建計算機圖形所必須的各種軟件。它所支持的指令,可直接創(chuàng)建線、 文字、 網(wǎng)線、面以及圖形用戶界面。前述的

30、MATLAB高層圖形指令都是以句柄圖形軟件為基礎(chǔ)寫成的,所以句柄圖形也稱為低層圖形指令。 MATLAB把用于數(shù)據(jù)可視和界面制作的基本繪圖要素稱為句柄圖形對象。 構(gòu)成MATLAB句柄圖形體系有12個圖形對象:根屏幕、圖形窗、界面控件、軸 、界面菜單、線、面、方、塊、象、字、光。 每個具體對象都有一個“與生俱來 、終生不變”的獨特“身份”,即對象句柄。 根屏幕的句柄總是數(shù)字0,圖形窗的句柄總是正整數(shù),其余對象的句柄則是雙精度浮點數(shù)。(句柄圖形樹)54(2)句柄圖形(續(xù)) 圖形對象的屬性:所有對象都由一組屬性來定義它們的特征。屬性由兩部分組成:屬性名和屬性值。 圖形對象屬性的設(shè)置和使用。 句柄圖形應(yīng)

31、用舉例。 圖形對象句柄的獲得: 函數(shù) 返回對象所有屬性的當(dāng)前值。 函數(shù) 改變句柄圖形對象的屬性。例 1_2_13:任意布置子圖和軸外注釋。例 1_2_14:制作個性化雙坐標(biāo)系。例 1_2_15:連續(xù)變焦和飛馳圖形。例 1_2_16:動畫制作示例。55(3)圖形用戶界面(GUI)編程( ) 控件對象及屬性。 現(xiàn)代的主流應(yīng)用程序已經(jīng)從命令行的交互方式轉(zhuǎn)變?yōu)橐詧D形界面為主的交互方式,這主要是由于它給用戶帶來了操作和控制的方便與靈活性。MATLAB能夠以比較簡單的方式實現(xiàn)一系列的圖形界面功能。 控件對象是一類圖形界面對象, MATLAB支持10種控件對象:坐標(biāo)軸、靜態(tài)文本框、可編輯文本框、彈式菜單、滾

32、動條、框架、命令按鈕、單選按鈕、復(fù)選框、列表框。 用戶用鼠標(biāo)在控件對象上進行操作,單擊鼠標(biāo)時 ,將會使應(yīng)用程序作出響應(yīng)并執(zhí)行某些預(yù)定的子程序。 控件對象的屬性分為兩大類,笫一類是所有控件對象都具有的公共屬性,笫二類是作為圖形對象的屬性。 創(chuàng)建控件對象的MATLAB函數(shù):56(3)圖形用戶界面(GUI)編程(續(xù)) 菜單對象及屬性。 由M函數(shù)文件設(shè)計舉例。 菜單對象(或稱下拉式菜單對象)可以讓用戶在運行應(yīng)用程序時,從一批功能選擇項中瀏覽和選擇某項功能。在MATLAB圖形窗口中 是默認(rèn)主菜單,用戶可以創(chuàng)建自己定義的菜單。 在所有用戶菜單屬性中,最不可缺的屬性是菜單名( )和回調(diào)( )。前者用于識別不

33、同菜單項;后者用于產(chǎn)生相應(yīng)的操作,使該菜單項發(fā)揮應(yīng)有的作用。 創(chuàng)建菜單對象的MATLAB函數(shù):例 1_2_18:帶下拉式菜單表的用戶菜單。例 1_2_19:用戶菜單的外觀設(shè)計 。例 1_2_20:菜單的使能屬性與不可見屬性設(shè)計 。(END)例 1_2_17:控件對象設(shè)計。57例 1_2_1 元胞數(shù)組返回本例演示:元胞數(shù)組的創(chuàng)建。C_str=char(清華大學(xué),電子工程系); %產(chǎn)生字符串R=reshape(1:9,3,3); %產(chǎn)生(3X3)實數(shù)陣RCn=1+2i; %產(chǎn)生復(fù)數(shù)標(biāo)量S_sym=sym(sin(-3*t)*exp(-t); %產(chǎn)生符號函數(shù)量(1)直接創(chuàng)建法之一:“外標(biāo)識元胞元素賦

34、值法”(2)直接創(chuàng)建法之二:“編址元胞元素內(nèi)涵的直接賦值法”A(1,1)=C_str;A(1,2)=R; A(2,1)=Cn;A(2,2)=S_sym;A %顯示元胞數(shù)組類型B1,1=C_str;B1,2=R;B2,1=Cn;B2,2=S_sym;celldisp(B) %顯示元胞數(shù)組內(nèi)容(張志涌P82)(M1_ex1_2_1.m)58例 1_2_2 構(gòu)架數(shù)組返回本例通過溫室數(shù)據(jù)(包括溫室名、容積、溫度、濕度等)演示:單構(gòu)架green_house的創(chuàng)建和顯示。(它有三個域:name,volume,parameter。而 parameter又有三個子域:temperature,humidity。

35、)(1)直接對域賦值法產(chǎn)生“單構(gòu)架”,即構(gòu)架數(shù)組。green_=一號房;%構(gòu)架的域由(構(gòu)架名).(域名)標(biāo)識。green_house.volume=2000立方米;green_house.parameter.temperature=31.2 30.4 31.6 28.7 29.7 31.1 30.9 29.6;green_house.parameter.humidity=62.1 59.5 57.7 61.5 62.0 61.9 59.2 57.5;(2)顯示“單構(gòu)架”結(jié)構(gòu)和內(nèi)容:green_house,。(張志涌P86)(M1_ex1_2_2.m)59例 1_2_3 數(shù)組運算舉例。返回(張志

36、涌P2)t=rand(10,10);y=exp(-2*t).*sin(5*t);(M1_ex1_2_3.m)演示:clear % 清除工作區(qū)變量 whos % 檢查工作區(qū)變量 M1_ex1_2_3.m % 運行程序 whos % 檢查工作區(qū)變量( t , y )60例 1_2_4 多項式部分分式展開。返回num=10*1 4 5 6 7; %分子多項式den=poly(-2;-1;-0。5); %分母多項式res,poles,k=residue(num,den)res = -6.6667-60.000064.1667poles = -2.0000-1.0000-0.5000k =10 5上面的

37、結(jié)果說明了這個問題 :(龔劍P62)(M1_ex1_2_4.m)61例 1_2_5:應(yīng)用數(shù)值積分,求時間函數(shù)w(t)的Fourier級數(shù)展開系數(shù)。(張志涌P163)返回已知時間函數(shù):fzzyquad.m ? 調(diào)用函數(shù)cos_y,sin_y出問題。62例 1_2_6:應(yīng)用FFT,求時間函數(shù)w(t)的Fourier級數(shù)展開系數(shù)。(張志涌P165)返回已知時間函數(shù):fzzyfft.m,運行指令:A_fft,B_fft=fzzyfft。63例 1_2_7:應(yīng)用符號計算法,求時間函數(shù)w(t)的Fourier級數(shù)展開系數(shù)。返回已知時間函數(shù):(張志涌P162)A_sym,B_sym=fzzysym(T,Nf

38、,Nn)% 采用符號計算求0,T內(nèi)時間函數(shù)的三角級數(shù)展開系數(shù)。%函數(shù)的輸入輸出都是數(shù)值量% Nf諧波的階數(shù)%Nn輸出數(shù)據(jù)的準(zhǔn)確位數(shù)%A_sym第1元素是直流項,其后元素依次是1,2,3.次諧波cos項展開系數(shù)%B_sym第2,3,4,.元素依次是1,2,3.次諧波sin項展開系數(shù)%-syms ttt nif nargin1;T=2;endif nargin2;Nf=6;endif nargin3;Nn=32;endyy=time_fun_s(ttt);A0=int(yy,ttt,0,T)/T;As=int(yy*cos(2*pi*n*ttt/T),ttt,0,T);Bs=int(yy*sin(

39、2*pi*n*ttt/T),ttt,0,T);A_sym(1)=double(vpa(A0,Nn);for k=1:Nf A_sym(k+1)=double(vpa(subs(As,n,k),Nn); B_sym(k+1)=double(vpa(subs(Bs,n,k),Nn);%-function yy=time_fun_s(ttt)% 該函數(shù)是fzzysym.m的子函數(shù)。它由符號變量和表達(dá)式寫成。y1=sym(Heaviside(ttt-0.5)*(ttt-0.5);yy=y1-sym(Heaviside(ttt-1.5)*(ttt-1.5)+1);%-64例 1_2_8:混合式圖形的繪制

40、。返回(龔劍P132)% M1_ex1_2_8.m%=y=1:length(peaks); plot(peaks,y);%=混合式圖形的繪制(矩陣對向量的圖形)。65例 1_2_9:一個窗口多個圖形的繪制。返回(龔劍P139)% M1_ex1_2_9.m%=subplot(2,2,1),fplot(humps,0 1)subplot(2,2,2),fplot(abs(exp(-j*x*(0:9)*ones(10,1),0 2*pi)subplot(2,2,3),fplot(tan(x),sin(x),cos(x),2*pi*-1 1 -1 1)subplot(2,2,4),fplot(sin(

41、1./x),0.01 0.1,1e-3)%=將圖形窗口分為四個區(qū)域,在每個區(qū)域中,采用橫坐標(biāo)自適應(yīng)取點繪圖繪制圖形。66例 1_2_10:繪制一個三維螺旋線。 返回(龔劍P140)% M1_ex1_2_10.m%=t=0:pi/50:10*pi;plot3(sin(t),cos(t),t)title(Helix),xlabel(sin(t),ylabel(cos(t),zlabel(t)text(0,0,0,Origin)grid%=plot3可用來畫一個單變量的三維函數(shù)。67例 1_2_11:繪制一個三維曲面圖形。返回(龔劍P143)% M1_ex1_2_11.m%=x=-8:0.5:8;y

42、=x;X,Y=meshgrid(x,y);R=sqrt(X.2+Y.2)+eps;z=sin(R)./R;mesh(z)%=pausesubplot(2,2,1);meshc(z)subplot(2,2,2);meshz(z)%=68例 1_2_12:句柄圖形樹返回(張志涌P398)Root根屏幕Figure圖形窗Uicontrol界面控件Axes軸Uimenu界面菜單Line線Surface面Rectangle方Patch塊Image象Text字Light光69例 1_2_13:任意布置子圖和軸外注釋。(張志涌P412)返回M1_ex1_2_13.m本例演示:axes軸位框設(shè)計、rectan

43、gle的運用、及軸外注釋。所謂軸外注釋,實際上是使用了兩個軸位框。一個軸位框充滿全部圖形窗,其坐標(biāo)框被隱去,而只寫注釋文字。而另一個比較小的軸位框用于繪圖。這樣從外表看去,注釋就處于那小軸位框的外部。70例 1_2_14:制作個性化雙坐標(biāo)系。返回(張志涌P414)M1_ex1_2_14.m制作一個雙坐標(biāo)系用來表現(xiàn)高壓和低溫兩個不同量的過渡過程。71例 1_2_15:連續(xù)變焦和飛馳圖形。返回(張志涌P415)fly_zzy.m %連續(xù)改變相機位置,產(chǎn)生貫穿地球的效果。earth_zzy(0)%調(diào)用函數(shù)文件,產(chǎn)生三維地球圖形。通過CameraPosition設(shè)置的不斷變化,使地球迎面飛來,貫穿而過

44、,從地球另一面飛離而去。但在整個飛行過程中,相機鏡頭始終對著地球。72例 1_2_16:動畫制作示例。返回(張志涌P418)% anim_zzy1.m演示紅色小球沿一條封閉螺線運動的實時動畫% 僅演示實時動畫的調(diào)用格式為 anim_zzy1(K)% K紅球運動的循環(huán)數(shù)(不小于1)73例 1_2_17:控件對象設(shè)計。返回(張志涌P426)對于傳遞函數(shù)為 的歸一化二階系統(tǒng),制作一個能繪制該系統(tǒng)單位階躍響應(yīng)的圖形用戶界面。本例演示:(A)圖形界面的大致生成過程;(B)靜態(tài)文本和編輯框的生成;(C)坐標(biāo)方格控制鍵的形成;(D)如何使用該界面。M1_1_2_17.m 在編輯框輸入 0.3,可以看到 一根

45、曲線 。 在編輯框輸入 0.1:0.1:1,可以看到十根曲線 。 74例 1_2_18:帶下拉式菜單表的用戶菜單。返回(張志涌P431)本例演示:如何自制一個帶下拉菜單表的用戶菜單。該菜單能使圖形窗背景顏色設(shè)置為蘭色或紅色。M1_1_2_18.m75例 1_2_19:用戶菜單的外觀設(shè)計 。返回(張志涌P435)M1_2_19.m本例演示:()把用戶菜單 Option 設(shè)置為頂層的第菜單項;()下拉菜單被兩條分隔線分為三個菜單區(qū);()最下菜單項又有兩個子菜單組成。76例 1_2_20:菜單的使能與不可見屬性設(shè)計 。返回(張志涌P437)本例目標(biāo):制作一個帶四個子菜單項的頂層菜單項;該下拉菜單分為

46、兩個功能區(qū);每個功能區(qū)的兩個菜單項是相互對立的,因此采用使能屬性處理;當(dāng)圖形窗坐標(biāo)軸消隱時,整個坐標(biāo)分隔控制功能區(qū)不可見。M1_2_20.m77直方圖:ex_bar.m返回%exm07412_1.m% 講座一例(ex_bar.m) THEE 2001/9%=x=-2:2;Y=3,5,2,4,1;3,4,5,2,1;5,4,3,2,5;clf,shgsubplot(1,2,1),bar(x,Y,stacked)xlabel(x),ylabel(Sigma y),colormap(cool)legend(因素A,因素B,因素C)subplot(1,2,2),barh(x,Y,grouped)xla

47、bel(y),ylabel(x) %=78三維直方圖: ex_bar3.m返回%exm07412_2.m% 講座一例(ex_bar3.m) THEE 2001/9%=clf;shgx=-2:2;Y=3,5,2,4,1;3,4,5,2,1;5,4,3,2,5;subplot(1,2,1),bar3(x,Y,1)xlabel(因素ABC),ylabel(x),zlabel(y)colormap(summer)subplot(1,2,2),bar3h(x,Y,grouped)ylabel(y),zlabel(x) %=79數(shù)值函數(shù)二維曲線(泛函繪圖指令):ex_fplot.m返回%exm074112

48、_1.m% 講座一例(ex_fplot.m) THEE 2001/9%=%clf,shgx,y=fplot(cos(tan(pi*x),-0.4,1.4,0,2e-3);n=length(x);subplot(1,2,1),plot(x,y)title(fontsize20fontname隸書泛函繪圖指令效果)t=(-0.4:1.8/n:1.4);subplot(1,2,2),plot(t,cos(tan(pi*t)title(fontsize20fontname隸書等分采樣繪圖) %= 該指令的特點在于它的繪圖數(shù)據(jù)點是自適應(yīng)產(chǎn)生的。80基本計算功能返回 常用的基本數(shù)學(xué)函數(shù): 常用的三角函數(shù):

49、abs(x), angle(z) , sqrt(x) , real(z) , imag(z) , conj(z) ,round(x), fix(x) , floor(x) , ceil(x) , rat(x) , rats(x) ,sign(x), rem(x,y) , gcd(x,y) , lcm(x,y), exp(x), pow2(x),log(x),log2(x),log10(x)。sin(x), cos(x), tan(x) , asin(x), acos(x), atan(x) , atan2(x,y), sinh(x), cosh(x), tanh(x) , asinh(x),

50、acosh(x), atanh(x) 。81數(shù)組函數(shù)和矩陣函數(shù)返回數(shù)組函數(shù):基本矩陣函數(shù):矩陣分解函數(shù):besselj(NU,Z), bessely(NU,Z), beta(Z,W), erf(X), gamma(X), rat(X,tol), erfinv(Y), ellipke(M,tol), ellipj(U,M) 。cond(A), det(A), dot(A,B), eig(A), norm(A,1), norm(A,2), norm(A,inf), norm(A,fro), rank(A), rcond(A), svd(A), trace(A), expm(A), expm1(A)

51、, expm2(A), expm3(A), logm(A), sqrtm(A), funm(A,fun) 。cdf2rdf(V ,D), chol(A), eig(A), Hess(A) , null(A), LU(A), orth(A), pinv(A), qr(A), qz(A), rref(A), rst2csf(V ,D), schur(A), subspace(A ,B), svd(A) 。82關(guān)系運算和邏輯運算返回關(guān)系運算:邏輯運算:, , =, =, = 。&,| , 。83聯(lián)機查詢指令:help指令返回例:help elfun,help exp,help simulinkloo

52、kfor關(guān)鍵詞(例: lookfor fourier )84CH2、 MATLAB語言基礎(chǔ)第一節(jié) 使用MATLAB的窗口環(huán)境一、MATLAB語言的顯著特點1、具有強大的矩陣運算能力:Matrix Laboratory(矩陣實驗室),使得矩陣運算非常簡單。2、是一種演算式語言MATLAB的基本數(shù)據(jù)單元是既不需要指定維數(shù),也不需要說明數(shù)據(jù)類型的矩陣(向量和標(biāo)量為矩陣的特例),而且數(shù)學(xué)表達(dá)式和運算規(guī)則與通常的習(xí)慣相同。 因此MATLAB語言編程簡單,使用方便。 例 exp2_1.m85二、MATLAB命令窗口1、啟動MATLAB命令窗口計算機安裝好MATLAB之后,雙擊MATLAB圖標(biāo),就可以進入命

53、令窗口,此時意味著系統(tǒng)處于準(zhǔn)備接受命令的狀態(tài),可以在命令窗口中直接輸入命令語句。MATLAB語句形式變量表達(dá)式;通過等于符號將表達(dá)式的值賦予變量。當(dāng)鍵入回車鍵時,該語句被執(zhí)行。語句執(zhí)行之后,窗口自動顯示出語句執(zhí)行的結(jié)果。如果希望結(jié)果不被顯示,則只要在語句之后加上一個分號(;)即可。此時盡管結(jié)果沒有顯示,但它依然被賦值并在MATLAB工作空間中分配了內(nèi)存。862、命令行編輯器(1)方向鍵和控制鍵可以編輯修改已輸入的命令 :回調(diào)上一行命令 :回調(diào)下一行命令(2)命令窗口的分頁輸出more off:不允許分頁 more on:允許分頁more(n):指定每頁輸出的行數(shù)回車前進一行,空格鍵顯示下一頁,

54、q結(jié)束當(dāng)前顯示。(3)多行命令()如果命令語句超過一行或者太長希望分行輸入,則可以使用多行命令繼續(xù)輸入。S=1-12+13+4+9-4-18;87三、變量和數(shù)值顯示格式1、變量(1)變量的命名:變量的名字必須以字母開頭(不能超過19個字符),之后可以是任意字母、數(shù)字或下劃線;變量名稱區(qū)分字母的大小寫;變量中不能包含有標(biāo)點符號。(2)一些特殊的變量ans:用于結(jié)果的缺省變量名 i、j:虛數(shù)單位pi:圓周率 nargin:函數(shù)的輸入變量個數(shù)eps:計算機的最小數(shù) nargout:函數(shù)的輸出變量個數(shù)inf:無窮大 realmin:最小正實數(shù)realmax:最大正實數(shù) nan:不定量flops:浮點運算數(shù)88(3)變量

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論