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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

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

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

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

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

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

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

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

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

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

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

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

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

14、接口程序,并給這個接口程序取名為MATLAB。Cleve Moler先后到多所大學講學,MATLAB逐漸為人們所接受并成為應用數學界的術語。當Cleve Moler 1983年到斯坦福大學訪問時,工程師John Little就意識到MATLAB將會在工程計算領域里大有作為,于是他與Moler及Steve Bangert等人一起合作開發了第二代專業版MATLAB。從這一代開始,MATLAB的核心就采用C語言編寫,并且MATLAB除了具有數值計算的功能以外,還具備了數據可視化的功能。1984年,Mathworks公司成立,把MATLAB推向了市場,并繼續MATLAB的研制和開發。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版本,首次開發了Symbolic Math符號運算工具箱,其升級版本MATLAB 4.2c在用戶中得到廣泛的應

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

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

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

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

20、 至少128MB,推薦256MB以上;硬盤 至少預留260MB的硬盤空間(根據需要安裝的東西所定);顯卡 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或更高版本,用以實現API; Adobe Acrobat Reader,用以閱讀MATLAB的PDF幫助信

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

42、助命令。1help系列help系列的幫助命令有help,help+函數(類)名,helpwin及helpdesk,其中后兩者是用來調用聯機幫助窗口的。(1) helphelp命令是最為常用的命令。在命令窗口中直接輸入help命令,將會顯示當前的幫助系統中所包含的所有項目,即搜索路徑中所有的目錄名稱。(2) help+函數(類)名在實際應用中,這是最有用的一個幫助命令,可以輔助用戶進行深入的學習。【例1.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函數當知道某函數的函數名而不知其用法時,help命令可幫助用戶準確地了解此函數的用法。然而,若要查找一個不知其確切名稱的函數名時,可以用lookfor命令來查詢根據用戶提供的關鍵字搜索到的相關函數。【例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文件的注釋區的第一行進行掃描,一旦發現此行中含有所查詢的字符串,則將該函數名及第一行注釋全部顯示在屏幕上。由此機理,用戶也可在自己的文件中加入在線注釋。3其他幫助命令MATLAB中還有一些可能會常用到的查詢、幫助命令,如下所示。 exist變量檢驗函數 what目錄中文

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

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

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

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

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

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

溫馨提示

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

評論

0/150

提交評論