第一、二章 MATLAB 入門
《第一、二章 MATLAB 入門》由會員分享,可在線閱讀,更多相關(guān)《第一、二章 MATLAB 入門(79頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、哈爾濱工業(yè)大學(xué)選修課課件 第一章 MATLAB 入門 Chapter one: Introduction to MATLAB MATLAB(Matrix Laboratory)是美國 MathWorks 公司開發(fā)的用于概念設(shè)計,算法開發(fā),建模仿真,實時實現(xiàn)的理想的集成環(huán)境,是目前最好的科學(xué)計算類軟件。作為和 Mathematica、Maple 并列的三大數(shù)學(xué)軟件之一,其強項就是強大的矩陣計算以及仿真能力。MATLABN 提供了自己的編譯器:全面兼容 C++ 以及 Fortran 兩大語言。所以 MATLAB 是工程師、科研工作者手上最好的語言,最好的工具和環(huán)境,已經(jīng)成為廣大科研人員的
2、最值得信賴的助手和朋友。除了具備卓越的數(shù)值計算能力外,它還提供了專業(yè)水平的符號計算,文字處理,可視化建模仿真和實時控制等功能,是具有全部語言功能和特征的新一代軟件開發(fā)平臺。MATLAB的基本數(shù)據(jù)單位是矩陣,它的指令表達(dá)式與數(shù)學(xué),工程中常用的形式十分相似,故用MATLAB來解算問題要比用C,FORTRAN等語言簡捷得多.MATLAB是國際公認(rèn)的優(yōu)秀數(shù)學(xué)應(yīng)用軟件之一。 目前,MATLAB 已發(fā)展成為適合眾多學(xué)科,多種工作平臺、功能強大的大型軟件,成為了諸多領(lǐng)域的開發(fā)首選軟件,并且, MATLAB 還具有500 余家第三方合作伙伴,分布在科學(xué)計算、機械動力、化工、計算機通訊、汽車、金融等領(lǐng)域,接口
3、方式包括了聯(lián)合建模、數(shù)據(jù)共享、開發(fā)流程銜接等等。在歐美等國家的高校,MATLAB已成為線性代數(shù)、自動控制理論、數(shù)理統(tǒng)計、數(shù)字信號處理、時間序列分析、動態(tài)系統(tǒng)仿真等高級課程的基本教學(xué)工具。成為攻讀學(xué)位的本科、碩士、博士生必須掌握的基本技能。在設(shè)計研究單位和工業(yè)開發(fā)部門,MATLAB被廣泛的應(yīng)用于研究和解決各種具體問題。 MATLAB 的發(fā)展歷程和影響 MATLAB 由 MATrix 和 LABoratory 兩詞的前三個字母組合而成。20世紀(jì)七十年代后期,時任美國新墨西哥大學(xué)計算機科學(xué)系主任的 Cleve Moler 教授出于減輕學(xué)生編程負(fù)擔(dān)的動機,為學(xué)生設(shè)計了一組調(diào)用 LINPACK
4、 和 EISPACK 庫程序的“通俗易用”的接口,形成了用 FORTRAN 編寫的萌芽狀態(tài)的 MATLAB 。 經(jīng)幾年的校際流傳,在 Little 的推動下,由 Little 、 Moler 、 Steve Bangert 合作,于 1984 年成立了 MathWorks 公司,并把 MATLAB 正式推向市場。從這時起, MATLAB 的內(nèi)核采用 C 語言編寫,而且除原有的數(shù)值計算能力外,還新增了數(shù)據(jù)圖視功能。 MATLAB 以商品形式出現(xiàn)后,僅短短幾年,就以其良好的開放性和運行的可靠性,使原先控制領(lǐng)域里的封閉式軟件包(如英國的 UMIST ,瑞典的 LUND 和 SIMNO
5、N ,德國的 KEDDC )紛紛被淘汰,而改以 MATLAB 為平臺加以重建。在時間進(jìn)入 20 世紀(jì)九十年代的時候, MATLAB 已經(jīng)成為國際控制界公認(rèn)的標(biāo)準(zhǔn)計算軟件。 到九十年代初期,在國際上 30 幾個數(shù)學(xué)類科技應(yīng)用軟件中, MATLAB 在數(shù)值計算方面獨占鰲頭,而 Mathematica 和 Maple 則分居符號計算軟件的前兩名。 Mathcad則因其使用操作十分簡單,不要求用戶具有精深的計算機知識,對于任何具有一定數(shù)學(xué)知識的人,都可以十分容易地學(xué)會使用。當(dāng)輸入一個數(shù)學(xué)公式、方程組、矩陣等,計算機將直接給出計算結(jié)果,而無須去考慮中間計算過程。因MathCad也可以進(jìn)行復(fù)雜的數(shù)
6、學(xué)計算,圖形顯示和文檔處理,也是一種受歡迎的大眾化數(shù)學(xué)工具。 MathWorks 公司于 1993 年推出 MATLAB4.0 版本,從此告別 DOS 版。 4.x 版在繼承和發(fā)展其原有的數(shù)值計算和圖形可視能力的同時,出現(xiàn)了以下幾個重要變化: ( 1 )推出了 SIMULINK 。這是一個交互式操作的動態(tài)系統(tǒng)建模、仿真、分析集成環(huán)境。它的出現(xiàn)使人們有可能考慮許多以前不得不做簡化假設(shè)的非線性因素、隨機因素,從而大大提高了人們對非線性、隨機動態(tài)系統(tǒng)的認(rèn)知能力。 ( 2 )開發(fā)了與外部進(jìn)行直接數(shù)據(jù)交換的組件,打通了 MATLAB 進(jìn)行實時數(shù)據(jù)分析、處理和硬件開發(fā)的道路。 ( 3 )推
7、出了符號計算工具包。 1993 年 MathWorks 公司從加拿大滑鐵盧大學(xué)購得 Maple 的使用權(quán),以 Maple 為“引擎”開發(fā)了 Symbolic Math Toolbox 1.0 。 MathWorks 公司此舉加快結(jié)束了國際上數(shù)值計算、符號計算孰優(yōu)孰劣的長期爭論,促成了兩種計算的互補發(fā)展新時代。 ( 4 )構(gòu)作了 Notebook 。 MathWorks 公司瞄準(zhǔn)應(yīng)用范圍最廣的 Word ,運用 DDE 和 OLE ,實現(xiàn)了 MATLAB 與 Word 的無縫連接,從而為專業(yè)科技工作者創(chuàng)造了融科學(xué)計算、圖形可視、文字處理于一體的高水準(zhǔn)環(huán)境。 隨著時間的推移,MATLA
8、B的功能不斷擴充,版本不斷升級,現(xiàn)今的 MATLAB 擁有更豐富的數(shù)據(jù)類型和結(jié)構(gòu)、更友善的面向?qū)ο?、更加快速精良的圖形可視、更廣博的數(shù)學(xué)和數(shù)據(jù)分析資源、更多的應(yīng)用開發(fā)工具。 1995年推出了4.2版, 1997 年春, MATLAB5.0 版問世,緊接著是 5.1 、 5.2 ,5.X版無論是界面還是內(nèi)容都有長足的進(jìn)展,其幫助信息采用超文本格式和PDF格式,可以方便的瀏覽。至2001年6月推出6.1版,2002年6月推出6.5版。 從2006年開始,MathWorks公司每年進(jìn)行兩次例行的產(chǎn)品發(fā)布,時間分別在每年的3月和9月,而且,每一次發(fā)布都會包含所有的產(chǎn)品模塊,如產(chǎn)品的new feat
9、ure、bug fixes和新產(chǎn)品模塊的推出。繼7.0版、7.1版、7.3(MATLAB 2006b)版、7.4(R2007a)版、7.5(R2007b)版、7.6(R2008a)版。7.7(R2008b)版,7.8(R2009a)版,最新版本為2009年9月4日發(fā)布的7.9版(R2009b) MATLAB 和Simulink產(chǎn)品家族。 從R2008a開始,MATLAB和Simulink產(chǎn)品家族軟件在安裝后需要激活才能使用。 附件:版本發(fā)布或者更新時間 版本[4] 建造編號 發(fā)布時間 MATLAB 1.0 1984 MATALB 2 1986 MAT
10、LAB 3 1987 MATLAB 3.5 1990 MATLAB 4 1992 MATLAB 4.2c R7 1994 MATLAB 5.0 R8 1996 MATLAB 5.1 R9 1997 MATLAB 5.1.1 R9.1 1997 MATLAB 5.2 R10 1998 MATLAB 5.2.1 R10.1 1998 MATLAB 5.3 R11 1999 MATLAB 5.3.1 R11.1 1999 MATLAB 6.0 R12 2000 MATLAB 6.1 R12.1 2001 MATLAB
11、 6.5 R13 2002 MATLAB 6.5.1 R13SP1 2003 MATLAB 6.5.2 R13SP2 2003 MATLAB 7 R14 2004 MATLAB 7.0.1 R14SP1 2004 MATLAB 7.0.4 R14SP2 2005 MATLAB 7.1 R14SP3 2005 MATLAB 7.2 R2006a 2006 MATLAB 7.3 R2006b 2006 MATLAB 7.4 R2007a 2007 MATLAB 7.5 R2007b 2007 MATLAB 7.6 R200
12、8a 2008 MATLAB 7.7 R2008b 2008 MATLAB 7.8 R2009a 2009.3.6 MATLAB 7.9 R2009b 2009.9.4 Release 2009b 的新功能 Release 2009b 包括 MATLAB 和 Simulink的若干新功能,以及對其它 83 款產(chǎn)品的更新和缺陷修復(fù)。R2009b 增加了對 64-位 Mac 平臺的支持。已經(jīng)購買 MathWorks 軟件維護(hù)服務(wù)的用戶可以下載產(chǎn)品更新。R2009b 也提供了增強的許可中心功能。許可中心是用于激活軟件以及管理許可證和用戶信息的一個在線工具。 MATLAB
13、產(chǎn)品系列的新功能包括: 重新設(shè)計的幫助瀏覽器,支持從 MATLAB 直接訪問 MATLAB Central 文件交換,及其它桌面增強功能 擴展了對 MATLAB 和 Image Processing Toolbox 中函數(shù)的多核支持,以及對 Statistics Toolbox 中函數(shù)的并行支持 Parallel Computing Toolbox 的全新界面,可訪問和處理集群上的分布式數(shù)組 Image Processing Toolbox 支持處理任意大型圖像文件 Mapping Toolbox 支持從網(wǎng)絡(luò)地圖服務(wù) (WMS) 服務(wù)器搜索和檢索地理數(shù)據(jù)集 在 Fixed-Poi
14、nt Toolbox 進(jìn)行全局設(shè)置,以簡化帶有使用定點變量的運算 Simulink 產(chǎn)品系列的新功能包括: Simulink、Signal Processing Blockset 和嵌入式 MATLAB中支持用于仿真和代碼生成的可變維度信號和數(shù)據(jù) 可用于管理 Simulink 和 Real-Time Workshop 設(shè)計方案的模型變量 可立即在Simulink 中使用的PID 控制器,以及 Simulink Control Design 的自動調(diào)優(yōu) 減少了 Real-Time Workshop 的數(shù)據(jù)副本,可自定義矩陣運算以用于生成嵌入式信號處理代碼 Simulink Ver
15、ification and Validation 中用于管理和部署配置及自定義檢查的Model Advisor Configuration Editor (模型顧問配置編輯器) 新的交互式編譯報告,可分析數(shù)組大小和其它嵌入式 MATLAB 代碼特性 到 1999 年底, Mathematica 也已經(jīng)升到 4.0 版,它特別加強了以前欠缺的大規(guī)模數(shù)據(jù)處理能力。 Mathcad 也趕在 2000 年到來之前推出了 Mathcad 2000 ,它購買了 Maple 內(nèi)核和庫的部分使用權(quán),打通了與 MATLAB 的接口,從而把其數(shù)學(xué)計算能力提高到專業(yè)層次。但是,就影響而言,至今仍然沒有一個別
16、的計算軟件可與 MATLAB 匹敵。 在歐美大學(xué)里,諸如應(yīng)用代數(shù)、數(shù)理統(tǒng)計、自動控制、數(shù)字信號處理、模擬與數(shù)字通信、時間序列分析、動態(tài)系統(tǒng)仿真等課程的教科書都把 MATLAB 作為內(nèi)容。這幾乎成了九十年代教科書與舊版書籍的區(qū)別性標(biāo)志。在那里, MATLAB 是攻讀學(xué)位的大學(xué)生、碩士生、博士生必須掌握的基本工具。 在國際學(xué)術(shù)界, MATLAB 已經(jīng)被確認(rèn)為準(zhǔn)確、可靠的科學(xué)計算標(biāo)準(zhǔn)軟件。在許多國際一流學(xué)術(shù)刊物上,(尤其是信息科學(xué)刊物),都可以看到 MATLAB 的應(yīng)用。 在設(shè)計研究單位和工業(yè)部門, MATLAB 被認(rèn)作進(jìn)行高效研究、開發(fā)的首選軟件工具。如美國 Na
17、tional Instruments 公司信號測量、分析軟件 LabVIEW , Cadence 公司信號和通信分析設(shè)計軟件 SPW 等,或者直接建筑在 MATLAB 之上,或者以 MATLAB 為主要支撐。又如 HP 公司的 VXI 硬件, TM 公司的 DSP , Gage 公司的各種硬卡、儀器等都接受 MATLAB 的支持。 MATLAB-巨人肩上的工具 MATLAB被譽為“巨人肩上的工具”。 由于使用Matlab編程運算與人進(jìn)行科學(xué)計算的思路和表達(dá)方式完全一致,所以不象學(xué)習(xí)其它高級語言--如Basic、Fortran和C等那樣難于掌握,用Matlab編寫程序猶如在演算紙
18、上排列出公式與求解問題,所以又被稱為演算紙式科學(xué)算法語言。一般數(shù)值分析、矩陣運算、數(shù)字信號處理、建模和系統(tǒng)控制和優(yōu)化等應(yīng)用程序,并集應(yīng)用程序和圖形于一便于使用的集成環(huán)境中。在這個環(huán)境下,對所要求解的問題,用戶只需簡單地列出數(shù)學(xué)表達(dá)式,其結(jié)果便以數(shù)值或圖形方式顯示出來。 MATLAB的含義是矩陣實驗室(MATRIX LABORATORY),主要用于方便矩陣的存取,其基本元素是無須定義維數(shù)的矩陣。MATLAB自問世以來,就是以數(shù)值計算稱雄。MATLAB進(jìn)行數(shù)值計算的基本單位是復(fù)數(shù)數(shù)組(或稱陣列),這使的MATLAB高度“向量化”。經(jīng)過十幾年的完善和擴充,現(xiàn)已發(fā)展成為線性代數(shù)課程的標(biāo)準(zhǔn)工
19、具。由于它不需定義數(shù)組的維數(shù),并給出矩陣函數(shù)、特殊矩陣專門的庫函數(shù),使之在求解諸如信號處理、建模、系統(tǒng)識別、控制、優(yōu)化等領(lǐng)域的問題時,顯得大為簡捷、高效、方便,這是其它高級語言所不能比擬的。美國許多大學(xué)的實驗室都安裝有MATLAB供學(xué)習(xí)和研究之用。在那里,MATLAB是攻讀學(xué)位的大學(xué)生碩士生 博士生必須掌握的基本工具。 MATLAB中包括了被稱作工具箱(TOOLBOX)的各類應(yīng)用問題的求解工具。工具箱實際上是對MATLAB進(jìn)行擴展應(yīng)用的一系列MATLAB函數(shù)(稱為M文件),它可用來求解各類學(xué)科的問題,包括信號處理、圖象處理、控制系統(tǒng)辨識、神經(jīng)網(wǎng)絡(luò)等。隨著MATLAB版本的不斷升級,其
20、所含的工具箱的功能也越來越豐富,因此,應(yīng)用范圍也越來越廣泛,成為涉及數(shù)值分析的各類工程師不可不用的工具。 MATLAB5.3中包括了圖形界面編輯GUI,改變了以前單一的“在指令窗通過文本形的指令進(jìn)行各種操作”的狀況。這可讓使用者也可以象VB、VC、VJ、DELPHI等那樣進(jìn)行一般的可視化的程序編輯。在命令窗口(matlab command window)鍵入simulink,就出現(xiàn)(SIMULINK) 窗口。以往十分困難的系統(tǒng)仿真問題,用SIMULINK只需拖動鼠標(biāo)即可輕而易舉地解決問題,這也是近來受到重視原因所在。 The MathWorks, Inc.網(wǎng)址: MA
21、TLAB的重要功能和主要組成部分 一) 功能:目前 MATLAB 產(chǎn)品族的主要功能為: 1、數(shù)學(xué)運算功能:MATLAB的產(chǎn)品家族的基礎(chǔ) - 矩陣運算和數(shù)值分析算法等 - 數(shù)值和符號計算 2、2D和3D圖形顯示功能:可以實現(xiàn)相應(yīng)數(shù)值可視化工作 - 工程與科學(xué)繪圖 - 數(shù)字圖像處理 3、交互式的高級編程語言:M語言編程功能,可通過編寫腳本或者函數(shù)文件實現(xiàn)用戶自己的算法 4、工具箱函數(shù)功能:可供用戶直接使用的專業(yè)工具箱函數(shù),目前有四十多個工具箱,含蓋許多科技領(lǐng)域,如: - 科學(xué)計算 - 控制系統(tǒng)的設(shè)計與仿真 - 數(shù)字信號處理 - 數(shù)字圖象處理 - 通訊系統(tǒng)
22、設(shè)計與仿真 - 財務(wù)與金融工程 - 生物遺傳工程... 5、編譯功能:可通過編譯器(Compiler)將MATLAB M語言編寫的函數(shù)文件編譯生成函數(shù)庫、可執(zhí)行文件COM組件等,使MATLAB能夠同其他高級編程語言(如C/C++等)進(jìn)行混合應(yīng)用,取長補短。 MATLAB具有用法簡易、可靈活運用、程序結(jié)構(gòu)強又兼具延展性的優(yōu)點, 以下為其主要特色: 功能強大的數(shù)值運算:在MATLAB環(huán)境中,有超過500種數(shù)學(xué)、統(tǒng)計、科學(xué)及工程方面的函數(shù)可使用,函數(shù)的標(biāo)示自然,使得問題和解答像數(shù)學(xué)式子一般簡單明了,讓使用者可全力發(fā)揮在解題方面,而非浪費在電腦操作上。 先進(jìn)的資料視覺
23、化功能: MATLAB的物件導(dǎo)向圖形架構(gòu)讓使用者可執(zhí)行視覺數(shù)據(jù)分析,并制作高品質(zhì)的圖形,完成科學(xué)性或工程性圖文并茂的文章。 高階但簡單的程序環(huán)境: 做為一種直譯式的程序語言,MATLAB讓使用者在短時間內(nèi)寫完程序,所花的時間約為用 FORTRAN 或 C 的幾分之一,而且不需要編譯(compile)及聯(lián)結(jié) (link) 即能執(zhí)行,同時包含了更多及更容易使用的內(nèi)建功能。 開放及可延伸的架構(gòu): MATLAB容許使用者接觸它大多數(shù)的數(shù)學(xué)原始碼,監(jiān)視運算法,更改現(xiàn)存函數(shù),甚至加入自己的函數(shù)使 MATLAB成為使用者所須要的環(huán)境。 豐富的程序工具箱:MATLAB擁有多于40種的程序工具箱
24、,這些工具箱將套裝前軟件的優(yōu)點,與一個靈活的開放但容易操作的環(huán)境融合,提供了使用者在特別應(yīng)用領(lǐng)域所需之許多函數(shù)?,F(xiàn)有工具箱主要有:符號運算(利用Maple V的計算核心執(zhí)行 )、影像處理、統(tǒng)計分析、訊號處理、神經(jīng)網(wǎng)路、模擬分析、控制系統(tǒng)、即時控制、系統(tǒng)確認(rèn)、強建控制、弧線分析、最佳化、模糊邏輯、mu分析及合成、化學(xué)計量分析等幾大類別。 MATLAB 7的升級內(nèi)容:MATLAB 7針對編程環(huán)境,代碼效率、數(shù)據(jù)可視化、數(shù)學(xué)計算、文件I/O等方面進(jìn)行了升級,包括: *開發(fā)環(huán)境 1、重新設(shè)計了桌面環(huán)境,針對多文檔界面應(yīng)用提供了簡便的管理和訪問方法,允許用戶自定義桌面外觀,創(chuàng)建常用命令的快捷方式;
25、 2、 增強數(shù)組編輯器(Array Editor)和工作空間瀏覽器(Workspace Browser)功能,用于數(shù)據(jù)的顯示、編輯和處理; 3、在當(dāng)前目錄瀏覽器(Current Directory Browser)工具中,增加代碼效率分析、覆蓋度分析等功能。; 4、M-Lint編碼分析,輔助用戶完成程序性能分析,提高程序執(zhí)行效率; 5,增強M文件編輯器(M Editor), 支持多種格式源代碼文件可視化編輯,例如C/C++, HTML,Java 等。 * 編程 1、支持創(chuàng)建嵌套函數(shù)(Nested Function),提供更靈活的代碼模塊化轉(zhuǎn)化; 2、匿名函數(shù)(Anonymous
26、Function)功能,支持在命令行或者腳本文件中創(chuàng)建單行函數(shù)(Single Line Function); 3、支持條件分支斷點,可以在條件分支語句中進(jìn)行程序中斷調(diào)試; 4、模塊化注釋,支持為代碼段注釋。 * 數(shù)學(xué) 1、支持整數(shù)算術(shù)運算; 2、支持單精度數(shù)據(jù)類型運算,包括基本算術(shù)運算、線性代數(shù)、FFT等; 3、使用更強大的計算算法包Qhull 2002.1,提供更豐富的算法支持; 4、Linsolve函數(shù)用于處理線性代數(shù)方程求解; 5、ODE求解器能夠處理隱性微分方程組以及多點邊界問題; * 圖形和3D可視化 1、新圖形窗口界面; 2、直接從圖形窗體生成M代碼,可以完成
27、用戶自定義繪圖; 3、增強圖形窗體注釋; 4、數(shù)據(jù)偵測工具(Data Exploration Tools),提供豐富的數(shù)據(jù)觀測手段; 5、自定義圖形對象,提供豐富的圖形顯示功能; 6、GUIDE新增對用戶界面和ActiveX控件支持; 7、增強句柄圖形對象支持完整地TeX和LaTeX字符集; * 文件I/O和外部接口 1、新增文件I/O函數(shù),支持讀取任意格式文本數(shù)據(jù)文件,并且支持寫入Excel和HDF5格式數(shù)據(jù)文件; 2、具有壓縮功能的 MAT文件格式,支持快速數(shù)據(jù)文件I/O能力; 3、javaaddpath函數(shù),無需重新啟動MATLAB就可完成Java類的加載、刪除等功能;
28、 4、支持COM、服務(wù)器事件以及VBS; 5、支持SOAP,使用網(wǎng)絡(luò)服務(wù); 6、FTP對象,直接訪問FTP服務(wù)器; 7、支持Unicode編碼格式,增強MAT文件字符集; * 性能與系統(tǒng)平臺支持 1、JIT加速器支持所有數(shù)值數(shù)據(jù)類型; 2、Windows XP系統(tǒng)下支持3GB內(nèi)存訪問。 二) MATLAB的主要組成部分:MATLAB系統(tǒng)由5個主要的部分構(gòu)成: (1)開發(fā)環(huán)境(development Environment):為MATLAB用戶或程序編制員提供的一套應(yīng)用工具和設(shè)施。由一組圖形化用戶接口工具和組件集成:包括MATLAB桌面、命令窗口、命令歷史窗口、編輯調(diào)試窗口及
29、幫助信息、工作空間、文件和搜索路徑等瀏覽器; (2) MATLAB數(shù)學(xué)函數(shù)庫(Math Function Library):數(shù)學(xué)和分析功能在MATLAB工具箱中被組織成8個文件夾。 elmat 初步矩陣,和矩陣操作。 elfun 初步的數(shù)學(xué)函數(shù)。求和、正弦、余弦和復(fù)數(shù)運算等 specfun 特殊的數(shù)學(xué)函數(shù)。矩陣求逆、矩陣特征值、貝塞爾函數(shù)等; matfun 矩陣函數(shù)-用數(shù)字表示的線性代數(shù)。 atafun 數(shù)據(jù)分析和傅立葉變換。 polyfun 插值,多項式。 funfun 功能函數(shù)。 sparfun 稀疏矩陣。 (3) MATLAB 語言:(MATLAB La
30、nguage)一種高級編程語言(高階的矩陣/數(shù)組語言),包括控制流的描述、函數(shù)、數(shù)據(jù)結(jié)構(gòu)、輸入輸出及面對對象編程; (4) 句柄圖形:(Handle Graphics) MATLAB制圖系統(tǒng)具有2維、三維的數(shù)據(jù)可視化,圖象處理,動畫片制作和表示圖形功能??梢詫Ω鞣N圖形對象進(jìn)行更為細(xì)膩的修飾和控制。允許你建造完整的圖形用戶界面(GUI),以及建立完整的圖形界面的應(yīng)用程序。制圖法功能在MATLAB工具箱中被組織成5個文件夾: graph2d 二維數(shù)圖表。 graph3d 三維圖表。 specgraph 專業(yè)化圖表。 graphics 制圖
31、法。 uitools 圖形用戶界面工具。 (5) 應(yīng)用程序接口:(Applied Function Interface) MATLAB的應(yīng)用程序接口允許用戶使用C或FORTRAN語言編寫程序與MATLAB連接。 MATLAB工具箱(Toolbox);(表 1—2) 二.MATLAB 的安裝:與一般光盤軟件的安裝相同, 略 三.MATLAB 的系統(tǒng)開發(fā)環(huán)境(System Developing Environment) 1. 操作桌面(Operating Desktop) (1)桌面布局:6個窗口 (圖示、操作演示) *命令窗口 (Commend Win
32、dow) *工作空間窗口(Workspace) *當(dāng)前目錄瀏覽器(Current Directory )(Current folder 7.9版) *命令歷史窗口 ( Commend History ) *啟動平臺 (Launch Pad)6.x版 *幫助窗口(Help) *M文件優(yōu)化器(Profiler) Profiler for Improving Performance:One way to improve the performance of your M-files is using profiling tools. MATLAB provides the M-file
33、 Profiler, a graphical user interface that is based on the results returned by the profile function. Use the Profiler to help you determine where you can modify your code to make performance improvements. 窗口的切換、放大與關(guān)閉。(switching, Amplification, tun-off) 6.0版Desktop菜單中的desktop layout菜單中提供的6種可選布局:
34、 *Default *Command Window *Simple *Short History *Tall History *Five Panel 7.0版Desktop菜單中的desktop layout菜單中提供的4種可選布局: *Default *Command Window Only * History and Command Window *All Tabbed All but command window minimized(7.9版) (2).菜單和工具欄;(Menu and toolbar) 操作桌面上有9個菜單(表1—3)和帶有10個快捷按鈕的
35、工具欄組,(圖示、操作演示) (3).改變桌面設(shè)置:(Setting) File 菜單中Preference對話框中設(shè)置(圖示、操作演示) 2. 命令窗口:(Command window)MATLAB的主要交互窗口。用于輸入MATLAB 命令、函數(shù)、數(shù)組、表達(dá)式等信息,并顯示圖形以外的所有計算結(jié)果。 例如從鍵盤輸入矩陣 A=[1 2 3; 4 5 6; 7 8 9] 按Enter 鍵后屏幕立即顯示結(jié)果 A= 1 2 3 4 5 6 7 8 9 命令窗口可作為一個多功能高級計算器,如要計算18+(5sinπ/6)/2+cosπ/6 只須按MATL
36、AB格式要求鍵入; 18+5*sin(pi/6)/(2+cos(pi/6)),然后按Enter鍵既可在窗口內(nèi)顯示出計算結(jié)果: ans= 18.8723 可利用↑鍵回調(diào)命令行,任意改動公式中的數(shù)據(jù)并重新計算。(例) 還可在命令窗口輸入最后一次輸入命令的開頭字符或字符串,然后用↑鍵調(diào)出該命令行。 MATLAB是標(biāo)準(zhǔn)的Windows界面,可利用菜單中的命令完成對工作窗口的操作。其命令行功能鍵和快捷鍵與Windows 的一般應(yīng)用程序相似,(自學(xué)) 3.工作空間窗口:(Workspace Window) 用于儲存各種變量和結(jié)果的空間,顯示變量的名稱、大小、字節(jié)數(shù)及數(shù)據(jù)類型,對變量進(jìn)行
37、觀察、編輯、保存和刪除。(圖示、操作演示)。臨時變量不占空間, 為了對變量的內(nèi)容進(jìn)行觀察、編輯與修改,可以用三種方法打開內(nèi)存數(shù)組編輯器。*雙擊變量名;*選擇該窗口工具欄上的打開圖標(biāo);*鼠標(biāo)指向變量名,點擊鼠標(biāo)右鍵,彈出選擇菜單,然后選項操作。(示例) 欲查看工作空間的情況,可以在命令窗口鍵入命令whos(顯示存在工作空間全部變量的名稱、大小、數(shù)據(jù)類型等信息)或命令who(只顯示變量名) 4.當(dāng)前目錄瀏覽器:(Current Directory) 用于顯示及設(shè)置當(dāng)前工作目錄,同時顯示當(dāng)前工作目錄下的文件名、文件類型及目錄的修改時間等信息。只有在當(dāng)前目錄或搜索路徑下的文件及函數(shù)可以被運行或
38、調(diào)用。(圖示、操作演示) 設(shè)置當(dāng)前目錄可以在瀏覽器窗口左上角的輸入欄中直接輸入,或點擊瀏覽器下拉按鈕進(jìn)行選擇。還可用cd命令在命令窗口設(shè)置當(dāng)前目錄,如: cd c:\mydir 可將c盤上的mydir目錄設(shè)為當(dāng)前工作目錄。 (5).命令歷史窗口:(Command History) 記錄已運行過的MATLAB命令歷史,包括已運行過的命令、函數(shù)、表達(dá)式等信息,可進(jìn)行命令歷史的查找、檢查等工作,也可以在該窗口中進(jìn)行命令復(fù)制與重運行。(圖示、操作演示) 6.啟動平臺:(Launch Pad)(6.0版) 幫助用戶方便地打開和調(diào)用MATLAB 的各種程序、函數(shù)和幫助文件。 平臺列出
39、了系統(tǒng)中安裝的所有的MATLAB產(chǎn)品的目錄,可以通過雙擊來啟動相應(yīng)的選項。7.0版取消了這個窗口,事實上Help工具完全具備它的功能。(圖示、操作演示) 7.MATLAB 的搜索路徑:(Searching Path) MATLAB定義的一系列文件路徑的組合,缺省狀態(tài)下包括當(dāng)前路徑和已安裝的全部工具箱的路徑。(圖示、操作演示) 當(dāng)在命令窗口輸入一個字符串時,MATLAB按下列順序開始搜索: (1) 在工作空間中搜索是否有以該字符串為變量名的變量,有則返回該變量的值; (2) 搜索是否有同名的MATLAB內(nèi)部函數(shù),如果有,執(zhí)行該內(nèi)部函數(shù); (3) 在當(dāng)前目錄中查找與該字符串同名的M
40、文件,如果有,執(zhí)行該文件; (4) 在搜索目錄中查找與該字符串同名的M文件,如果有,執(zhí)行該文件; 如果在搜索目錄中存在多個同名函數(shù),則只執(zhí)行搜索路徑中的第一個函數(shù),其他函數(shù)不再執(zhí)行。 搜索目錄的設(shè)置通過選擇主菜單Set Path菜單項進(jìn)行。 用Add Folder…按鈕可以將某一目錄加入搜索路徑,選擇Add with Subfolder…按鈕可將選中目錄的子目錄也包括在搜索路徑中。 8.內(nèi)存數(shù)組編輯器:(Array Editor) 提供對數(shù)值型或字符型二維數(shù)組的顯示和編輯功能,對其他數(shù)據(jù)類型都不能編輯。通過工作空間窗口打開所選的變量時,該編輯器啟動。(圖示、操作演示)
41、9.幫助瀏覽器:(Help Browser) (1)幫助瀏覽器:提供方便快捷的幫助信息獲取途徑和圖文并茂的幫助內(nèi)容,MATLAB7.0是通過勾選Desktop菜單中的Help選項打開一個獨立的交互式幫助瀏覽器。 (2)help 命令:在命令窗口輸入help命令,也是MATLAB尋找在線幫助的一種方便而快捷的方式。(圖示、操作演示) 例 1. help (列出主要的幫助主題) HELP topics: matlab\general - General purpose commands. matlab\ops - Operators and
42、special characters. matlab\lang - Programming language constructs. matlab\elmat - Elementary matrices and matrix manipulation. matlab\elfun - Elementary math functions. matlab\specfun - Specialized math functions. matlab\matfun - Matrix functions - num
43、erical linear algebra. matlab\datafun - Data analysis and Fourier transforms. matlab\audio - Audio support. matlab\polyfun - Interpolation and polynomials. matlab\funfun - Function functions and ODE solvers. matlab\sparfun - Sparse matrices. matlab\graph2d
44、 - Two dimensional graphs. matlab\graph3d - Three dimensional graphs. matlab\specgraph - Specialized graphs…. 例 2. help exp (列出指定主題下的函數(shù)說明) EXP Exponential. EXP(X) is the exponential of the elements of X, e to the X. For complex Z=X+i*Y, EXP(Z) = EXP(X)*(COS(Y)
45、+i*SIN(Y)). See also LOG, LOG10, EXPM, EXPINT. Overloaded methods help sym/exp.m help fints/exp.m help demtseries/exp.m (3)lookfor 命令:(lookfor commend) 可以根據(jù)用戶提供的完整或不完整的關(guān)鍵詞,搜索出一組與之相關(guān)的命令或函數(shù)。(圖示、操作演示) 例:lookfor integral ELLIPKE Complete elliptic integral. EXPINT Exponential i
46、ntegral function. DBLQUAD Numerically evaluate double integral. QUAD Numerically evaluate integral, adaptive Simpson quadrature. QUAD8 Numerically evaluate integral, higher order method. QUADL Numerically evaluate integral, adaptive Lobatto quadrature. COSINT Cosine integral function. SIN
47、INT Sine integral function. ASSEMA Assembles area integral contributions in a PDE problem. COSINT Cosine integral function. FOURIER Fourier integral transform. IFOURIER Inverse Fourier integral transform. SININT Sine integral function. BLKPIDCON The output of the block is the sum of proportion
48、al, integral and (4)模糊查詢:(fuzzy Inquiry) 用戶只須輸入命令的前幾個字母,然后鍵入Tab鍵 MATLAB 就會列出所有以這個字母開始的命令。(圖示、操作演示) 例: 在命令窗口鍵入plot 然后按Tab鍵,可得各種以plot為字頭的命令: plot plotbr plotes plotmap plotperf plottr plot3 plotchar plotfa plotmatrix plotpv plotv
49、 plot3m ploteach plotfis plotmf plotscale plotvec plotall plotedit plotfrsp plotnic plotsm plotyy plotbintree plotep plotlr plotnyq plotsom plotbode ploterr plotm plotpc plotstep (5)幫助臺:(doc
50、)幫助臺比幫助命令及幫助窗口提供更多的幫助信息。鍵入命令helpdesk可進(jìn)入幫助臺,可以利用瀏覽器的功能瀏覽幫助信息。 (6)在線幫助頁:(doc)命令doc后加關(guān)鍵字,MATLAB會自動定位到相關(guān)頁碼,在線幫助頁包括所有的字體、圖形和圖像都可以直接打印。 *演示:(Demo)交互式界面引導(dǎo)的內(nèi)置演示程序,運行這些程序可以對照屏幕上的顯示仔細(xì)的研究實現(xiàn)演示的有關(guān)M文件,其獨特的示范作用是書籍難以替代的。演示方法:1、指令窗口上的Demos指令 2、菜單欄中Demos菜單 四.MATLAB的基本操作 1. 簡單矩陣的建立(matr
51、ix setting) Matrix: A kind of special type of data structure, most function and operation of MATLAB were based on it. It is a set of numbers arranged using a rectangular grid of rows and columns. *Scalar: It is just a single number and it can be considered as a special matrix with one row and one
52、 column. *Vector: It is a series of numbers arranged in a row or a column; Also we can refer to the vector as a special matrix with one row or one column. It may be called a row vector or a column vector. MATLAB以矩陣為基本運算對象,標(biāo)量可看作11的矩陣,矢量看作n1或1n的矩陣。 輸入方式:(Input Mode) (1)以直接列出元素的形式輸入:(simply initia
53、lizing matrices by the method to explicitly lists the values )把矩陣元素直接排列到方括號[ ]中,每行內(nèi)的元素用逗號或空格分開,行與行之間用分號隔開。 例: a=[1 2 3;2 4 6;8 3 5] 或 a=[1, 2, 3;2, 4 ,6;8, 3 ,5] 大矩陣可分行輸入: a=[1 2 3 2 4 6 8 3 5] (2). 通過語句和函數(shù)產(chǎn)生:(Creating a new matrix from a existing matrix throw MATLAB lang
54、uage or functions) 對于已經(jīng)存在的矩陣,可用函數(shù)或表達(dá)式產(chǎn)生新的矩陣。 例如: 矩陣 a和x已存在,利用 y=sin(x) 和c=a+0.1*(1+a/2) 命令將產(chǎn)生新矩陣y和c。 利用內(nèi)部語句和函數(shù)可以快速產(chǎn)生一些特別有用的工具矩陣,如全0 陣,全 1陣,單位陣,隨機陣等。 (3).在m文件中創(chuàng)建矩陣:(Creating a matrix within the M file)通過建立MATLAB的M文件可完成矩陣的輸入,如建立B.m的文件,內(nèi)容為: B=[3 4 2;1 3 5;6 4 3] 或 B=[3 4 2 1 3 5 6 4 3]
55、 則在命令窗口中使用B命令語句可以調(diào)用B矩陣。 (4) 從外部的數(shù)據(jù)文件中裝入:(Read the Matrix from external data file)利用 load 或 fread 命令可以讀取MATLAB早期版本產(chǎn)生的矩陣,也可讀取有其他應(yīng)用程序產(chǎn)生的數(shù)據(jù)(或矩陣)。 2. 矩陣元素(Element of matrix: Any kind of expression can be used as a matrix element) 可以用任何形式的表達(dá)式來充當(dāng)矩陣元素,如: x=[-1.3 sqrt(3) (1+2+3)*4/5] 將得到矩陣: x=
56、-1.3000 1.7321 4.8000 可以定義或修改矩陣中某一元素,如操作: x=[-1.3 sqrt(3) (1+2+3)*4/5] x(5)=abs(x(1)) 得一個新矩陣 x= -1.3000 1.7321 4.8000 0 1.3000 可以用小矩陣構(gòu)成大矩陣, 如: a=[1 2 3;4 5 6;7 8 9]; c=[a;[10,11,12]] 結(jié)果為: c= 1 2 3 4 5 6 7 8 9 10 11 12
57、 或a=[1 2 3;4 5 6;7 8 9]; r=[ 10 11 12 ]; c=[ a;r ] 可得同樣矩陣 c= 1 2 3 4 5 6 7 8 9 10 11 12 可使用”:”(colon) 從大矩陣中抽取小矩陣, (withdraw a small matrix from a big matrix)如: a=[1 2 3;4 5 6;7 8 9]; r=[ 10 11 12 ]; c=[ a;r
58、 ] d=c(1:3,:) 意為抽取一到三行的各列, 結(jié)果為: d= 1 2 3 4 5 6 7 8 9 e=c(:,1:2) 意為抽取一到二列的各行, 結(jié)果為: 1 2 4 5 7 8 10 11 3. 語句與變量(Statement and variable) MATLAB 語句的常用格式: 變量=表達(dá)式(;) (variable=expression(;)) 或簡化為: 表達(dá)式(;) 表
59、達(dá)式可以由運算符(Operator)、特殊字符(special character)、函數(shù)名(function name)、變量名(variable name) 等組成,表達(dá)式的結(jié)果為一矩陣,它賦給左邊的變量。如省略變量名和“=”,則自動產(chǎn)生一個名為ans的變量, 如: 1900/81 結(jié)果為: ans= 23.4568 4568 并顯示在屏幕上,如語句以分號結(jié)束,則結(jié)果不顯示, 如: p=a*a; 只完成運算,但不顯示結(jié)果。 表達(dá)式較長時可利用續(xù)行符“. . .”, 如: s=1-1/2+1/3-1/4+1/5-1/6+1/7-. . . 1/8+1/9-1/10
60、+1/11-1/12; 計算結(jié)果為: 0.6532 注:續(xù)行號前不應(yīng)是數(shù)字,數(shù)字后應(yīng)為運算符、空格或加一個點號。 MATLAB變量:變量名必須用字母打頭,之后可以是任何字母、下劃線或 者數(shù)字,變量名最多不超過31個字符,31個字符后的字符將被忽略。 4. 復(fù)數(shù)和復(fù)數(shù)矩陣 (Complex and complex matrix) 復(fù)數(shù)用特殊字符i或j 表示。i=sqrt(-1), 其值在工作空間顯示為 0+1.0000i. 例: 輸入 z=3+4i 或z=3+4j 結(jié)果一樣。 MATLAB 中復(fù)數(shù)有下面的語句生成辦法: z=a+b*i 或 z=r*exp(i*θ)
61、 其中r為復(fù)數(shù)的模,θ為復(fù)數(shù)輻角的弧度數(shù)。 復(fù)數(shù)的兩種輸入方法: (1) a=[1 2;3 4]+i*[5 6;7 8] (2) a=[1+5i 2+6i; 3+7i 4+8i] 結(jié)果相同: a = 1.0000 + 5.0000i 2.0000 + 6.0000i 3.0000 + 7.0000i 4.0000 + 8.0000i 注:(1) 當(dāng)復(fù)數(shù)的虛部(image)為一個確定的數(shù)(而不是變量或矩陣)時,可省略“*”,如1+2*i可寫成1+2i, 但a+b*i 不能寫成 a+bi, [1 2]+[3 4]*i不能寫成 [1 2] + [
62、3 4]i (2) 當(dāng)復(fù)數(shù)作為矩陣元素時,復(fù)數(shù)內(nèi)不能留有空格,如 1 +5i, MATLAB中任何矩陣的元素內(nèi)部都不能留有空格,否則會被當(dāng)作兩個元素處理而出錯。 (3) 如在程序設(shè)計中i 、j 被定義為其他變量則應(yīng)定義另一新的復(fù)數(shù)單位。如 i1。 5. 永久變量:(permanent variable)系統(tǒng)本身在啟動時定義的變量,駐留在工作空間中,它們是: ans: (stores expression value)系統(tǒng)默認(rèn)的變量名 eps:(represents floating-point precision)容差變量,定義為0到最近浮點數(shù)的距離。在PC機上等于2-52
63、,即精確到2.2210-16; pi :(represents the value π) 圓周率的近似值3.141565358979 Inf 或inf: (represents the value ∞)正無窮大,定義為(1/0) NaN:(represents the value Not-a-Number) 非數(shù)(Not a number), Inf/Inf或0/0運算產(chǎn)生,表示不定值。 i, j : 虛數(shù)單位,定義i=-11/2 , j=-11/2 6. 數(shù)和算術(shù)表達(dá)式(Number and arithmetic expression) MATLAB采用10進(jìn)制慣例, 表
64、示10 的冪次用符號e或E: 3 -99 0.001 9.456 1.3e-3 4.5E21 數(shù)值的相對精度是eps,即大約保持16位有效數(shù)字。 MATLAB的算數(shù)運算符號(Arithmetic Operator): + 加 addition , - 減 subtraction , * 乘 multiplication , \ 左除 left division , / 右除 right division, ^ 冪 exponentiation 對于標(biāo)量,兩種除法運算的結(jié)果相同,對于矩陣兩種除法表示兩種不同的除數(shù)矩陣和被除數(shù)矩
65、陣的關(guān)系。 7. 數(shù)據(jù)的顯示格式(The display format of number) MATLAB的數(shù)據(jù)顯示格式由format命令來控制,他只影響結(jié)果在屏幕上的顯示,不影響其計算與存儲。MATLAB總是以雙精度執(zhí)行所有的運算。 數(shù)據(jù)的顯示格式。 有十種數(shù)據(jù)的顯示格式可供選擇: 格 式 對應(yīng)結(jié)果 命令 含義 4/3 1.2345e-6 format short format long format short e format long e format short g forma
66、t long g format hex format + format rat format bank 短格式 長格式 短格式e方式 長格式e方式 短格式g方式 長格式g方式 16進(jìn)制格式 +格式 分?jǐn)?shù)格式 銀行格式 1.3333 1.33333333333333 1.3333e+000 1.33333333333333e+000 1.3333 1.33333333333333 3ff5555555555555 + 4/3 1.33 0.0000 0.00000123450000 1.2345e-006 1.234500000000000e-006 1.2345e-006 1.234500000000000e-006 3eb4b6231abfd271 + 1/810045 0.00 對于長短格式,如果矩陣的最大元素
- 溫馨提示:
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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 110中國人民警察節(jié)(筑牢忠誠警魂感受別樣警彩)
- 2025正字當(dāng)頭廉字入心爭當(dāng)公安隊伍鐵軍
- XX國企干部警示教育片觀后感筑牢信仰之基堅守廉潔底線
- 2025做擔(dān)當(dāng)時代大任的中國青年P(guān)PT青年思想教育微黨課
- 2025新年工作部署會圍繞六個干字提要求
- XX地區(qū)中小學(xué)期末考試經(jīng)驗總結(jié)(認(rèn)真復(fù)習(xí)輕松應(yīng)考)
- 支部書記上黨課筑牢清廉信念為高質(zhì)量發(fā)展?fàn)I造風(fēng)清氣正的環(huán)境
- 冬季消防安全知識培訓(xùn)冬季用電防火安全
- 2025加強政治引領(lǐng)(政治引領(lǐng)是現(xiàn)代政黨的重要功能)
- 主播直播培訓(xùn)直播技巧與方法
- 2025六廉六進(jìn)持續(xù)涵養(yǎng)良好政治生態(tài)
- 員工職業(yè)生涯規(guī)劃方案制定個人職業(yè)生涯規(guī)劃
- 2024年XX地區(qū)黨建引領(lǐng)鄉(xiāng)村振興工作總結(jié)
- XX中小學(xué)期末考試經(jīng)驗總結(jié)(認(rèn)真復(fù)習(xí)輕松應(yīng)考)
- 幼兒園期末家長會長長的路慢慢地走