王正盛matlab教程_第1頁
王正盛matlab教程_第2頁
王正盛matlab教程_第3頁
王正盛matlab教程_第4頁
王正盛matlab教程_第5頁
已閱讀5頁,還剩72頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、MATLAB 數(shù)學(xué)工具軟件實例簡明教程王 正 盛 編寫南 京 航 空 航 天 大 學(xué)南京航空航天大學(xué) 王正盛2第一章 MATLAB 簡介MALAB 譯于矩陣實驗室MATrix LABoratory 是用來提供通往LINPACK 和EISPACK 矩陣軟件包接口的 后來它漸漸發(fā)展成了通用科技計算圖視交互系統(tǒng)和程序語言MATLAB 的基本數(shù)據(jù)單位是矩陣它的指令表達與數(shù)學(xué)工程中常用的習(xí)慣形式十分相似比如矩陣方程Ax=b 在MATLAB 中被寫成A*x=b 而若要通過A,b 求x 那么只要寫x=Ab 即可完全不需要對矩陣的乘法和求逆進行編程因此用MATLAB 解算問題要比用C Fortran 等語言簡

2、捷得多MATLAB 發(fā)展到現(xiàn)在已經(jīng)成為一個系列產(chǎn)品 MATLAB 主包和各種可選的toolbox 工具包主包中有數(shù)百個核心內(nèi)部函數(shù)迄今所有的三十幾個工具包又可分為兩類功能性工具包和學(xué)科性工具包功能性工具包主要用來擴充MATLAB 的符號計算功能圖視建模仿真功能文字處理功能以及硬件實時交互功能這種功能性工具包用于多種學(xué)科學(xué)科性工具包是專業(yè)性比較強的如控制工具包Control Toolbox 信號處理工具包(SignalProcessing Toolbox) 通信工具包(Communication Toolbox)等都屬此類開放性也許是MATLAB 最重要最受人歡迎的特點除內(nèi)部函數(shù)外所有MATLA

3、B主包文件和各工具包文件都是可讀可改的源文件用戶可通過對源文件的修改或加入自己編寫文件去構(gòu)成新的專用工具包。MATLAB 已經(jīng)受了用戶的多年考驗。在歐美發(fā)達國家MATLAB 已經(jīng)成為應(yīng)用線性代數(shù)自動控制理論數(shù)理統(tǒng)計數(shù)字信號處理時間序列分析動態(tài)系統(tǒng)仿真等高級課程的基本教學(xué)工具成為攻讀學(xué)位的大學(xué)生碩士生博士生必須掌握的基本技能在設(shè)計研究單位和工業(yè)部門MATLAB 被廣泛地用于研究和解決各種具體工程問題第二章 MATLAB 入門2.1 工作窗和指令行的操作除了通過菜單選項對工作窗進行控制外 MATLAB 還提供了許多通過鍵盤輸入的控制指令如下表MATLAB 工作窗中的部分通用指令quit 關(guān)閉和退出

