Matab教案課件 第一、二章 MATLAB 入門_第1頁
Matab教案課件 第一、二章 MATLAB 入門_第2頁
Matab教案課件 第一、二章 MATLAB 入門_第3頁
Matab教案課件 第一、二章 MATLAB 入門_第4頁
Matab教案課件 第一、二章 MATLAB 入門_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第一章 MATLAB 入門Chapter one: Introduction to MATLABMatlab(Matrix Laboratory)是美國 MathWorks公司開發(fā)的一套高性能的數值分析和計算軟件,用于概念設計,算法開發(fā),建模仿真,實時實現(xiàn)的理想的集成環(huán)境,是目前最好的科學計算類軟件之一。 MATLAB將矩陣運算、數值分析、圖形處理、編程技術結合在一起,為用戶提供了一個強有力的科學及工程問題的分析計算和程序設計工具,它還提供了專業(yè)水平的符號計算、文字處理、可視化建模仿真和實時控制等功能,是具有全部語言功能和特征的新一代軟件開發(fā)平臺。MATLAB 已發(fā)展成為適合眾多學科,多種工作平臺、功能強大的大型軟件。在歐美等國家的高校,MATLAB已成為線性代數、自動控制理論、數理統(tǒng)計、數字信號處理、時間序列分析、動態(tài)系統(tǒng)仿真等高級課程的基本教學工具。成為攻讀學位的本科、碩士、博士生必須掌握的基本技能。在設計研究單位和工業(yè)開發(fā)部門,MATLAB被廣泛的應用于研究和解決各種具體問題。在中國,MATLAB也已日益受到重視,短時間內就將盛行起來,因為無論哪個學科或工程領域都可以從MATLAB中找到合適的功能。MATLAB 簡史1983年美國Mathworks公司首次推出MATLAB (Matrix Laboratory),之后其功能不斷擴充,版本不斷升級,1993年推出4.0版,95年4.2版,97年5.0版,99年5.3版,5.X版無論是界面還是內容都有長足的進展,其幫助信息采用超文本格式和PDF格式,可以方便的瀏覽。至2001年6月推出6.1版,2002年6月推出6.5版,繼而推出6.5.1版、7.0版、7.1版、7.3(MATLAB 2006b)版,最新版本為7.4(R2007a)版。從現(xiàn)在開始,MathWorks公司將每年進行兩次產品發(fā)布,時間分別在每年的3月和9月,而且,每一次發(fā)布都會包含所有的產品模塊,如產品的new feature、bug fixes和新產品模塊的推出。在R2006a中(MATLAB 7.2,Simulink 6.4),主要更新了10個產品模塊、增加了多 達350個新特性、增加了對64位Windows的支持,并新推出了.net工具箱。 The MathWorks於07年3月1日宣布MATLAB及Simulink產品家族最新更新版本R2007a正式上市。此次改版為The MathWorks 自2006年起實施每年兩次產品更新的標準時程。R2007a改版新增兩個新產品、82個產品改版更新及bug fix等等。除此之外,R2007a可支援安裝英特爾(Intel)處理器的Mac平臺、Windows Vista,和64位元Sun Solaris SPARC等作業(yè)系統(tǒng)。一 MATLAB的重要功能和主要組成部分一)功能:目前 MATLAB 產品族的主要功能為: 數值分析 數值和符號計算 工程與科學繪圖 控制系統(tǒng)的設計與仿真 數字圖像處理 數字信號處理 通訊系統(tǒng)設計與仿真 財務與金融工程. MATLAB具有用法簡易、可靈活運用、程序結構強又兼具延展性的優(yōu)點,以下為其主要特色: 功能強的數值運算:在MATLAB環(huán)境中,有超過500種數學、統(tǒng)計、科學及工程方面的函數可使用,函數的標示自然,使得問題和解答像數學式子一般簡單明了,讓使用者可全力發(fā)揮在解題方面,而非浪費在電腦操作上。 先進的資料視覺化功能: MATLAB的物件導向圖形架構讓使用者可執(zhí)行視覺數據分析,并制作高品質的圖形,完成科學性或工程性圖文并茂的文章。 高階但簡單的程序環(huán)境: 做為一種直譯式的程序語言,MATLAB讓使用者在短時間內寫完程序,所花的時間約為用 FORTRAN 或 C 的幾分之一,而且不需要編譯(compile)及聯(lián)結 (link) 即能執(zhí)行,同時包含了更多及更容易使用的內建功能。 開放及可延伸的架構: MATLAB容許使用者接觸它大多數的數學原始碼,監(jiān)視運算法,更改現(xiàn)存函數,甚至加入自己的函數使 MATLAB成為使用者所須要的環(huán)境。 豐富的程序工具箱:MATLAB的程序工具箱將套裝前軟件的優(yōu)點,與一個靈活的開放但容易操作的環(huán)境融合。這些工具箱提供了使用者在特別應用領域所需之許多函數?,F(xiàn)有工具箱有:符號運算(利用Maple V的計算核心執(zhí)行 )、影像處理、統(tǒng)計分析、訊號處理、神經網路、模擬分析、控制系統(tǒng)、即時控制、系統(tǒng)確認、強建控制、弧線分析、最佳化、模糊邏輯、mu分析及合成、化學計量分析等。1 MATLAB6.1 的新功能(1) 全新的開發(fā)環(huán)境GUIDE(GUI Development Environment):由早期的單一命令窗口發(fā)展為將一些常用的交互式工作界面高度的集中于操作桌面;(2) 在命令窗口增加了錯誤跟蹤功能(error display message and abort function);(3) 提供了許多新的數值處理功能(numerical Treatment Techniques),更新了部分函數的功能和算法,增加了許多新函數;(4) 在圖形窗口增加了曲線擬合、數據統(tǒng)計等交互工具;(Curve Fitting, Data Analyzing )(5) 引入了類與對象及函數句柄等概念;(Object,Handle) 用戶可以創(chuàng)建自己定義的類函數和函數句柄;(6) 改進了編輯/調試器的界面及功能; (Editor/Debugger)增加了行號和書簽等功能;(7) 屬性編輯器功能更強(Property Debugger),使用更方便;(8) 建立了一個與以前完全不同的圖形用戶界面(GUI)圖形窗口,(Graphical Window)使用更加方便靈活;(9) 增加了虛擬現(xiàn)實工具箱,(Virtual Reality Toolbox)使用標準的虛擬現(xiàn)實建模語言(VRML)技術,可以創(chuàng)建由MATLAB和simulink環(huán)境驅動的三維動畫場景;(10) 在應用程序接口方面增加了與Java的接口(Interface for Java),并為二者的數據交換提供了相應的程序庫。MATLAB 7的升級內容:MATLAB 7針對編程環(huán)境,代碼效率、數據可視化、數學計算、文件I/O等方面進行了升級,包括:*開發(fā)環(huán)境1、重新設計了桌面環(huán)境,針對多文檔界面應用提供了簡便的管理和訪問方法,允許用戶自定義桌面外觀,創(chuàng)建常用命令的快捷方式;2、 增強數組編輯器(Array Editor)和工作空間瀏覽器(Workspace Browser)功能,用于數據的顯示、編輯和處理;3、在當前目錄瀏覽器(Current Directory Browser)工具中,增加代碼效率分析、覆蓋度分析等功能。;4、M-Lint編碼分析,輔助用戶完成程序性能分析,提高程序執(zhí)行效率;5,增強M文件編輯器(M Editor), 支持多種格式源代碼文件可視化編輯,例如C/C+, HTML,Java 等。* 編程1、支持創(chuàng)建嵌套函數(Nested Function),提供更靈活的代碼模塊化轉化;2、匿名函數(Anonymous Function)功能,支持在命令行或者腳本文件中創(chuàng)建單行函數(Single Line Function);3、支持條件分支斷點,可以在條件分支語句中進行程序中斷調試;4、模塊化注釋,支持為代碼段注釋。* 數學1、支持整數算術運算;2、支持單精度數據類型運算,包括基本算術運算、線性代數、FFT等;3、使用更強大的計算算法包Qhull 2002.1,提供更豐富的算法支持;4、Linsolve函數用于處理線性代數方程求解;5、ODE求解器能夠處理隱性微分方程組以及多點邊界問題;* 圖形和3D可視化1、新圖形窗口界面;2、直接從圖形窗體生成M代碼,可以完成用戶自定義繪圖;3、增強圖形窗體注釋;4、數據偵測工具(Data Exploration Tools),提供豐富的數據觀測手段;5、自定義圖形對象,提供豐富的圖形顯示功能;6、GUIDE新增對用戶界面和ActiveX控件支持;7、增強句柄圖形對象支持完整地TeX和LaTeX字符集;* 文件I/O和外部接口1、新增文件I/O函數,支持讀取任意格式文本數據文件,并且支持寫入Excel和HDF5格式數據文件;2、具有壓縮功能的 MAT文件格式,支持快速數據文件I/O能力;3、javaaddpath函數,無需重新啟動MATLAB就可完成Java類的加載、刪除等功能;4、支持COM、服務器事件以及VBS;5、支持SOAP,使用網絡服務;6、FTP對象,直接訪問FTP服務器;7、支持Unicode編碼格式,增強MAT文件字符集;* 性能與系統(tǒng)平臺支持1、JIT加速器支持所有數值數據類型;2、Windows XP系統(tǒng)下支持3GB內存訪問。l R2007a的改版內容* 在MATLAB產品家族部分的重點:1 可於多核心和多個處理器的系統(tǒng)上,利用MATLAB數學函式,處理多執(zhí)行緒(Multithreaded)運算;2 新版分散式運算工具箱(DCT)具備4個運算引擎,可在同一臺電腦上執(zhí)行平行運算;3 統(tǒng)計工具箱(Statistics Toolbox)具備新的類別資料和資料陣列;4 定點工具箱(Fixed-Point Toolbox)可加快C語言的編譯速度;5 利用控制系統(tǒng)工具箱(Control System Toolbox)對延滯的控制迴路精準建模及分析;6 可利用系統(tǒng)辨識工具箱(System Identification Toolbox)產生非線性模型;7 基因演算法及直接法搜尋工具箱(Genetic Algorithm and Direct Search Toolbox)提供模擬退火法(Simulated annealing)。* 在Simulink產品家族部分新增的功能:1. 可支援多面向訊號,如訊號處理模塊組(Signal Processing Blockset)、嵌入式MATLAB函數模塊(Embedded MATLAB Function block) 、動態(tài)影片及影像處理模塊組(Video and Image Processing Blockset),以及C程序碼產生器(Real-Time Workshop)等;2. 嵌入式C程序碼產生器(Real-Time Workshop Embedded Coder)程序碼產生的效能改善;3. Simulink定點模塊組(Simulink Fixed Point)新增新的圖形化介面,用於定點數系統(tǒng)的分析和縮放(Scaling);4. 事件模擬模塊組(SimEvents)可支援向量(Vector)及距陣(Matrix);5. 新產品Simscape物理模型模擬模塊組可支援復域的物理模型模擬(Multidomain Physical Modeling)。*Mathworks Matlab R2007a: Whats New in Release 2007aR2007a, released on March 1, 2007, includes updates to MATLAB and Simulink, two new products released since R2006b, and updates and bug fixes to 82 other products. R2007a adds support for the Intel based Mac, Windows Vista, and 64-bit Sun Solaris SPARC platforms. Subscribers to MathWorks Software Maintenance Service can download R2007a product updates.New capabilities for the MATLAB product family include:* Multithreaded computation in key MATLAB math functions for multicore and multiprocessor systems* Ability to run parallel algorithms in four MATLAB sessions on your desktop with Distributed Computing Toolbox* New categorical and dataset arrays in Statistics Toolbox* Fixed-Point Toolbox acceleration at the speed of compiled C* Exact modeling and analysis of control loops with delays in Control System Toolbox* Generation of nonlinear models with System Identification Toolbox* Simulated annealing in Genetic Algorithm and Direct Search ToolboxNew capabilities for the Simulink product family include:* Multidimensional signal support for Simulink, Signal Processing Blockset, Embedded MATLAB Function block, Video and Image Processing Blockset, and Real-Time Workshop* Improved code efficiency and MISRA C support in Real-Time Workshop Embedded Coder* New graphical interface for analyzing and scaling fixed-point systems in Simulink Fixed Point* Vector and matrix support in SimEvents* Simscape, a new product for multidomain physical modeling二) MATLAB的主要組成部分:MATLAB系統(tǒng)由5個主要的部分構成: (1)開發(fā)環(huán)境(development Environment):為MATLAB用戶或程序編制員提供的一套應用工具和設施。由一組圖形化用戶接口工具和組件集成:包括MATLAB桌面、命令窗口、命令歷史窗口、編輯調試窗口及幫助信息、工作空間、文件和搜索路徑等瀏覽器;(2) MATLAB數學函數庫(Math Function Library):數學和分析功能在MATLAB工具箱中被組織成8個文件夾。 elmat 初步矩陣,和矩陣操作。 elfun 初步的數學函數。求和、正弦、余弦和復數運算等specfun 特殊的數學函數。矩陣求逆、矩陣特征值、貝塞爾函數等;matfun 矩陣函數用數字表示的線性代數。 atafun 數據分析和傅立葉變換。 polyfun 插值,多項式。 funfun 功能函數。 sparfun 稀疏矩陣。 (3) MATLAB 語言:(MATLAB Language)一種高級編程語言(高階的矩陣/數組語言),包括控制流的描述、函數、數據結構、輸入輸出及面對對象編程;(4) 句柄圖形:(Handle Graphics) MATLAB制圖系統(tǒng)具有2維、三維的數據可視化,圖象處理,動畫片制作和表示圖形功能??梢詫Ω鞣N圖形對象進行更為細膩的修飾和控制。允許你建造完整的圖形用戶界面(GUI),以及建立完整的圖形界面的應用程序。制圖法功能在MATLAB工具箱中被組織成5個文件夾: graph2d 二維數圖表。 graph3d 三維圖表。 specgraph 專業(yè)化圖表。 graphics 制圖法。 uitools 圖形用戶界面工具。(5) 應用程序接口:(Applied Function Interface) MATLAB的應用程序接口允許用戶使用C或FORTRAN語言編寫程序與MATLAB連接。MATLAB工具箱(Toolbox);(表 12)二MATLAB 的安裝:與一般光盤軟件的安裝相同, 略三MATLAB 的系統(tǒng)開發(fā)環(huán)境(System Developing Environment)1 操作桌面(Operating Desktop)(1)桌面布局:6個窗口 (圖示、操作演示) *命令窗口 (Commend Window)*工作空間窗口(Workspace)*當前目錄瀏覽器(Current Directory )*命令歷史窗口 ( Commend History )*啟動平臺 (Launch Pad)6.x版*幫助窗口(Help)*M文件優(yōu)化器(Profiler)窗口的切換、放大與關閉。(switching, Amplification, tun-off) View菜單中的desktop layout菜單中提供的6種可選布局:*Default*Command Window*Simple*Short History*Tall History*Five Panel(2)菜單和工具欄;(Menu and toolbar) 操作桌面上有6個菜單(表13)和帶有9個快捷按鈕的工具欄組,(圖示、操作演示)(3)改變桌面設置:(Setting) File 菜單中Preference對話框中設置(圖示、操作演示)2. 命令窗口:(Command window)MATLAB的主要交互窗口。用于輸入MATLAB 命令、函數、數組、表達式等信息,并顯示圖形以外的所有計算結果。 例如從鍵盤輸入矩陣A=1 2 3; 4 5 6; 7 8 9 按Enter 鍵后屏幕立即顯示結果A= 1 2 3 4 5 67 8 9命令窗口可作為一個多功能高級計算器,如要計算18+(5sin/6)/2+cos/6 只須按MATLAB格式要求鍵入;18+5*sin(pi/6)/(2+cos(pi/6),然后按Enter鍵既可在窗口內顯示出計算結果:ans= 18.8723公式中的數據可任意改動并重新計算。(例)還可在命令窗口輸入最后一次輸入命令的開頭字符或字符串,然后用鍵調出該命令行。MATLAB是標準的Windows界面,可利用菜單中的命令完成對工作窗口的操作。其命令行功能鍵和快捷鍵與Windows 的一般應用程序相似,(表 14)(自學)3工作空間窗口:(Workspace Window) 用于儲存各種變量和結果的空間,顯示變量的名稱、大小、字節(jié)數及數據類型,對變量進行觀察、編輯、保存和刪除。(圖示、操作演示)。臨時變量不占空間,為了對變量的內容進行觀察、編輯與修改,可以用三種方法打開內存數組編輯器。*雙擊變量名;*選擇該窗口工具欄上的打開圖標;*鼠標指向變量名,點擊鼠標右鍵,彈出選擇菜單,然后選項操作。(示例)欲查看工作空間的情況,可以在命令窗口鍵入命令whos(顯示存在工作空間全部變量的名稱、大小、數據類型等信息)或命令who(只顯示變量名)4當前目錄瀏覽器:(Current Directory)用于顯示及設置當前工作目錄,同時顯示當前工作目錄下的文件名、文件類型及目錄的修改時間等信息。只有在當前目錄或搜索路徑下的文件及函數可以被運行或調用。(圖示、操作演示)設置當前目錄可以在瀏覽器窗口左上角的輸入欄中直接輸入,或點擊瀏覽器下拉按鈕進行選擇。還可用cd命令在命令窗口設置當前目錄,如:cd c:mydir 可將c盤上的mydir目錄設為當前工作目錄。(5)命令歷史窗口:(Command History)記錄已運行過的MATLAB命令歷史,包括已運行過的命令、函數、表達式等信息,可進行命令歷史的查找、檢查等工作,也可以在該窗口中進行命令復制與重運行。(圖示、操作演示)6啟動平臺:(Launch Pad)幫助用戶方便地打開和調用MATLAB 的各種程序、函數和幫助文件。平臺列出了系統(tǒng)中安裝的所有的MATLAB產品的目錄,可以通過雙擊來啟動相應的選項。7.0版取消了這個窗口,事實上Help工具完全具備它的功能。(圖示、操作演示)7.MATLAB 的搜索路徑:(Searching Path)MATLAB定義的一系列文件路徑的組合,缺省狀態(tài)下包括當前路徑和已安裝的全部工具箱的路徑。(圖示、操作演示)當在命令窗口輸入一個字符串時,MATLAB按下列順序開始搜索:(1) 在工作空間中搜索是否有以該字符串為變量名的變量,有則返回該變量的值;(2) 搜索是否有同名的MATLAB內部函數,如果有,執(zhí)行該內部函數;(3) 在當前目錄中查找與該字符串同名的M文件,如果有,執(zhí)行該文件;(4) 在搜索目錄中查找與該字符串同名的M文件,如果有,執(zhí)行該文件; 如果在搜索目錄中存在多個同名函數,則只執(zhí)行搜索路徑中的第一個函數,其他函數不再執(zhí)行。搜索目錄的設置通過選擇主菜單Set Path菜單項進行。用Add Folder按鈕可以將某一目錄加入搜索路徑,選擇Add with Subfolder按鈕可將選中目錄的子目錄也包括在搜索路徑中。8內存數組編輯器:(Array Editor)提供對數值型或字符型二維數組的顯示和編輯功能,對其他數據類型都不能編輯。通過工作空間窗口打開所選的變量時,該編輯器啟動。(圖示、操作演示)9幫助瀏覽器:(Help Browser) (1)幫助瀏覽器:提供方便快捷的幫助信息獲取途徑和圖文并茂的幫助內容,MATLAB7.0是通過勾選Desktop菜單中的Help選項打開一個獨立的交互式幫助瀏覽器。(2)help 命令:在命令窗口輸入help命令,也是MATLAB尋找在線幫助的一種方便而快捷的方式。(圖示、操作演示)例 1. help (列出主要的幫助主題)HELP topics:matlabgeneral - General purpose commands.matlabops - Operators and special characters.matlablang - Programming language constructs.matlabelmat - Elementary matrices and matrix manipulation.matlabelfun - Elementary math functions.matlabspecfun - Specialized math functions.matlabmatfun - Matrix functions - numerical linear algebra.matlabdatafun - Data analysis and Fourier transforms.matlabaudio - Audio support.matlabpolyfun - Interpolation and polynomials.matlabfunfun - Function functions and ODE solvers.matlabsparfun - Sparse matrices.matlabgraph2d - Two dimensional graphs.matlabgraph3d - Three dimensional graphs.matlabspecgraph - Specialized graphs.例 2. help exp (列出指定主題下的函數說明)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)+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) 可以根據用戶提供的完整或不完整的關鍵詞,搜索出一組與之相關的命令或函數。(圖示、操作演示)例:lookfor integralELLIPKE Complete elliptic integral.EXPINT Exponential integral 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.SININT 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 proportional, integral and(4)模糊查詢:(fuzzy Inquiry) 用戶只須輸入命令的前幾個字母,然后鍵入Tab鍵 MATLAB 就會列出所有以這個字母開始的命令。(圖示、操作演示)例: 在命令窗口鍵入plot然后按Tab鍵,可得各種以為字頭的命令:plot plotbr plotes plotmap plotperf plottr plot3 plotchar plotfa plotmatrix plotpv plotv plot3m ploteach plotfis plotmf plotscale plotvec plotall plotedit plotfrsp plotnic plotsm plotyy plotbintree plotep plotlr plotnyq plotsom plotbode ploterr plotm plotpc plotstep 四MATLAB的基本操作1 簡單矩陣的建立(matrix 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 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以矩陣為基本運算對象,標量可看作11的矩陣,矢量看作n1或1n的矩陣。輸入方式:(Input Mode)(1)以直接列出元素的形式輸入:(simply initializing matrices by the method to explicitly lists the values )把矩陣元素直接排列到方括號 中,每行內的元素用逗號或空格分開,行與行之間用分號隔開。例: a=1 2 3;2 4 6;8 3 5 或 a=1, 2, 3;2, 4 ,6;8, 3 ,5 大矩陣可分行輸入: a=1 2 32 4 68 3 5(2). 通過語句和函數產生:(Creating a new matrix from a existing matrix throw MATLAB language or functions) 對于已經存在的矩陣,可用函數或表達式產生新的矩陣。 例如: 矩陣 a和x已存在,利用 y=sin(x) 和c=a+0.1*(1+a/2) 命令將產生新矩陣y和c。利用內部語句和函數可以快速產生一些特別有用的工具矩陣,如全0 陣,全 1陣,單位陣,隨機陣等。(3).在m文件中創(chuàng)建矩陣:(Creating a matrix within the M file)通過建立MATLAB的M文件可完成矩陣的輸入,如建立B.m的文件,內容為:B=3 4 2;1 3 5;6 4 3 或 B=3 4 21 3 56 4 3則在命令窗口中使用B命令語句可以調用B矩陣。(4) 從外部的數據文件中裝入:(Read the Matrix from external data file)利用 load 或 fread 命令可以讀取MATLAB早期版本產生的矩陣,也可讀取有其他應用程序產生的數據(或矩陣)。2 矩陣元素(Element of matrix: Any kind of expression can be used as a matrix element)可以用任何形式的表達式來充當矩陣元素,如:x=-1.3 sqrt(3) (1+2+3)*4/5將得到矩陣: x= -1.3000 1.7321 4.8000可以定義或修改矩陣中某一元素,如操作: x(5)=abs(x(1) 得一個新矩陣x= -1.3000 1.7321 4.8000 0 1.3000可以用小矩陣構成大矩陣, 如:a=1 2 3;4 5 6;7 8 9; c=a;10,11,12 結果為:c= 1 2 3 4 5 6 7 8 9 10 11 12或 r= 10 11 12 ; c= a;r 可得同樣矩陣 c= 1 2 3 4 5 67 8 9 10 11 12可使用”:”(colon) 從大矩陣中抽取小矩陣, (withdraw a small matrix from a big matrix)如: d=c(1:3,:) 意為抽取一到三行的各列, 結果為:d= 1 2 3 4 5 67 8 9e=c(:,1:2) 意為抽取一到二列的各行, 結果為: 1 2 4 5 7 8 10 11 3 語句與變量(Statement and variable)MATLAB 語句的常用格式: 變量=表達式(;) (variable=expression(;) 或簡化為: 表達式(;)表達式可以由運算符(Operator)、特殊字符(special character)、函數名(function name)、變量名(variable name) 等組成,表達式的結果為一矩陣,它賦給左邊的變量。如省略變量名和“=”,則自動產生一個名為ans的變量, 如: 1900/81 結果為:ans=23.4568 4568并顯示在屏幕上,如語句以分號結束,則結果不顯示,如: p=a*a;只完成運算,但不顯示結果。表達式較長時可利用續(xù)行符“. . .”, 如:s=1-1/2+1/3-1/4+1/5-1/6+1/7-. . .1/8+1/9-1/10+1/11-1/12;計算結果為: 0.6532注:續(xù)行號前不應是數字,數字后應為運算符、空格或加一個點號。4 復數和復數矩陣 (Complex and complex matrix)復數用特殊字符i或j 表示。i=sqrt(-1), 其值在工作空間顯示為 0+1.0000i. 例: 輸入 z=3+4i 或z=3+4j 結果一樣。 MATLAB 中復數有下面的語句生成辦法:z=a+b*i 或 z=r*exp(i*) 其中r為復數的模,為復數輻角的弧度數。復數的兩種輸入方法:(1) a=1 2;3 4+i*5 6;7 8(2) a=1+5i 2+6i; 3+7i 4+8i 結果相同: a = 1.0000 + 5.0000i 2.0000 + 6.0000i 3.0000 + 7.0000i 4.0000 + 8.0000i注:(1) 當復數的虛部(image)為一個確定的數(而不是變量或矩陣)時,可省略“*”,如1+2*i可寫成1+2i, 但a+b*i 不能寫成 a+bi, 1 2+3 4*i不能寫成 1 2 + 3 4i (2) 當復數作為矩陣元素時,復數內不能留有空格,如 1 +5i, MATLAB中任何矩陣的元素內部都不能留有空格,否則會被當作兩個元素處理而出錯。(3) 如在程序設計中i 、j 被定義為其他變量則應定義另一新的復數單位。如 i1。 5. 永久變量:(permanent variable)系統(tǒng)本身在啟動時定義的變量,駐留在工作空間中,它們是: ans: (stores expression value)系統(tǒng)默認的變量名eps:(represents floating-point precision)容差變量,定義為0到最近浮點數的距離。在PC機上等于2-52,即精確到2.2210-16;pi :(represents the value ) 圓周率的近似值3.141565358979Inf 或inf: (represents the value )正無窮大,定義為(1/0)NaN:(represents the value Not-a-Number) 非數(Not a number), Inf/Inf或0/0運算產生,表示不定值。i, j : 虛數單位,定義i=-11/2 , j=-11/26. 數和算術表達式(Number and arithmetic expression)MATLAB采用10進制慣例, 表示10 的冪次用符號e或E:3 -99 0.001 9.456 1.3e-3 4.5E21數值的相對精度是eps,即大約保持16位有效數字。MATLAB的算數運算符號(Arithmetic Operator):+ 加 addition , - 減 subtraction , * 乘 multiplication , 左除 left division , / 右除 right division, 冪 exponentiation對于標量,兩種除法運算的結果相同,對于矩陣兩種除法表示兩種不同的除數矩陣和被除數矩陣的關系。7 數據的顯示格式(The display format of number) MATLAB的數據顯示格式由format命令來控制,他只影響結果在屏幕上的顯示,不影響其計算與存儲。MATLAB總是以雙精度執(zhí)行所有的運算。數據的顯示格式(表 16) 有十中數據的顯示格式可供選擇: 格 式對應結果 命令 含義 4/3 1.2345e-6format shortformat longformat short eformat long eformat short gformat long g format hex format +format rat format bank短格式長格式短格式e方式長格式e方式短格式g方式長格式g方式16進制格式+格式分數格式銀行格式1.33331.333333333333331.3333e+0001.33333333333333e+0001.33331.333333333333333ff5555555555555+4/31.33 0.00000.000001234500001.2345e-0061.234500000000000e-0061.2345e-0061.234500000000000e-0063eb4b6231abfd271+1/8100450.00 對于長短格式,如果矩陣的最大元素比1000大或比0.001小,則輸出時將自動加入比例因子,如:x=12345 0.0009x = 1.0e+004 * 1.2345 0.0000即 x=104*1.2345 0.0000,104為比例因子MATLAB操作桌面的file菜單中打開preferences窗口,選擇命令窗口界面,就可以方便地進行格式選擇。第二章 MATLAB 的基本數學功能Chapter two: fundamental Math function of MATLAB.一 算術運算(Arithmetic Computation)MATLAB 提供的兩種運算方式:(1) 普通的數組運算方式:(Array computation) 在數組中對應元素之間進行運算;(2) 矩陣運算方式:(matrix computations) 將標量當作11階矩陣,一維數組當作一行或一列的矢量(即1n階或 n1階的矩陣),二維數組當作mn階矩陣,然后按照矩陣的運算規(guī)則進行運算。 *二者輸入形式和書寫方法相同,差別僅在于使用不同的運算符號,執(zhí)行不同的計算過程,數組的運算是對應元素之間的運算,而矩陣運算是根據矩陣的運算規(guī)則進行。 1 加、減運算(addition and subtraction)矩陣與數組的加減運算沒有區(qū)別,運算符均為“+”、“-”,運算方法相同,但兩個運算對象必須是同階矩陣,否則將給出錯誤信息。如下例:a=1 2 3;4 5 6;7 8 9;b=1 3 5;a+b運行結果給出錯誤信息:? Error using =Matrix dimensions must agree.但標量,即11階矩陣可以和其他不同維數的矩陣進行加減運算,如:a+5ans = 6 7 89 10

溫馨提示

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

評論

0/150

提交評論