MATLAB語言介紹參考模板_第1頁
MATLAB語言介紹參考模板_第2頁
MATLAB語言介紹參考模板_第3頁
MATLAB語言介紹參考模板_第4頁
MATLAB語言介紹參考模板_第5頁
已閱讀5頁,還剩73頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、一 MATLAB概述1.1 MATLAB是21世紀(jì)的科學(xué)計算軟件在科學(xué)研究和工程應(yīng)用等領(lǐng)域中會涉及到大量的科學(xué)計算問題,自從計算機出現(xiàn)以來,人們就一直在使用計算機這個有力的工具幫助解決科學(xué)計算問題,并由此發(fā)明了許多用于科學(xué)計算的程序語言,如BASIC、FORTRAN、C等等。隨著時代的變化、隨著計算機的普及和快速發(fā)展,計算機程序語言在不斷地變化發(fā)展、在不斷地推陳出新。在當(dāng)今時代,什么程序語言是最流行的科學(xué)計算語言呢?答案是MATLAB語言。MATLAB之所以能夠成為最好的和最流行的科學(xué)計算語言,是因為它具有強大的科學(xué)計算及數(shù)據(jù)處理能力和出色的圖形處理功能等特點。1 / 781.1.1 MATL

2、AB具有強大的科學(xué)計算及數(shù)據(jù)處理能力MATLAB擁有600多個工程中要用到的數(shù)學(xué)運算函數(shù),可以方便地實現(xiàn)用戶所需的各種計算功能。函數(shù)中所使用的算法都是科研和工程計算中的最新研究成果,而且經(jīng)過了各種優(yōu)化及容錯處理,因此使用起來穩(wěn)定性和可靠性非常高,在通常情況下,可以用它來代替底層編程語言,如C和C+等。在計算要求相同的情況下,使用MATLAB的編程工作量會大大減少。MATLAB函數(shù)所能解決的問題包括矩陣運算、多維數(shù)組操作(陣列運算)、復(fù)數(shù)的各種運算、三角函數(shù)和其他初等數(shù)學(xué)函數(shù)運算、非線性方程求根、線性方程組的求解、微分方程及偏微分方程組的求解、符號運算、傅立葉變換和數(shù)據(jù)的統(tǒng)計分析、工程中的優(yōu)化問

3、題、稀疏矩陣運算、建模和動態(tài)仿真等等。1.1.2 MATLAB具有出色的圖形處理功能在科學(xué)計算中,往往需要用各種圖形把數(shù)值計算的結(jié)果形象地表現(xiàn)出來,以幫助人們更好地理解、認(rèn)識和發(fā)現(xiàn)其中的科學(xué)規(guī)律。MATLAB不僅提供數(shù)值計算功能和符號運算功能,而且自誕生之日起就具有方便的數(shù)據(jù)可視化功能,使計算結(jié)果的可視化要求得到充分滿足。MATLAB在二維曲線和三維曲面的繪制和處理等方面的功能比一般數(shù)據(jù)可視化軟件更加完善,在一些其他軟件所沒有的功能(例如圖形的光照處理、色度處理以及四維數(shù)據(jù)的表現(xiàn)等)方面也表現(xiàn)得非常出色。在MATLAB 6.x中有一個對圖形對象屬性進行設(shè)置的圖形屬性編輯界面,該界面比 MATL

4、AB 5.x中的界面功能更為全面,操作也更為方便。MATLAB 6.x對圖形的輸出也做了適當(dāng)?shù)母倪M,提供了更為豐富的屬性設(shè)置,以提高圖形輸出的效果。對一些特殊的可視化要求,例如圖形動畫等,MATLAB也有相應(yīng)的功能函數(shù),保證了用戶不同層次的要求。另外,新版本的MATLAB還著重在圖形用戶界面(GUI)的制作上做了很大的改善,對這方面有特殊要求的用戶也可以得到滿足。MATLAB將數(shù)值計算功能、符號運算功能和圖形處理功能高度地集成在一起,在數(shù)值計算、符號運算和圖形處理上做到了無縫的銜接,極大地方便了用戶,這是它在科學(xué)計算中能得到廣泛應(yīng)用的重要原因之一。1.1.3 MATLAB程序語言簡單易用早期用

5、于科學(xué)計算的計算機語言,由于計算機內(nèi)存容量和運算速度的限制等原因,常常要定義常量、變量、向量和矩陣等的不同的數(shù)據(jù)類型,結(jié)果導(dǎo)致編程過于復(fù)雜化。和這些語言不一樣,MATLAB語言對他們進行了高度抽象,實現(xiàn)了數(shù)據(jù)類型的高度統(tǒng)一,即常量、變量、向量和矩陣等都具有相同的數(shù)據(jù)類型。MATLAB語言認(rèn)為所有的數(shù)據(jù)都是一個對象類,都具有相同的屬性。因此,用戶不需要事先分別定義常量、變量、向量和矩陣等的數(shù)據(jù)類型就可以直接使用他們(當(dāng)然MATLAB的這種設(shè)計思想是以高性能計算機的出現(xiàn)和普及作為前提條件的),編程得到了很大簡化。例如,在MATLAB中,基本的計算單元用復(fù)雙精度矩陣來表示,其大小是n行m列,矩陣各數(shù)