4、MATLABclc擦除MATLAB 工作窗中的所有顯示內(nèi)容clf 擦除MATLAB 的當(dāng)前圖形窗中的圖形clear 清除內(nèi)存中的變量和函數(shù)pack 收集內(nèi)存碎片以擴大內(nèi)存空間dir 列出指定目錄下的文件和子目錄清單cd 改變當(dāng)前工作子目錄disp 在運行中顯示變量和文字內(nèi)容type 顯示所有指定文件的全部內(nèi)容echo 控制運行文件指令是否顯示的開關(guān)南京航空航天大學(xué) 王正盛3hold 控制當(dāng)前圖形窗對象是否被刷新啟動MATLAB 后就可以利用它工作了由于MATLAB 是一種交互式語言隨時輸入指令即時給出運算結(jié)果是它的主要工作方式當(dāng)然更可以編制程序詳見第七章比如要計算1 52 0 3+sin( .

5、 )的值只要在光標(biāo)位置處鍵入2*sin(0.3*pi)/(1+sqrt(5)然后按Enter鍵,該指令便被執(zhí)行并給出結(jié)果ans = 0.5000下面介紹控制光標(biāo)對指令進行編輯的一些常用操作鍵常用操作鍵鍵 名作 用鍵 名作 用 前尋式調(diào)回已輸入過的指令行Home 使光標(biāo)移到當(dāng)前行的首端 后尋式調(diào)回已輸入過的指令行End 使光標(biāo)移到當(dāng)前行的尾端 在 當(dāng)前行中左移光標(biāo)Delete 刪除光標(biāo)右表邊的字符 在 當(dāng)前行中右移光標(biāo)Backspace刪除光標(biāo)左表邊的字符PageUp 前尋式翻閱當(dāng)前窗中的內(nèi)容Esc 清楚當(dāng)前行的全部內(nèi)容PageDown后尋式翻閱當(dāng)前窗中的內(nèi)容2.2 簡單矩陣的輸入在MATLAB

6、 中矩陣輸入的方法有多種此處只簡單介紹矩陣的直接輸入法詳細介紹見第三章在MATLAB 中不必對矩陣維數(shù)做任何說明存儲將自動配置在直接輸入矩陣時矩陣元素用空格或逗號分隔矩陣行用隔離整個矩陣放在方括號 里例1A=1,2,3;4,5,6;7,8,9;10,11,12A =1 2 34 5 67 8 910 11 12說明指令執(zhí)行后矩陣A 被保存在MATLAB 的工作間Workspace 中以備后用如果用戶不用clear 指令清除它或?qū)λ匦露x該矩陣會一直保存在工作間中直到本MATLAB 指令窗被關(guān)閉為止例2矩陣分行輸入A=1 2 3 45 6 7 80 1 2 3A = 1 2 3 45 6 7

7、8南京航空航天大學(xué) 王正盛40 1 2 3例3矩陣元素輸入B(1,2)=3;B(4,4)=6;B(4,2)=11B = 0 3 0 00 0 0 00 0 0 00 11 0 62.3 語句與變量MATLAB 采用表達式語句用戶輸入語句由MATLAB 系統(tǒng)結(jié)實運行MATLAB 語句有兩種常見的形式1 表達式2 變量=表達式說明1 表達式由算符函數(shù)變量名和數(shù)字構(gòu)成2 在第一種形式中表達式被執(zhí)行后產(chǎn)生的矩陣將被自動賦給名為ans 的變量并 顯示在屏幕上ans 是一個缺省變量名它會被以后類似的操作刷新3 在第二種形式中等號右邊的表達式是被演繹后產(chǎn)生的矩陣將被賦給等號左邊的變量存入內(nèi)存并顯示在屏幕上4

8、 書寫表達式時運算符號= + 以及*等兩側(cè)允許有空格以增加可讀性但在復(fù)數(shù)或符號表達式中要盡量避免裝飾性空格以防出錯5 變量名函數(shù)名以一個字母打頭后面最多可接19 個字母或數(shù)字注意MATLAB 是區(qū)分字母的大小寫的例1 表達式的計算結(jié)果2001/81ans = 24.7037例2 運算結(jié)果的賦值s=1-1/2+1/3-1/4+1/5-1/6+1/7-1/8;說明結(jié)尾的分號作用是指令執(zhí)行結(jié)果將不會顯示在屏幕上但變量s 仍將駐留在內(nèi)存中如想看s 的值只要鍵入ss = 0.63452.4 Who Whos 和永久變量Who 和Whos 這兩個指令的作用都是列出在MATLAB 工作間中已經(jīng)駐留的變量名清

9、單不過Whos 在給出變量名的同時還給出它們的維數(shù)及性質(zhì)例1 用 who 檢查內(nèi)存變量whoYour variables are:s例2 用whos 檢查駐留變量的詳細情況whosName Size Bytes Classs 1x1 8 double arrayGrand total is 1 elements using 8 bytes南京航空航天大學(xué) 王正盛5在MATLAB 工作內(nèi)存中還駐留幾個由系統(tǒng)本身在啟動時定義的變量如下表稱為永久變量Permanent variables 或稱為預(yù)定義變量Predefined variables系統(tǒng)預(yù)定義的變量eps 計算機的最小正數(shù)在pc 機上它等

10、于252pi 圓周率 的近似值inf 或Inf 無窮大NaN 不定量i,j 虛數(shù)單位定義i = j = 1flops 浮點運算次數(shù)用于統(tǒng)計計算量說明1 它們是在MATLAB 啟動時自定義的2 它們不會被清除內(nèi)存變量指令clear 所清除3 他們可以重新定義為其他值但用clear 可清除重定義值恢復(fù)預(yù)定義值例1 無窮大s=1/0Warning: Divide by zero.s = Inf無窮大a=Inf/infa =NaN2.5 數(shù)與表達式MATLAB 的數(shù)值采用習(xí)慣的十進制表示可以帶小數(shù)點或負號如下是合法的3 -99 0.0013 9.2445154 1.2434e-6 4.673e33在采

11、用IEEE 浮點算法的計算機上數(shù)值的相對精度是eps 即大約保持16 位有效數(shù)字數(shù)值范圍大致為1×10308 1×10308表達式由下列算符構(gòu)成并按習(xí)慣的優(yōu)先次序進行運算+ 加法 減法 * 乘法 / 右除 左除 乘方注意設(shè)置兩種除法是為了方便矩陣的運算對標(biāo)量而言兩者作用相同例1x=2*pi/3+23/5-0.3e-3x =3.69412.6 復(fù)數(shù)和復(fù)矩陣MATLAB 認識復(fù)數(shù)并定義i 和j 作為虛數(shù)單位矩陣元素允許是復(fù)數(shù)復(fù)變量和由它們組成的表達式南京航空航天大學(xué) 王正盛6例1z1=3+4*i,z2=2*exp(i*pi/6)z=z1*z2z1 =3.0000 + 4.000

12、0iz2 =1.7321 + 1.0000iz =1.1962 + 9.9282i例2A=1,3;2,4-i*5,8;6,9B=1+5*i,2+6*i;3+8*i,4+9*iC=A*BA =1.0000 - 5.0000i 3.0000 - 8.0000i2.0000 - 6.0000i 4.0000 - 9.0000iB =1.0000 + 5.0000i 2.0000 + 6.0000i3.0000 + 8.0000i 4.0000 + 9.0000iC =1.0e+002 *0.9900 1.1600 - 0.0900i1.1600 + 0.0900i 1.37002.7 函數(shù)MATLA

13、B 的強大功能可函數(shù)中略見一斑本質(zhì)上講分為三類1 內(nèi)部函數(shù)2 系統(tǒng)附帶各種工具包中的M 文件所提供的大量函數(shù)3 用戶自己增加的函數(shù)這一特點是其他許多軟件平臺無法比擬的MATLAB 提供的通用數(shù)理類函數(shù)包括􀁺 基本數(shù)學(xué)函數(shù)􀁺 特殊函數(shù)􀁺 基本矩陣函數(shù)􀁺 特殊矩陣函數(shù)􀁺 矩陣分解和分析函數(shù)􀁺 數(shù)據(jù)分析函數(shù)􀁺 微分方程求解􀁺 多項式函數(shù)􀁺 非線性方程及其優(yōu)化函數(shù)􀁺 數(shù)值積分函數(shù)􀁺 信號處理函數(shù)例z=123