6、據(jù)元素存放在兩個雙精度向量中,一個存放實部數(shù)據(jù)(指針pr指向它),另一個存放虛部數(shù)據(jù)(指針pi指向它)。如果是實數(shù),則復(fù)雙精度矩陣中pi為空。復(fù)數(shù)或?qū)崝?shù)則可以理解為11的矩陣。MATLAB語言是一種“數(shù)學(xué)形式的語言”,它的操作和功能函數(shù)指令就是用平時計算機和數(shù)學(xué)書上的英文單詞和符號來表達的,比BASIC、FORTRAN和C等語言更接近于人們書寫的數(shù)學(xué)計算公式、更接近于人們進行科學(xué)計算的思維方式,用MATLAB語言編寫程序猶如在演算紙上排列公式與求解問題,故有人稱MATLAB編程語言為“演算紙”式科學(xué)算法語言。因此,MATLAB語言簡單自然,學(xué)習(xí)和使用更容易。MATLAB程序文件是一個純文本文件

7、,擴展名為.m,用任何字處理軟件都可以對它進行編輯。MATLAB本身就像一個解釋系統(tǒng),對其中的函數(shù)程序的執(zhí)行以一種解釋執(zhí)行的方式進行,程序不必經(jīng)過編譯就可以直接運行,而且能夠及時報告出現(xiàn)的錯誤,進行出錯原因分析。因此,程序調(diào)試容易、編程效率高。MATLAB的用戶界面精致,接近Windows的標(biāo)準(zhǔn)界面,人機交互性強,操作簡單。新版本的MATLAB提供了完整的聯(lián)機查詢、幫助系統(tǒng),極大地方便了用戶的使用。例如,在開發(fā)環(huán)境中,MATLAB 6.x提供了強大的幫助功能,幾乎所有的幫助都能以在線幫助的形式出現(xiàn),同時也提供了一種全新的幫助瀏覽器,更加方便用戶獲得所需要的信息。與MATLAB 5.x相比,MA

8、TLAB 6.x改進了原有的系統(tǒng)結(jié)構(gòu),將各種對MATLAB應(yīng)用提供支持的系統(tǒng)集成為全新的MATLAB開發(fā)環(huán)境,其中最為明顯的就是,集各種對MATLAB文件、數(shù)據(jù)變量進行操作的工具以及MATLAB自身的輔助工具為一體的MATLAB桌面系統(tǒng)。該桌面系統(tǒng)就是用戶對MATLAB操作的面板。從開始應(yīng)用MATLAB到退出MATLAB,幾乎所有具體的操作都將在桌面系統(tǒng)內(nèi)完成。1.1.4 MATLAB功能強大MATLAB為許多專業(yè)領(lǐng)域開發(fā)了功能強大的模塊集或工具箱(一般都是由這些領(lǐng)域的專家們開發(fā)的),用戶可以直接使用這些工具箱而不需要自己編寫代碼。目前,MATLAB已經(jīng)把工具箱延伸到了科學(xué)研究和工程應(yīng)用的諸多

9、領(lǐng)域,諸如概率統(tǒng)計、NAG和偏微分方程求解、樣條擬合、優(yōu)化算法、模糊邏輯、工程規(guī)劃、模型預(yù)測、模型處理、神經(jīng)網(wǎng)絡(luò)、數(shù)據(jù)采集、交流通信、DSP與通訊、數(shù)字信號處理、小波分析、光譜分析、圖像處理、系統(tǒng)辨識、控制系統(tǒng)設(shè)計、非線性控制設(shè)計、魯棒控制、QFT控制設(shè)計、LMI控制、實時工作、數(shù)據(jù)庫接口、金融分析、金融管理、地圖工具、嵌入式系統(tǒng)開發(fā)、實時快速原型及半物理仿真、定點仿真、電力系統(tǒng)仿真等等,都在工具箱(Toolbox)家族中有了自己的一席之地。在模型化和系統(tǒng)級仿真方面,MATLAB開發(fā)了分支產(chǎn)品Simulink,主要用來實現(xiàn)對工程問題的模型化和動態(tài)仿真。Simulink體現(xiàn)了模塊化設(shè)計和系統(tǒng)級仿

10、真的具體思想,使得建模仿真如同搭積木一樣簡單。Simulink對仿真的實現(xiàn)可以應(yīng)用于動力系統(tǒng)、信號控制、通信設(shè)計、金融財會及生物醫(yī)學(xué)等各個領(lǐng)域的研究中。MATLAB留有與其它實用的程序接口。MATLAB可以方便地與FORTRAN,C等語言接口,以充分利用各種資源。用戶只需將已有的EXE文件轉(zhuǎn)換成MEX文件,就可以方便地調(diào)用有關(guān)程序和子程序。新版本的MATLAB可以利用MATLAB編譯器和CC+數(shù)學(xué)庫和圖形庫,將自己的 MATLAB程序自動轉(zhuǎn)換為獨立于MATLAB運行的C和C+代碼。MATLAB還和符號運算最為強大的工具軟件Maple有很好的接口,這也大大擴充了MATLAB的符號運算功能。此外,

11、在MATLAB 6.x中增加了與Java的接口,并為實現(xiàn)兩者的數(shù)據(jù)交換提供了相應(yīng)的函數(shù)庫。1.1.5 MATLAB開放性強MATLAB強大的功能與其開放性設(shè)計思想是分不開的,正是這種開放性設(shè)計思想,增強了MATLAB強大的生命力。MATLAB對函數(shù)程序的執(zhí)行是以一種解釋的方式進行的,MATLAB完全成了一個開放的系統(tǒng),用戶可以方便地看到函數(shù)的源程序,也可以方便地開發(fā)自己的程序,甚至創(chuàng)建自己的“庫”。在工具箱方面,該公司本身就推出了30多個應(yīng)用工具箱,而世界上超過200家公司開發(fā)出與MATLAB兼容的第三方產(chǎn)品,這些產(chǎn)品向用戶提供更多的工具箱、模塊集、與其他商業(yè)產(chǎn)品的接口等。MATLAB是一個開

12、放的環(huán)境。全世界各地,特別是許多大學(xué)都建立了MATLAB學(xué)習(xí)研究小組,他們也通過互聯(lián)網(wǎng)交流學(xué)習(xí)心得和經(jīng)驗,MathWorks公司特別鼓勵這種交流,以豐富和擴展MATLAB的使用范圍。目前,MATLAB 7.0版本已經(jīng)面世,其功能和使用便捷程度又有了很大提高。MATLAB的相關(guān)書籍超過涉及19種不同文字600種。由于MATLAB具有以上其他計算語言無法比擬的優(yōu)勢,在美國及其他發(fā)達國家的理工科院校里,MATLAB已經(jīng)成為了一門必修的課程,是攻讀學(xué)位的大學(xué)生、碩士生和博士生必須掌握的基本工具。在科研院所、大型公司或企業(yè)的工程計算部門,MATLAB也是最為普遍的計算工具之一。由此可見,MATLAB就是

13、21世紀(jì)真正的科學(xué)計算語言。1.2 MATLAB軟件的發(fā)展歷史MATLAB是由MATrix和LABoratory兩個詞的前三個字母組合而成的,含義是矩陣實驗室。它是MathWorks公司于1984年推出的一套高性能的數(shù)值計算和數(shù)據(jù)可視化數(shù)學(xué)軟件。20世紀(jì)70年代,Cleve Moler和他的同事在美國國家自然科學(xué)基金的資助下研發(fā)了調(diào)用LINPACK和EISPACK的FORTRAN子程序庫,這兩個程序庫是用于解線性方程和矩陣特征值問題的,代表著當(dāng)時矩陣計算軟件的最高水平。后來Cleve Moler在新墨西哥大學(xué)給學(xué)生開線性代數(shù)課程時,用業(yè)余時間為學(xué)生編寫使用方便的LINPACK和EISPACK的

14、接口程序,并給這個接口程序取名為MATLAB。Cleve Moler先后到多所大學(xué)講學(xué),MATLAB逐漸為人們所接受并成為應(yīng)用數(shù)學(xué)界的術(shù)語。當(dāng)Cleve Moler 1983年到斯坦福大學(xué)訪問時,工程師John Little就意識到MATLAB將會在工程計算領(lǐng)域里大有作為,于是他與Moler及Steve Bangert等人一起合作開發(fā)了第二代專業(yè)版MATLAB。從這一代開始,MATLAB的核心就采用C語言編寫,并且MATLAB除了具有數(shù)值計算的功能以外,還具備了數(shù)據(jù)可視化的功能。1984年,Mathworks公司成立,把MATLAB推向了市場,并繼續(xù)MATLAB的研制和開發(fā)。1993年,MAT

15、LAB的第一個Windows版本問世,同年,支持Windows 3.x的MATLAB 4.0版本推出。4.0版本做了很大的改進,如增加了Simulink,Control, Neural Network,Optimization,Signal Processing,Spline,State-space Identification,Robust Control,Mu-analysis and synthesis等工具箱。1993年11月,Mathworks公司又推出了MATLAB 4.1版本,首次開發(fā)了Symbolic Math符號運算工具箱,其升級版本MATLAB 4.2c在用戶中得到廣泛的應(yīng)

16、用。1997年,MATLAB 5.0版本問世了。相對于MATLAB 4.x版本,它是真正的32位運算,功能強大,數(shù)值計算加快,圖形表現(xiàn)有效,編程簡潔直觀,用戶界面十分友好。2000年下半年,Mathworks公司推出了MATLAB 6.0(R12)的試用版,2001年初推出了正式版。2002年7月又推出了他們的最新產(chǎn)品MATLAB 6.5(R13),Simulink升級到5.0版本。MATLAB 6.5提供了JIT程序執(zhí)行加速器,大大提高了程序的執(zhí)行速度。本教程主要以MATLAB 6.5為藍本,簡明介紹MATLAB語言的數(shù)值計算功能、繪圖功能和在數(shù)值計算方法中的應(yīng)用等內(nèi)容。1.3 MATLAB

17、軟件的組成MATLAB軟件是一個大家庭,有許多成員,包括應(yīng)用程序開發(fā)工具、工具箱(Toolbox)、數(shù)據(jù)存取工具、模塊集、狀態(tài)流圖、代碼生成工具、學(xué)生產(chǎn)品等。應(yīng)用程序開發(fā)工具包括MATLAB編譯器、C/C數(shù)學(xué)庫、MATLAB運行服務(wù)器、MATLAB Web服務(wù)器,這些工具可以建立和發(fā)布獨立于MATLAB環(huán)境的應(yīng)用程序(需要編譯)。工具箱實際上是一些高度優(yōu)化并且是面向?qū)iT應(yīng)用領(lǐng)域的一系列MATLAB函數(shù)(稱為M文件)的集合,它可用來求解各類學(xué)科的問題。僅隨軟件提供的工具箱可支持的領(lǐng)域就有信號處理、圖像處理、控制系統(tǒng)設(shè)計、最優(yōu)化、金融工程、符號數(shù)學(xué)、神經(jīng)網(wǎng)絡(luò)、系統(tǒng)辯識等等。工具箱的最大的特點是它的