14、3.344x=sqrt(log(z)z =南京航空航天大學(xué) 王正盛71.233344000000000e+003x =2.667861401680282.8 顯示格式在缺省的狀態(tài)下MATLAB 以短格式short 格式顯示計算結(jié)果可以用MATLAB 命令窗口中format 指令來改變數(shù)字的顯示格式由于MATLAB以雙精度執(zhí)行所有運算顯示格式的設(shè)置僅影響矩陣的顯示不影響矩陣的計算與存儲如果矩陣的所有元素都是整數(shù)則矩陣以不帶小數(shù)點的格式顯示如果有一個元素不是整數(shù)則有幾種輸出格式默認格式為short 格式只顯示5 位有效數(shù)字其他的顯示格式可顯示更多的有效數(shù)字還可用科學(xué)表示法例x=4/3 1.2345

15、e-6默認short 格式x =1.3333 0.0000format short e 短格式科學(xué)表示xx =1.3333e+000 1.2345e-006format long 長格式xx =1.33333333333333 0.00000123450000format long e 長格式科學(xué)表示xx =1.333333333333333e+000 1.234500000000000e-006format bank 銀行格式xx = 1.33 0.00format hex 十六進制格式xx = 3ff5555555555555 3eb4b6231abfd271format + +格式用于顯

16、示大矩陣的緊湊格式+ 空格分別表示正數(shù)負數(shù)和零xx =+另外還有一種命令為format compact(緊湊格式) 它消去了矩陣之間的間隔行這樣可在一屏中顯示更多的信息2.9 變量的存儲與調(diào)用quit 和exit 指令都可退出MATLAB 結(jié)束MATLAB 任務(wù)會刪除工作間中的變南京航空航天大學(xué) 王正盛8量在退出前可以保存工作空間以備再次調(diào)出使用這些變量保存的指令格式1 save 工作間中的所有變量保存在磁盤上名為matlab.mat 的文件中2 save 文件名 變量名 將指定的變量保存在指定文件中如save temp x y z 把x,y,z 這三個變量保存在文件temp.mat 中在下次

17、加載MATLAB 時可以利用load 指令將保存在文件中的變量恢復(fù)到工作間中其格式有1 load 將保存在matlab.mat 中的變量裝入到MATLAB 工作間中2 load 文件名 變量名 從指定的文件中將指定的變量裝入MATLAB 工作間如load temp x 從文件temp.mat 中只將變量x 裝入到MATLAB 工作間中2.10 圖形圖形是MATLAB 的主要特色之一MATLAB 圖形指令具有自然簡潔靈活及易擴充的特點MATLAB 的指令很多這里僅介紹幾個簡單的繪圖指令詳見第六章例1 作多條曲線t=0:pi/50:4*pi;y0=exp(-t/3);y=exp(-t/3).*si

18、n(3*t);plot(t,y,t,y0,t,-y0)grid0 2 4 6 8 10 12 14-1-0.8-0.6-0.4-0.60.81例2 三維曲面x=-8:0.5:8;y=x'X=ones(size(y)*x;Y=y*ones(size(x);R=sqrt(X.2+Y.2)+eps;Z=sin(R)./R;mesh(Z);colormap(1,0,0)南京航空航天大學(xué) 王正盛92.11 lp 指令lookfor 指令及其他幫助指令MATLAB 的在線幫助系統(tǒng)相當(dāng)完備就查詢系統(tǒng)的調(diào)用方式而言可分為兩種1 從MATLAB 指令窗的 help 菜單選項中尋求幫助

19、此與一般windows的求助方法一樣2 在MATLAB 指令窗中直接鍵入求助指令(i)help 不帶任何參數(shù)顯示出MATLAB 的目錄項產(chǎn)生清單信息helpHELP topics:matlabgeneral - General purpose commands.matlabops - Operators and special characters.matlablang - Programming language constructs.matlabelmat - Elementary matrices and matrixmanipulation.matlabelfun - Elementa

20、ry math functions.matlabspecfun - Specialized math functions.matlabmatfun - Matrix functions - numerical linearalgebra.matlabdatafun - Data analysis and Fouriertransforms.matlabpolyfun - Interpolation and polynomials.matlabfunfun - Function functions and ODE solvers.matlabsparfun - Sparse matrices.m

21、atlabgraph2d - Two dimensional graphs.matlabgraph3d - Three dimensional graphs.matlabspecgraph - Specialized graphs.matlabgraphics - Handle Graphics.matlabuitools - Graphical user interface tools.matlabstrfun - Character strings.matlabiofun - File input/output.matlabtimefun - Time and dates.matlabda

22、tatypes - Data types and structures.matlabwinfun - Windows Operating System InterfaceFiles (DDE/ActiveX)matlabdemos - Examples and demonstrations.toolboxruntime - MATLAB Runtime Server DevelopmentKitrtwwindows - Real Time Windows Target.南京航空航天大學(xué) 王正盛10daqdaq - Data Acquisition Toolboxdaqdaqdemos - Da

23、ta Acquisition Toolbox - DataAcquisition Demos.toolboxdials - Dials & Gauges Blocksettoolboxrptgenext - Simulink Report Generatortoolboxrptgen - MATLAB Report Generatordatabasedatabase - Database Toolbox.databasedbdemos - Database Toolbox DemonstrationFunctions.powersyspowerdemo - Power System B

24、lockset Demos.powersyspowersys - Power System Blocksettoolboxcompiler - MATLAB Compiler (and Compiler1.2.1)commcomm - Communications Tmcommmasks - Communications Toolbox mask mcommsfun - Communications Toolbox S-mcommsim - Communications Toolbox Simulinkfile

25、s.toolboxsymbolic - Symbolic Math Toolbox.nagnag - NAG Foundation Toolbox - Numerical &Statistical Librarynagexamples - NAG Foundation Toolbox - Numerical& Statistical Librarymapmap - Mapping Toolboxmapmapdisp - Mapping Toolbox Map Definition andDisplay.mapmapproj - Mapping Toolbox Projectio

26、ns.waveletwavelet - Wavelet Toolbox.waveletwavedemo - Wavelet Toolbox Demos.toolboxpde - Partial Differential EquationToolbox.financefinance - Financial Toolbox.financecalendar - Financial Toolbox calendarfunctions.financefindemos - Financial Toolbox demonstrationfunctions.lmilmictrl - LMI Control T

27、oolbox: ControlApplicationslmilmilab - LMI Control Toolboxqftqft - QFT Control Design Toolbox.qftqftdemos - QFT Control Design Toolbox Demostoolboxfixpoint - Fixed-Point Blocksetfixpointfxpdemos - Fixed-Point Blockset Demosfixpointobsolete - Obsolete Fixed-Point Blocksetdspblksdspblks - DSP Blockset

28、.dspblksdspmex - (No table of contents file)dspblksdspdemos - DSP Blockset demonstrations andexamples.dspblksdspmasks - DSP Blockset mask helper functions.fuzzyfuzzy - Fuzzy Logic Toolbox.fuzzyfuzdemos - Fuzzy Logic Toolbox Demos.mpcmpccmds - Model Predictive Control Toolbox.mpcmpcdemos - Model Pred

29、ictive Control Toolbox南京航空航天大學(xué) 王正盛11fdidentfdident - Frequency Domain IdentificationToolbox.fdidentfddemos - Demonstrations for the FDIDENTToolboxhosahosa - Higher-Order Spectral AnalysisToolbox.hosahosademo - Higher-Order Spectral AnalysisToolbox - Demo suitetoolboxstats - Statistics Toolbox.toolbo

30、xncd - Nonlinear Control Design Blocksetimagesimages - Image Processing Toolbox.imagesimdemos - Image Processing Toolbox - demosand sample imagesnnetnnet - Neural Network Toolbox.nnetnndemos - Neural Network Demonstrations.nnetnnutils - (No table of contents file)nnetnnobsolete - (No table of conten

31、ts file)mutoolscommands - Mu-Analysis and Synthesis Toolbox.mutoolssubs - Mu-Analysis and Synthesis Toolbox.signalsignal - Signal Processing Toolbox.signalsiggui - Signal Processing Toolbox GUIsignalsigdemos - Signal Processing ToolboxDemonstrationstoolboxsplines - Spline Toolbox.toolboxoptim - Opti

32、mization Toolbox.toolboxrobust - Robust Control Toolbox.toolboxident - System Identification Toolbox.toolboxcontrol - Control System Toolbox.controlctrlguis - Control System Toolbox - GUIsupport functions.controlobsolete - Control System Toolbox - obsoletecommands.toolboxrtw - Real-Time Workshoprtwr

33、twdemos - (No table of contents file)stateflowsfdemos - Stateflow demonstrations andsamples.toolboxsb2sl - SystemBuild to Simulink Translatorstateflowstateflow - Stateflowsimulinksimulink - Simulinksimulinkblocks - Simulink block library.simulinksimdemos - Simulink 3 demonstrations andsamples.simuli

34、nkdee - Differential Equation EditorMATLAB53work - (No table of contents file)toolboxlocal - Preferences.For more help on directory/topic, type "help topic".(ii) help 目錄名顯示指定目錄中的所有命令及其函數(shù)help lang 將列出與MATLAB 編程語言的所有命令及其函數(shù)help matfun 將列出與數(shù)值線性代數(shù)有關(guān)的所有矩陣函數(shù)help elfun 列出所有基本函數(shù)南京航空航天大學(xué) 王正盛12iii he

35、lp 命令名/函數(shù)名/符號顯示指定的命令名/函數(shù)名/符號的詳細信息例help eig 顯示計算矩陣特征值和特征向量的函數(shù)eig 的說明help eigEIG Eigenvalues and eigenvectors.E = EIG(X) is a vector containing the eigenvalues of asquarematrix X.V,D = EIG(X) produces a diagonal matrix D ofeigenvalues and afull matrix V whose columns are the correspondingeigenvectors

36、sothat X*V = V*D.V,D = EIG(X,'nobalance') performs the computationwith balancingdisabled, which sometimes gives more accurate resultsfor certainproblems with unusual scaling.E = EIG(A,B) is a vector containing the generalizedeigenvaluesof square matrices A and B.V,D = EIG(A,B) produces a dia

37、gonal matrix D ofgeneralizedeigenvalues and a full matrix V whose columns are thecorresponding eigenvectors so that A*V = B*V*D.See also CONDEIG, EIGS.Overloaded methodshelp sym/eig.mhelp lti/eig.m注意help 的工作機理是是把指定名字的那個M 文件的第一段注釋內(nèi)容顯示出來以構(gòu)成自己文件的再線求助lookfor 指令可以根據(jù)用戶提供的完整或不完整的關(guān)鍵詞去搜索出一組與之有關(guān)的指令例1 查找有關(guān)積分的指

38、令lookfor integral例2 ELLIPKE Complete elliptic integral.例3 EXPINT Exponential integral function.例4 DBLQUAD Numerically evaluate double integral.例5 INNERLP Used with DBLQUAD to evaluate inner loop ofintegral.例6 QUAD Numerically evaluate integral, low ordermethod.例7 QUAD8 Numerically evaluate integral,

39、 higher ordermethod.南京航空航天大學(xué) 王正盛13例8 COSINT Cosine integral function.例9 SININT Sine integral function.例10 ASSEMA Assembles area integral contributions in aPDE problem.例11 COSINT Cosine integral function.例12 FOURIER Fourier integral transform.例13 IFOURIER Inverse Fourier integral transform.例14 SININT

40、 Sine integral function.BLKPIDCON The output of the block is the sum ofproportional, integral and例2查找有關(guān)傅里葉變換的指令lookfor fourierFFT Discrete Fourier transform.FFT2 Two-dimensional discrete Fourier Transform.FFTN N-dimensional discrete Fourier Transform.IFFT Inverse discrete Fourier transform.IFFT2 Two

41、-dimensional inverse discrete Fourier transform.IFFTN N-dimensional inverse discrete Fourier transform.XFOURIER Graphics demo of Fourier series expansion.INSTDFFT Inverse non-standard 1-D fast Fourier transform.NSTDFFT Non-standard 1-D fast Fourier transform.EXPFOU Write data to a Fourier vector or

42、a (maybeexisting) file (for ELIS).IMPFOU Read complex amplitudes from a Fourier vector orfile (used by ELIS).MODIFYFV Modify Fourier (maybe also variance) data bygiven transfer function.SIMFOU Generate simulated Fourier amplitudes.PLOTFOU Plot contents of Fourier filesDFTMTX Discrete Fourier transfo

43、rm matrix.FOURIER Fourier integral transform.IFOURIER Inverse Fourier integral transform.注意 lookfor 指令的機制對MATLAB 中的每個M 文件注釋區(qū)的第一行進行掃描一旦發(fā)現(xiàn)包含要查詢的字符串就顯示出來提示用戶也可利用此機理建立自己文件的在線幫助其他幫助指令exist 檢查指定名字的變量或函數(shù)文件的存在性what 按擴展名分類列出在搜索路徑中指定目錄上的文件名which 列出指定名字文件所在的目錄2.12 用戶目錄的建立和搜索路徑為了保護MATLAB 目錄結(jié)構(gòu)的嚴(yán)整為了用戶自己用MATLAB所創(chuàng)建

44、修改的M 文件和其他文件的方便用戶應(yīng)建立自己的工作目錄MATLAB 啟動后的默認目錄是C:MATLABBIN 若不建子目錄則MATLAB環(huán)境產(chǎn)生的數(shù)據(jù)文件就登陸在這個缺省目錄上建立工作目錄兩種方法1在DOS 環(huán)境中建立 ;(2)在windows 環(huán)境下建立MATLAB 只能在啟動時由mathabrc.m 設(shè)定的路徑上搜索不能與原定路徑以外的其他目錄交換信息可用以下三種方法擴充南京航空航天大學(xué) 王正盛14(1 在MATLAB 指令窗口中鍵入 CD C:MYDIR2 利用path 指令擴展搜索路徑 path(path, 'c:mydir')3 在MATLAB 環(huán)境下鍵入pathto

45、ol 或者在MATLAB 指令窗口菜單上File 中的Set path 項設(shè)置第三章 MATLAB 的數(shù)值計算功能3.1 數(shù)值矩陣的創(chuàng)建保存和數(shù)據(jù)格式3.1.1 創(chuàng)建矩陣的直接輸入法前面已述此出不贅述例x=14 ;y=4.32;A=x,2*x-y,0;sin(pi/4),3*y+x,sqrt(y)A =14.0000 23.6800 00.7071 26.9600 2.07853.1.2 利用MATLAB 函數(shù)和語句創(chuàng)建數(shù)值矩陣 例1 利用指令reshape 創(chuàng)建數(shù)值矩陣av=1:12 %產(chǎn)生12 個元素的行向量av 以%開頭的是注釋行bm=reshape(av,3,4) %利用向量av 創(chuàng)建

46、3× 4 矩陣bmav =1 2 3 4 5 6 7 8 9 10 1112bm =1 4 7 102 5 8 113 6 9 12例2 利用指令diag 產(chǎn)生對角陣ar=rand(4,4) %產(chǎn)生4 × 4 的0-1 均勻分布隨即矩陣ard=diag(ar) %用矩陣的主對角線元素形成向量dD=diag(d) %用向量d 構(gòu)成對角矩陣Dar =0.9501 0.8913 0.8214 0.92180.2311 0.7621 0.4447 0.73820.6068 0.4565 0.6154 0.17630.4860 0.0185 0.7919 0.4057d =0.950

47、10.76210.61540.4057D =0.9501 0 0 00 0.7621 0 0南京航空航天大學(xué) 王正盛150 0 0.6154 00 0 0 0.40571.0.0 利用M 文件創(chuàng)建和保存矩陣本節(jié)方法既適用于數(shù)值矩陣又適用于符號矩陣?yán)? 創(chuàng)建和保存矩陣AM 的matrix.m 文件生成過程步驟1 使用DOS 的編輯器edit ,Windows 的書寫器(write) 記事本notepad 或其他字處理軟件如Word 等編輯如下AM=1 2 3;3 4 5步驟2 把此內(nèi)容以純文本方式ASCII 保存在用戶自己的目錄下名為matrix.m 的文件中步驟3 在MATLAB 指令窗中只要

48、鍵入matrix 矩陣AM 就會自動生成于MATLAB 工作內(nèi)存中即產(chǎn)生一個名為AM 的變量供顯示和調(diào)用3.1.4 通過MAT 文件保存和獲取矩陣MAT 文件是MATLAB 保存數(shù)據(jù)的一種標(biāo)準(zhǔn)格式二進制文件MAT 文件的生成和調(diào)用由指令save 和load 進行例1 把矩陣AR 保存到文件大他data.mat步驟1 在矩陣AR 存在于MATLAB 內(nèi)存空間的前提下鍵入save data AR步驟2 在下次進入MATLAB 后需要矩陣AR 時鍵入如下邊可將data.mat 中的內(nèi)容讀入MATLAB 內(nèi)存空間load data說明MATLAB 默認擴展名為.mat 默認路徑為matlabbin 子

49、目錄用戶如把data.mat 登陸在指定目錄可用如下命令保存或調(diào)入save c:mydirdata ARload c:mydirdata AR3.1.5 利用外部數(shù)據(jù)文件裝入到指定矩陣假如磁盤中已有名為c:mydirdata.dat 的ASCII 數(shù)據(jù)文件利用指令load c:mydirdata.dat 可在MATLAB 工作空間產(chǎn)生一個名為 data 的矩陣即變量當(dāng)然也可以用指令fopen" "fread"及其他MATLAB 底層數(shù)據(jù)輸入輸出I/O 指令實現(xiàn)可查看幫助如help fopen3.2 矩陣的標(biāo)識矩陣的元素子矩陣可以通過標(biāo)識向量冒號的標(biāo)識來援引和賦值例

50、1b=1 2 3 4 5; 6 7 8 9 10 ;11 12 13 14 15b23=b(2,3)b1=b(1:2,1 3 5)b2=b(3 1,:)b(1 3,2 4)=zeros(2)b =1 2 3 4 56 7 8 9 1011 12 13 14 15b23 =8南京航空航天大學(xué) 王正盛16b1 =1 3 56 8 10b2 =11 12 13 14 151 2 3 4 5b =1 0 3 0 56 7 8 9 1011 0 13 0 15例2x=1 2 3 4 5 %產(chǎn)生1× 5 向量x =1 2 3 4 5l=x<=3 %標(biāo)出小于等于3 的元素的位置l =1 1

51、1 0 0x=x(l) %獲得元素不超過3 的子向量x =1 2 33.3 矩陣運算和數(shù)組運算矩陣運算和數(shù)組運算是Matlab 的數(shù)值運算中的兩大類運算矩陣運算是按矩陣運算法則進行的運算數(shù)組運算無論是何種運算操作都是對元素逐個進行矩陣運算和數(shù)組運算指令對照匯總矩陣運算指令指令含義數(shù)組運算指令指令含義A' 矩陣轉(zhuǎn)置A.+B 對應(yīng)元素相加A+B 矩陣相加A.-B 對應(yīng)元素相減A-B 矩陣相減A.*B 同維數(shù)組對應(yīng)元素相乘s+B 標(biāo)量加矩陣s.*A A 的每個元素乘ss-B,B-s 標(biāo)量矩陣相減A./B A 的元素被B 的對應(yīng)元素除A*B 矩陣相乘B.A 同上A/B A 右除B s./B,

52、B.s s 分別被B 的元素除BA A 左除B A.n A 的每個元素自乘n 次inv(A) 矩陣求逆log(A) 對A 的每個元素求對數(shù)An 矩陣的n 次冪sqrt(A) 對A 的每個元素求平方根f(A) 求A 的各個元素的函數(shù)值例a=1 2 3; 4 5 6; 7 8 9;b=1 2 3; 3 2 1;1 4 5;c=1 1 1;2 3 1;1 0 2;d=a*c2+bd =南京航空航天大學(xué) 王正盛1732 31 3682 79 82128 129 1343.4 矩陣函數(shù)和數(shù)組函數(shù)3.4.1 基本數(shù)組函數(shù)數(shù)組函數(shù)是對各個元素的函數(shù)設(shè)計的f(.)基本函數(shù)表函數(shù)名稱功 能函數(shù)名稱功 能sin

53、正弦acosh 反雙曲余弦cos 余弦atanh 反雙曲正切tan 正切acoth 反雙曲余切cot 余切asech 反雙曲正割sec 正割acsch 反雙曲余割csc 余割fix 朝零方向取整asin 反正弦ceil 朝正無窮大方向取整acos 反余弦floor 朝負無窮大方向取整atan 反正切round 四舍五入到整數(shù)atan2 四象反正切rem 除后取余數(shù)acot 反余切sign 符號函數(shù)asec 反正割abs 絕對值acsc 反余割angle 復(fù)數(shù)相角sinh 雙曲正弦imag 復(fù)數(shù)虛部cosh 雙曲余弦real 復(fù)數(shù)實部tanh 雙曲正切conj 復(fù)數(shù)共軛coth 雙曲余切l(wèi)og1

54、0 常用對數(shù)sech 雙曲正割log 自然對數(shù)csch 雙曲余割exp 指數(shù)asinh 反雙曲正弦aqrt 平方根f(.)特殊函數(shù)表函數(shù)名稱功 能函數(shù)名稱功 能bessel 第一第二類Bessel 函數(shù)erf 誤差函數(shù)beta Beta 函數(shù)eerfinv 逆誤差函數(shù)gamma Gamma 函數(shù)ellipk 第一第二類全橢圓積分rat 有理近似ellipj Jacobi 橢圓函數(shù)南京航空航天大學(xué) 王正盛183.1.2 基本矩陣函數(shù)基本矩陣函數(shù)指令函數(shù)指令指令含義函數(shù)指令指令含義cond(A) 矩陣的條件數(shù)最大奇異值除以最小奇異值svd(A) 矩陣的奇異值分解det(A) 方陣的行列式trace(A) 矩陣的跡dot(A,B) 矩陣的點積expm(A) 矩陣指數(shù)e Aeig(A) 矩陣的特征值expm1(A) 用Pade 近似求e Anorm(A,1) 矩陣1-范數(shù)expm2(A) 用Taylor 級數(shù)近似求e A 精度稍差但對任何方陣適用norm(A) 矩陣的2-范數(shù)expm3(A) 用矩陣分解求e A 僅當(dāng)獨立調(diào)整向量數(shù)目等于秩時適用norm(A,inf) 矩陣的無窮范數(shù)logm(A) 矩陣對數(shù)ln(A)norm(A,'fro')

溫馨提示

  • 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

提交評論