18、開放性,幾乎所有函數(shù)都是用MATLAB語言寫成的(只有少數(shù)工具箱的某些函數(shù)是使用C語言寫成的動態(tài)庫函數(shù)),因而可以直接閱讀和加以改寫,用戶也可以自行開發(fā)適合特定領(lǐng)域的工具箱。數(shù)據(jù)存取工具提供了從外部數(shù)據(jù)源獲取數(shù)據(jù)的簡易途徑,這些數(shù)據(jù)源包括外部硬件和外部數(shù)據(jù)庫(與JDBC、ODBC兼容)。為了方便數(shù)據(jù)的讀取,MATLAB 6.x提供了數(shù)據(jù)編輯器,以完成從MATLAB外部便捷地讀取數(shù)據(jù)的功能;通過該編輯器可以實現(xiàn)多種數(shù)據(jù)類型的轉(zhuǎn)換。模塊集是面向應(yīng)用領(lǐng)域的模塊(Simulink的基本單位)的集合,這些模塊可以直接用于Simulink模型中,在命令窗口(matlab command window)鍵入

19、“simulink”,就出現(xiàn)(SIMULINK) 窗口,以往十分困難的系統(tǒng)仿真問題,用SIMULINK只需拖動鼠標(biāo)即可輕而易舉地解決問題。狀態(tài)流圖是一個專門針對事件驅(qū)動系統(tǒng)建模和設(shè)計的圖形化的模擬環(huán)境。代碼生成工具可以從Simulink模型或狀態(tài)流圖中產(chǎn)生可定制的C和Ada代碼,以便實現(xiàn)快速原型和硬件在線模擬。 學(xué)生產(chǎn)品是專門針對美國和加拿大地區(qū)的學(xué)生而發(fā)布的MATLAB的簡易和廉價版本。1.4 MATLAB軟件的安裝1.4.1 運行MATLAB的基本要求1. MATLAB 6.5對硬件的要求CPU 奔騰、奔騰Pro、奔騰二、三或四代、AMD Athlon或者更高;光驅(qū) 至少為24速光驅(qū);內(nèi)存

20、 至少128MB,推薦256MB以上;硬盤 至少預(yù)留260MB的硬盤空間(根據(jù)需要安裝的東西所定);顯卡 256色以上。2. MATLAB 6.5對軟件的要求 Microsoft Windows Me98NT2000XP; Microsoft Word 972000XP,用以使用MATLAB Notebook; Compaq Visual Fortran 5.0,Microsoft VCC+5.0,Borland CC+5.0,Borland C+; Builder version 3.0或更高版本,用以實現(xiàn)API; Adobe Acrobat Reader,用以閱讀MATLAB的PDF幫助信

21、息??梢姡琈ATLAB 6.5對內(nèi)存的要求加大,并且不再支持Windows 95系統(tǒng),不再支持Office95。根據(jù)Mathworks公司的報告,在即將發(fā)行的新版本的產(chǎn)品中將不再支持Windows 98系統(tǒng)。讀者可以根據(jù)自己的需求來合理選擇需要安裝的版本。1.4.2 安裝MATLAB將MATLAB 6.5的安裝盤放入光驅(qū),系統(tǒng)會自動搜索到autorun文件并進入安裝界面。安裝步驟十分簡便,按提示進行操作就可以了。當(dāng)用戶填寫注冊信息及接受使用協(xié)議后,將進入MATLAB的選擇安裝界面,如圖1.1所示。用戶可以根據(jù)使用的要求有選擇地安裝各組件和安裝目錄。完全安裝MATLAB 6.5需要1.5GB以上

22、的硬盤空間,對一般的計算機用戶來說,許多工具箱軟件包可能在相當(dāng)長的時間內(nèi)根本用不到,因此選擇安裝就顯得很重要。表1.1列出了供選擇的各個選項的具體解釋。對于初學(xué)者,安裝表中粗體內(nèi)容即可,大約需要250MB的硬盤空間。對于硬盤很大的用戶,最好需要什么才安裝什么,并不是安裝得越多越好。圖1.1選好需要安裝的組件和安裝目錄后就可以進行安裝了。在安裝之后再重新啟動計算機,安裝時所做的一些設(shè)置,如搜索路徑設(shè)置等才會生效。表1.1可以選擇安裝的項目組件選項功能解釋組件選項功能解釋MATLAB MATLAB主程序Financial Toolbox金融財政工具箱Simulink動態(tài)仿真Fixed-Point

23、Blockset定點模塊集CDMA Reference BlocksetCDMA參考模塊集Fuzzy Logic Toolbox模糊邏輯工具箱Communications Blockset通信模塊集GARCH ToolboxGARCH工具箱Communications Toolbox通信工具箱Image Processing Toolbox圖像處理工具箱Control System Toolbox控制系統(tǒng)工具箱Instrument Control Toolbox器材控制工具箱DSP Blockset數(shù)字信號模塊集LMI Control ToolboxLMI控制工具箱Data Acquismon

24、 Toolbox數(shù)據(jù)采集工具箱MATLAB CMATLAB CC+ Graphics LibraryC+圖形庫Database Toolbox數(shù)據(jù)庫工具箱MATLAB CC+ Math LibraryMATLAB CC+數(shù)學(xué)計算庫Datafeed Tookbox數(shù)據(jù)流入工具箱MATLAB CompilerMATLAB編譯器Dials and Gauges Blockset刻度標(biāo)尺模塊集MATLAB Report GeneratorMATLAB報告生成器Excel Link外鏈接Mapping Toolbox制圖工具箱Filter Design Toolbox濾波器設(shè)計工具箱Model Pred

25、ictive Control Toolbox模型預(yù)測控制工具箱Financial Derivatives Toolbox金融系統(tǒng)工具箱Motorola DSP Developers Kit摩托羅拉數(shù)字信號處理開發(fā)工具包Financial Time SeriesToolbox金融時間系列工具箱Mu-Analysis and Synthesis ToolboxMu分析與合成工具箱Neural Network Toolbox神經(jīng)網(wǎng)絡(luò)工具箱Signal Processing Toolbox信號處理工具箱Nonlinear Control Design Blockset非線性設(shè)計模塊集Simulink

26、Report GeneratorSimulink報表生成器Optimization Toolbox最優(yōu)化工具箱Spline Toolbox樣條工具箱Partial Dfferential Equation Toolbox偏微分方程工具箱Stateflow狀態(tài)流工具箱Power System Blockset動力系統(tǒng)模塊集Stateflow Coder狀態(tài)流編碼器Real-Time Workshop實時工作間Statistics Toolbox統(tǒng)計工具箱Real-Time Workshop Ada Coder實時工作問Ada編碼器Symbolic Math Toolbox符號運算工具箱Real-

27、Time Workshop Embedded Coder實時工作間內(nèi)置編碼器System Identification Toolbox系統(tǒng)識別工具箱Requirements Management Interface需求管理界面Wavelet Toolbox小波工具箱Robust Control Toolbox魯棒控制工具箱xPC TargetxPC對象SB2SL(converts models to Simulink)模型轉(zhuǎn)換成Simulink工具xPC Target Embedded OptionxPC對象內(nèi)置屬性此外,MathWorks公司還提供了從網(wǎng)上進行下載安裝的MATLAB6.5學(xué)生

28、版的免費軟件,免費使用期是一個月。下載網(wǎng)址是:。1.5 MATLAB的基本操作1.5.1 MATLAB的桌面平臺雙擊系統(tǒng)桌面的MATLAB圖標(biāo),啟動MATLAB,也可以在開始菜單的程序選項中選擇MATLAB快捷方式,還可以在MATLAB的安裝路徑的bin子目錄中雙擊可執(zhí)行文件matlab.exe。初次啟動MATLAB后,將進入MATLAB默認(rèn)設(shè)置的桌面平臺,如圖1.2所示。圖1.2默認(rèn)情況下的桌面平臺包括5個窗口,分別是MATLAB主窗口、命令窗口、歷史窗口、當(dāng)前目錄窗口和工作空間窗口。下面分別對各窗口做簡單介紹。1MATLAB主窗口MATLAB 6.5的主窗口包含其他的幾個窗口。主窗口不能進

29、行任何計算任務(wù)的操作,只用來進行一些整體的環(huán)境參數(shù)的設(shè)置。它主要包括6個下拉菜單和10個按鈕控件。10個按鈕控件的功能如下:新建或打開一個MATLAB文件;剪切、復(fù)制或粘貼已選中的對象;撤銷或恢復(fù)上一次操作; 打開Simulink主窗口;打開MATLAB的幫助系統(tǒng);6個下拉菜單分別是【File】、【Edit】、【View】、【W(wǎng)eb】、【W(wǎng)indow】和【Help】。這里只簡單介紹與基本操作有關(guān)的內(nèi)容。單擊【File】下拉菜單,點擊【Set Path】,會彈出圖1.3所示的對話窗口,點擊【Add Folder】,瀏覽文件夾,找到需要運行程序所在的文件夾位置,按【確定】后窗口中就會新添一條用戶設(shè)

30、置的路徑,按【Save】和【Close】,退出對話窗口,以后只要在命令窗口中鍵入該路徑下的MATLAB應(yīng)用程序,就可以正常運行,不會出現(xiàn)找不到路徑的錯誤了。這是因為MATLAB的一切操作都是在它的搜索路徑(包括當(dāng)前路徑)中進行的,如果調(diào)用的函數(shù)在搜索路徑之外,MATLAB則認(rèn)為此函數(shù)并不存在。因此,必須把應(yīng)用程序所在的目錄擴展成MATLAB的搜索路徑。單擊【File】下拉菜單,點擊【Preferences】,會彈出圖1.4所示的對話窗口,可以對各窗口的字體、字號、字符顏色、數(shù)據(jù)顯示格式、圖形復(fù)制等很多屬性進行設(shè)置。這里不進行詳細介紹。 圖1.3 圖1.4單擊【File】下拉菜單,點擊【New】

31、,再點擊【M-file】,會彈出文本編輯窗口,用戶可以編寫自己的MATLAB應(yīng)用程序(M文件和M函數(shù))。單擊【Edit】下拉菜單,點擊【Clear Command Window】,可以清除命令窗口中的所有內(nèi)容,窗口中只剩下命令提示符“”。單擊【View】下拉菜單,點擊【Desktop Layout】,再點擊【Default】,MATLAB就恢復(fù)默認(rèn)的桌面平臺設(shè)置。2命令窗口在MATLAB的命令窗口中,“”為運算提示符,表示MATLAB正處在準(zhǔn)備狀態(tài),接受用戶的輸入指令。當(dāng)在提示符后輸入MATLAB通用命令、MATLAB函數(shù)(M函數(shù))、MATLAB應(yīng)用程序(M文件)和一段MATLAB表達式等,按

32、【Enter】鍵后,MATLAB將進行系統(tǒng)管理工作以及進行數(shù)值計算、給出計算結(jié)果,如果指令集中調(diào)用了MATLAB繪圖命令,將會彈出圖形窗口,顯示計算結(jié)果的數(shù)學(xué)圖形。指令完成之后,MATLAB再次進入準(zhǔn)備狀態(tài)。在MATLAB的基本函數(shù)庫(表1.2)中,有MATLAB通用命令和許多其他的MATLAB函數(shù)。如果用戶一旦發(fā)現(xiàn)某個指令不知如何使用時,可以用help命令將該指令緊跟于后,系統(tǒng)便會告訴該指令的意義和使用方法。例如: help sin SIN Sine. SIN(X) is the sine of the elements of X.表1.2MATLAB基本函數(shù)庫庫 內(nèi) 容庫 名庫 內(nèi) 容庫

33、名數(shù)據(jù)分析函數(shù)庫datafun矩陣線性代數(shù)庫matfun動態(tài)數(shù)據(jù)交換庫dde運算符和特殊字符庫ops初等數(shù)學(xué)函數(shù)庫elfun二維圖形庫graph2d基本矩陣庫elmat特殊圖形函數(shù)庫specgraph時間日期函數(shù)庫timefun三維圖形庫graph3d非線性數(shù)值方法庫funfun多項式和插值函數(shù)庫polyfun通用命令庫general稀疏矩陣函數(shù)庫sparfun數(shù)據(jù)類型庫datatypes特殊數(shù)學(xué)函數(shù)庫specfun通用圖形函數(shù)庫graphics字符串函數(shù)庫strfun低層輸入/出函數(shù)庫iofun用戶界面工具庫Guitools語言結(jié)構(gòu)函數(shù)庫langMATLAB演示庫demos又例如,在MATL

34、AB下進行基本數(shù)學(xué)運算,只需將運算式直接打入提示號之后,并鍵入【Enter】鍵即可。 (10*19+2/4-34)/2*3(Enter)ans= 234.7500MATLAB會將運算結(jié)果直接存入一變量ans,代表MATLAB運算后的答案,并在屏幕上顯示其數(shù)值。MATLAB可以將計算結(jié)果以不同的精確度的數(shù)字格式顯示,單擊主窗口的菜單【File】,點擊【Preferences】,彈出窗口后,再點擊Command Window,在Numerical Format下拉選項框中,選中“format short”,這就是系統(tǒng)默認(rèn)的數(shù)據(jù)格式。如果在上例中數(shù)學(xué)運算式的結(jié)尾加上“;”,則計算結(jié)果不會顯示在命令窗

35、口上,要得知計算值只須鍵入表示這一數(shù)學(xué)運算式的變量名即可。例如: a=(10*19+2/4-34)/2*3;(Enter)a234.75003命令歷史窗口在默認(rèn)設(shè)置下,歷史窗口中會保留自安裝起所有命令的歷史記錄,并標(biāo)明使用時間,這方便了使用者的查詢。雙擊某一行命令,即在命令窗口中執(zhí)行該行命令。4當(dāng)前目錄窗口在當(dāng)前目錄窗口中可顯示或改變當(dāng)前目錄,還可以顯示當(dāng)前目錄下的文件并提供搜索功能。在此窗口中,顯示并改變當(dāng)前目錄的控件,與主窗口中的路徑顯示控件完全相同。設(shè)置當(dāng)前路徑。5工作空間窗口工作空間窗口是MATLAB的重要組成部分。在工作空間窗口中將顯示目前內(nèi)存中所有的MATLAB變量的變量名、數(shù)據(jù)結(jié)

36、構(gòu)、字節(jié)數(shù)以及類型,不同的變量類型分別對應(yīng)不同的變量名圖標(biāo)。工作空間窗口的工具欄由5個部分組成,他們是4個按鈕控件和1個下拉菜單。保存工作空間中的所有數(shù)據(jù);打開已保存的MATLAB數(shù)據(jù)文件; 打開所選數(shù)據(jù)的矩陣編輯器; 刪除所選數(shù)據(jù);MATLAB在執(zhí)行M文件時,將把該M文件的數(shù)據(jù)保存到其對應(yīng)的工作空間中。為了區(qū)別,命令窗口的工作空間(也包括全局變量的工作空間)被標(biāo)記為基本工作空間(Base)。因此,此控件用于調(diào)試M文件時實現(xiàn)不同工作空間之間的切換。1.5.2 MATLAB的使用技巧1. MATLAB的通用命令使用MATLAB之前,應(yīng)該熟悉一些常用的MATLAB通用命令,通用命令用于對MATLA

37、B系統(tǒng)的管理。表1.3給出了MATLAB通用命令庫中的部分命令。表1.3通用命令表命 令命令說明命 令命令說明cd 顯示或改變工作目錄 hold 圖形保持開關(guān)dir 顯示目錄下文件 disp 顯示變量或文字內(nèi)容type 顯示文件內(nèi)容 path 顯示搜索目錄clear 清理內(nèi)存變量 save 保存內(nèi)存變量到指定文件clf 清除圖形窗口 load 加載指定文件中的變量pack 收集內(nèi)存碎片,擴大內(nèi)存空間 diary 日志文件命令clc 清除工作窗quit/exit 退出MATLABecho工作窗信息顯示開關(guān) ! 調(diào)用操作系統(tǒng)命令help在線幫助dos 執(zhí)行dos命令helpwin在線幫助窗口uni

38、x執(zhí)行unix命令helpdesk在線幫助工作臺what顯示指定的matlab文件lookfor在HELP里搜索關(guān)鍵字which定位函數(shù)或文件demo運行演示程序path獲取或設(shè)置搜索路徑readme顯示Readme文件ver版本信息who顯示當(dāng)前變量pwd顯示當(dāng)前的工作目錄whos顯示當(dāng)前變量的詳細信息computer顯示計算機類型例如,當(dāng)要暫時離開MATLAB,去執(zhí)行操作系統(tǒng)(例如Dos)的指令而后還要再進入MATLAB時,則可以利用驚嘆號“!”加上想要執(zhí)行的操作系統(tǒng)的指令,如!dir等。又例如,要結(jié)束MATLAB的運行,可以采用下列三種方法之一:鍵入quit命令;鍵入exit命令;直接關(guān)

39、閉MATLAB的命令窗口(Command window)。2. 一些常用操作技巧在MATLAB的使用過程中,通過使用常用鍵盤按鍵技巧可以使命令窗口的行操作變得簡單容易。表1.4常用操作鍵鍵盤按鍵說 明鍵盤按鍵說 明Ctrl+p,調(diào)用上一行homeCtrl+a,光標(biāo)置于當(dāng)前行開頭Ctrl+n,調(diào)用下一行endCtrl+e,光標(biāo)置于當(dāng)前行末尾Ctrl+b,光標(biāo)左移一個字符escCtrl+u,清除當(dāng)前輸入行Ctrl+f,光標(biāo)右移一個字符delCtrl+d,刪除光標(biāo)處的字符Ctrl+Ctrl+l,光標(biāo)左移一個單詞backspaceCtrl+h,刪除光標(biāo)前的字符Ctrl+Ctrl+r,光標(biāo)右移一個單詞A

40、lt+backspace恢復(fù)上一次刪除例如,MATLAB利用了二個游標(biāo)鍵,可以將所用過的指令叫回來重復(fù)使用。按下則前一次指令重新出現(xiàn),之后再按Enter鍵,即再執(zhí)行前一次的指令。而鍵的功用則是往后執(zhí)行指令。其它在鍵盤上的幾個鍵,如、Delete、Insert,其功能則顯而易見,無須多加說明。另外,Ctrl-C(即同時按Ctrl及C兩個鍵)可以用來中止執(zhí)行中的MATLAB程序。3. 標(biāo)點在MATLAB語言中,一些標(biāo)點(表1.5)被賦予特殊的意義或代表一定的運算,他們被MATLAB變量和語句所應(yīng)用,例如“:”和“,”在矩陣和語句中有不同的含義。表1.5運算符和特殊字符庫標(biāo) 點定 義標(biāo) 點定 義:冒

41、號,具有多種應(yīng)用功能.小數(shù)點,小數(shù)點及域訪問符等;分號,區(qū)分行及取消運行顯示等續(xù)行符,逗號,區(qū)分列及函數(shù)參數(shù)分隔符等%百分號,注釋標(biāo)記( )括號,指定運算過程中的先后次序等!驚嘆號,調(diào)用操作系統(tǒng)運算 方括號,矩陣定義的標(biāo)志等=等號,賦值標(biāo)記 大括號,用于構(gòu)成單元數(shù)組等單引號,字符串的標(biāo)示符等1.5.3 MATLAB的幫助系統(tǒng)MATLAB的幫助系統(tǒng)大致可分為聯(lián)機幫助系統(tǒng)、命令窗口查詢幫助系統(tǒng)和聯(lián)機演示系統(tǒng)三大類,用戶在學(xué)習(xí)MATLAB的過程中,理解、掌握和熟練運用這些幫助是非常重要的。下面主要對命令窗口查詢幫助系統(tǒng)進行介紹。命令窗口查詢幫助主要可以分為help系列、lookfor命令和其他常用幫

42、助命令。1help系列help系列的幫助命令有help,help+函數(shù)(類)名,helpwin及helpdesk,其中后兩者是用來調(diào)用聯(lián)機幫助窗口的。(1) helphelp命令是最為常用的命令。在命令窗口中直接輸入help命令,將會顯示當(dāng)前的幫助系統(tǒng)中所包含的所有項目,即搜索路徑中所有的目錄名稱。(2) help+函數(shù)(類)名在實際應(yīng)用中,這是最有用的一個幫助命令,可以輔助用戶進行深入的學(xué)習(xí)?!纠?.1】 help log LOG Natural logarithm. LOG(X) is the natural logarithm of the elements of X. Complex

43、results are produced if X is not positive. See also LOG2, LOG10, EXP, LOGM.2lookfor函數(shù)當(dāng)知道某函數(shù)的函數(shù)名而不知其用法時,help命令可幫助用戶準(zhǔn)確地了解此函數(shù)的用法。然而,若要查找一個不知其確切名稱的函數(shù)名時,可以用lookfor命令來查詢根據(jù)用戶提供的關(guān)鍵字搜索到的相關(guān)函數(shù)。【例1.2】 lookfor EulerRIGIDODE Euler equations of a rigid body without external forces.EULER Simulink 1.x EULER integrat

44、ion algorithm.BWEULER Compute the Euler number of binary image.eulerfs.m: % function ttab,xtab=eulerfs(plant,t,x0,u0,h,p1,p2,p3,p4,p5)lookfor的查詢機理為:它對MATLAB搜索路徑中的每個M文件的注釋區(qū)的第一行進行掃描,一旦發(fā)現(xiàn)此行中含有所查詢的字符串,則將該函數(shù)名及第一行注釋全部顯示在屏幕上。由此機理,用戶也可在自己的文件中加入在線注釋。3其他幫助命令MATLAB中還有一些可能會常用到的查詢、幫助命令,如下所示。 exist變量檢驗函數(shù) what目錄中文

45、件列表 who內(nèi)存變量列表 whos內(nèi)存變量詳細信息 which確定文件位置二 MATLAB變量與表達式2.1 MATLAB的變量2.1.1 數(shù)據(jù)類型數(shù)據(jù)是計算機程序處理的對象。數(shù)據(jù)可能是整數(shù)、實數(shù)、復(fù)數(shù)、數(shù)值矩陣或者是字符、字符串等,他們占用的計算機內(nèi)存大小顯然是不同的。為了數(shù)據(jù)存儲和處理的需要,編譯程序?qū)?shù)據(jù)劃分成不同的類型,并規(guī)定了每一種類型數(shù)據(jù)在內(nèi)存的存儲單元字節(jié)數(shù)和對該類型數(shù)據(jù)所能進行的運算。然而,在MATLAB程序語言中,數(shù)據(jù)的類型是相同的,對用戶而言只有一種。MATLAB是一種面向矩陣的編程語言,它將任何數(shù)據(jù)都看成是矩陣:一個實數(shù)是虛部為零的復(fù)數(shù),一個復(fù)數(shù)是11的數(shù)值矩陣;數(shù)量、

46、向量和字符串等是特殊的矩陣;一個NM的數(shù)據(jù)矩陣由NM個復(fù)數(shù)元素構(gòu)成。矩陣的類型可以是復(fù)數(shù)型矩陣、實數(shù)型矩陣或由字符組成的字符型矩陣。在MATLAB中,所有數(shù)據(jù)都是以陣列的形式存在的,該陣列稱為MATLAB Arrays。由此可見,在MATLAB中,矩陣的各種數(shù)據(jù)類型在語法上是完全相同的。因此,用MATLAB語言編程十分簡潔。MATLAB實現(xiàn)變量數(shù)據(jù)類型的統(tǒng)一,在很大程度上簡化了程序設(shè)計。用戶不需要事先聲明、指定所使用變量的類型、定義變量的維數(shù),MATLAB會自動根據(jù)所賦予變量的值或?qū)ψ兞克M行的操作來確定變量的類型和維數(shù);在賦值過程中,如果變量已存在,MATLAB語言將使用新值代替舊值,并以新

47、的變量類型和維數(shù)代替舊的變量類型和維數(shù)。2.1.2 變量類型在MATLAB中,簡單變量就是11的矩陣變量,向量就是n1或1m的矩陣變量,簡單變量、向量和矩陣變量在類型上也是統(tǒng)一的。因此,MATLAB的基本變量就是矩陣型變量。在下面的內(nèi)容中,如果不需要特別區(qū)分,約定變量就是指矩陣變量(含11矩陣變量),常量就是指矩陣常量(含11矩陣常量)。2.1.3 存儲形式MATLAB矩陣數(shù)據(jù)都是以列(column)為先的陣列形式存儲的,如同F(xiàn)ortran語言的規(guī)則一樣。例如,給出一個字符串矩陣:a=house; floor; porcha =housef loorporch它的大小是size(a)ans =

48、35它在內(nèi)存單元中的存儲順序是:hfpolouorsocerh2.1.4 變量命名規(guī)則在MATLAB語言中,變量的命名遵守如下規(guī)則:(1)變量名以英文字母開頭(即第一個字符必須為英文字母),變量名中可包含字母、數(shù)字和下劃線“_”,但不能包含空格符和其它標(biāo)點符號。例如, V_31為合法變量名,但V-31, 31, V=31, V+31,V31等都不是合法的變量名。(2)變量名中的字母區(qū)分大小寫。例如,單一字母X 和x 、A和 a是不同的變量名,MAT_LAB、MAT_lab和mat_lab等是完全不同的變量名。(3)變量名長度不能超過31個字符(第31個字符之后的字符將被忽略)。例如,V31為合

49、法變量名。需要說明的是,MATLAB語言與其他的程序設(shè)計語言一樣,也存在變量作用域的問題。在未加特殊說明的情況下,MATLAB語言將所識別的一切變量視為局部變量,即僅在其調(diào)用的函數(shù)內(nèi)有效。若要定義全局變量,應(yīng)對變量進行聲明,即在該變量前加關(guān)鍵字global。一般來說,全局變量習(xí)慣用大寫的英文字符表示,以便記憶和理解。2.1.5 MATLAB預(yù)定義的變量MATLAB有一些預(yù)定義的變量,表2.1給出了MATLAB語言中經(jīng)常使用的一些預(yù)定義的變量及其說明。表 2.1MATLAB預(yù)先定義的變量變量含義ans預(yù)設(shè)的計算結(jié)果的變量名epsMATLAB定義的正的極小值2.2204e-16pi內(nèi)建的值inf值

50、,無限大 ( 1/0)NaN無法定義的一個數(shù) (0/0)i 或 j虛數(shù)單位i = j = realmax最大的正實數(shù)1.7977e+308realmin最小的正實數(shù)2.2251e-308nargin函數(shù)輸入?yún)?shù)的個數(shù)nargout函數(shù)輸出參數(shù)的個數(shù)flops浮點運算次數(shù)2.2 MATLAB的表達式 2.2.1 表達式MATLAB數(shù)值計算語句是由表達式和變量等組成(即MATLAB是表達式語言),用戶輸入的語句由MATLAB系統(tǒng)直接解釋運行,因此,變量和表達式是使用MATLAB進行數(shù)值計算的基礎(chǔ)。MATLAB語句有2種最常見的形式:1 表達式2 變量=表達式表達式由運算符、函數(shù)、變量和數(shù)字組成。MATLAB書寫表達式的規(guī)則與“手寫算式”幾乎完全相同。表達式在MATLAB中占有很重要的地位,幾乎所有的數(shù)值計算都必須借助它來進行。在第一種形式中,表達式運算后產(chǎn)生的結(jié)果由MATLAB系統(tǒng)自動賦給名為ans的變量,并顯示在屏幕上。ans是一個默認(rèn)的預(yù)定義變量名,它會在以后的類似操作中被自動覆蓋掉。所以,對于在后續(xù)的計算中將要用到的重要結(jié)果,一定要記錄下來,應(yīng)該使用第二種形式的語句(賦值語句)。在第二種形式中,等號右邊的表達式計算后產(chǎn)生的結(jié)果由MATLAB系統(tǒng)將其賦給等號左邊的變量后放入內(nèi)存中,并顯示在屏幕上。【例2.3】 2*sin(pi/4)+3.2-sqrt(9)ans =

溫馨提示

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

評論

0/150

提交評論