版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第1章
MATLAB基礎知識MATLAB是MathWorks公司開發(fā)的科學與工程計算軟件,它以矩陣運算為基礎,把計算、繪圖及動態(tài)系統(tǒng)仿真等功能有機地融合在一起。同時,它又具有程序設計語言的基本特征。目前,MATLAB在工程計算與數(shù)值分析、控制系統(tǒng)設計與仿真、信號處理、圖像處理、金融建模設計與分析等學科領域都有著十分廣泛的應用。MATLAB簡介本章學習目標
了解MATLAB的發(fā)展和主要功能。熟悉啟動和退出MATLAB的方法。熟悉MATLAB的操作環(huán)境。掌握建立矩陣的方法。掌握MATLAB數(shù)據(jù)對象的特點和基本的運算規(guī)則。1.1MATLAB的發(fā)展與主要功能——發(fā)展MATrixLABoratory(矩陣實驗室)1992 MATLAB4.0版1997 MATLAB5.0版2000年10月 MATLAB6.0版2004年7月 MATLAB7.0版2005年9月 MATLAB7.1版隨后每年發(fā)布兩次以年份命名的版本,如:R2006a(MATLAB7.2),R2006b(MATLAB7.3)R2007a(MATLAB7.4),R2007b(MATLAB7.5)R2008a(MATLAB7.6),R2008b(MATLAB7.7),R2010a。1.1MATLAB的發(fā)展與主要功能——功能1/5求解線性方程組:(1)數(shù)值計算和符號計算功能1.1MATLAB的發(fā)展與主要功能——功能2/5在MATLAB命令窗口輸入命令:a=[2,3,-1;3,-5,3;6,3,-8];b=[7;8;9];x=inv(a)*b也可以通過符號計算來解此方程:symsx1x2x3[x1,x2,x3]=solve(2*x1+3*x2-x3-7,3*x1-5*x2+3*x3-8,6*x1+3*x2-8*x3-9)分別繪制函數(shù)y=300sinx/x和y=x2的曲線x=-20:0.1:20;plot(x,300*sin(x)./x,':',x,x.^2);1.1MATLAB的發(fā)展與主要功能——功能3/5(2)繪圖功能1.1MATLAB的發(fā)展與主要功能——功能4/5MATLAB是解釋性語言,程序執(zhí)行速度較慢,而且不能脫離MATLAB環(huán)境而獨立運行。MathWorks公司提供了將MATLAB源程序編譯為獨立于MATLAB集成環(huán)境運行的EXE文件以及將MATLAB程序轉化為C語言程序的編譯器。(3)程序設計語言功能1.1MATLAB的發(fā)展與主要功能——功能5/5MATLAB包含兩部分:基本部分和各種可選的工具箱?;静糠謽嫵闪薓ATLAB的核心內容,也是使用和構造工具箱的基礎。工具箱擴展了MATLAB的功能。功能性工具箱:擴充其符號計算功能、可視建模仿真功能、文字處理功能能;學科性工具箱:專業(yè)性強,如控制系統(tǒng)工具箱(ControlSystemToolbox)、信號處理工具箱(SignalProcessingToolbox)、神經(jīng)網(wǎng)絡工具箱(NeuralNetworkToolbox)、最優(yōu)化工具箱(OptimizationToolbox)(4)擴展功能1.2MATLAB集成開發(fā)環(huán)境MATLAB集成開發(fā)環(huán)境包括多個窗口,除MATLAB主窗口外,還有命令窗口(CommandWindow)、工作空間(Workspace)窗口、命令歷史(CommandHistory)窗口和當前目錄(CurrentDirectory)窗口。這些窗口都可以內嵌在MATLAB主窗口中,組成MATLAB的工作界面。在MATLAB主窗口的左下角,還有一個Start按鈕。1.2MATLAB集成開發(fā)環(huán)境——主窗口主窗口除了嵌入一些子窗口外,還包括菜單欄和工具欄。1.2MATLAB集成開發(fā)環(huán)境——命令窗口1/4命令窗口(CommandWindow)用于輸入命令并顯示除圖形以外的所有執(zhí)行結果。一般來說,一個命令行輸入一條命令,命令行以回車結束。但一個命令行也可以輸入若干條命令,各命令之間以逗號分隔,若前一命令后帶有分號,則逗號可以省略。例如:>>x=720,y=86x=720y=86>>x=720;y=86y=861.2MATLAB集成開發(fā)環(huán)境——命令窗口2/4如果一個命令行很長,一個物理行之內寫不下,可以在第1個物理行之后加上3個小黑點并按下回車鍵,然后接著下一個物理行繼續(xù)寫命令的其他部分。3個小黑點稱為續(xù)行符,即把下面的物理行看作該行的邏輯繼續(xù)。例如:>>z=1+1/(1*2)+1/(1*2*3)+1/(1*2*3*4)+…1/(1*2*3*4*5)1.2MATLAB集成開發(fā)環(huán)境——命令窗口3/4命令行編輯的常用控制鍵及其功能鍵名功能鍵名功能前尋式調回已輸入過的命令Home將光標移到當前行首端后尋式調回已輸入過的命令End將光標移到當前行末尾在當前行中左移光標Del刪除光標右邊的字符在當前行中右移光標Backspace刪除光標左邊的字符PgUp前尋式翻滾一頁Esc刪除當前行全部內容PgDn后尋式翻滾一頁命令窗口常用的控制指令>>dire:\mywork %顯示e:\mywork目錄下的文件清單>>edite:\mywork\Aviod.m%打開編輯器編輯Aviod.m>>whichAviod.m %顯示Aviod.m所在的目錄指令含義指令含義cd設置當前工作目錄exit/quit退出MATLABclf清除圖形窗open打開文件clc清除指令窗中顯示的內容md創(chuàng)建目錄clear清除內存變量more使顯示內容分頁顯示dir列出指定目錄的文件清單type顯示M文件的內容edit打開M文件編輯器which指出文件所在目錄1.2MATLAB集成開發(fā)環(huán)境——命令窗口4/4也可利用菜單命令實現(xiàn)1.2MATLAB集成開發(fā)環(huán)境——工作空間窗口工作空間(Workspace)是MATLAB用于存儲各種變量和結果的內存空間。1.2MATLAB集成開發(fā)環(huán)境——當前目錄窗口也稱為路徑瀏覽器,對文件進行有效的組織和管理。當前目錄(CurrentDirectory)是指MATLAB運行時的工作目錄,只有在當前目錄或搜索路徑下的文件、函數(shù)才可以被運行或調用。如果沒有特殊指明,數(shù)據(jù)文件也將存放在當前目錄下。1.2MATLAB集成開發(fā)環(huán)境——歷史命令窗口自動保留自安裝起所有用過的命令的歷史記錄,并且還標明了使用時間,從而方便用戶查詢。而且,通過雙擊命令可進行歷史命令的再運行。1.2MATLAB集成開發(fā)環(huán)境——Start按鈕在MATLAB主窗口左下角有一個Start按鈕,提供快速訪問MATLAB的各種工具和查閱MATLAB包含的各種資源的命令菜單。1.2MATLAB集成開發(fā)環(huán)境——搜索路徑1/3(1)默認搜索過程MATLAB的文件是通過不同的路徑進行組織和管理的。當用戶在命令窗口輸入一條命令后,MATLAB將按照下列順序搜索所輸入的命令:檢查是不是一個變量。檢查是不是一個內部函數(shù)。檢查是否為當前目錄下的M文件。檢查是否為MATLAB搜索路徑中其他目錄下的M文件。假設建立了一個變量result,同時在當前目錄下建立了一個M文件result.m,如果在命令窗口輸入result,在屏幕上顯示變量result的值。如果沒有建立result變量,則執(zhí)行result.m文件。1.2MATLAB集成開發(fā)環(huán)境——搜索路徑2/3(2)設置搜索路徑——用path命令把用戶目錄臨時納入搜索路徑path(path,‘c:\mydir')——用對話框設置搜索路徑在MATLAB的File菜單中選擇SetPath命令或在命令窗口執(zhí)行pathtool命令1.2MATLAB集成開發(fā)環(huán)境——搜索路徑3/3路徑添加路徑移動刪除路徑系統(tǒng)將所有搜索路徑的信息保存在一個M文件pathdef.m中,通過修改該文件也可以修改搜索路徑1.3MATLAB的幫助功能——幫助界面1/2進入MATLAB幫助界面可以通過以下3種方法?!駟螕鬗ATLAB主窗口工具欄中的Help按鈕。●在命令窗口中輸入“helpwin”、“helpdesk”或“doc”命令?!襁x擇Help菜單中的“MATLABHelp”選項。1.3MATLAB的幫助功能——幫助界面2/2左邊為向導頁面,右邊為顯示頁面。Contents:查看幫助的主題;Index:根據(jù)指定的關鍵詞進行查找;SearchResult:查找指定的單詞;Demos:查看和運行MATLAB的演示程序。1.3MATLAB的幫助功能——幫助命令1/5(1)help命令help命令是查詢函數(shù)語法的最基本方法,查詢信息直接顯示在命令窗口。在命令窗口中直接輸入help命令將會顯示當前幫助系統(tǒng)中所包含的所有項目,即搜索路徑中所有的目錄名稱。help加函數(shù)名顯示該函數(shù)的幫助說明。如helpmagic命令顯示magic函數(shù)的使用方法與功能:MATLAB命令窗口顯示的幫助信息用大寫來突出函數(shù)名,但在使用函數(shù)時,要用小寫。1.3MATLAB的幫助功能——幫助命令2/5(2)lookfor命令當用戶知道某函數(shù)名而不知其用法時,help命令可以幫助用戶了解函數(shù)的用法。若需要查找一個不知其確切名稱的函數(shù)名時,可以用lookfor命令根據(jù)用戶提供的關鍵字來查詢相關的函數(shù)。lookfor通過對MATLAB搜索路徑中的每個M文件的注釋區(qū)的第一行進行掃描,一旦發(fā)現(xiàn)此行中含有所查詢的關鍵字,則將該函數(shù)名及第1行注釋全部顯示在屏幕上。1.3MATLAB的幫助功能——幫助命令3/5如,輸入命令lookforfourier:1.3MATLAB的幫助功能——幫助命令4/51.3MATLAB的幫助功能——幫助命令5/5(3)其他幫助命令命令命令功能demo運行MATLAB演示程序tour運行MATLAB漫游程序doc在幫助瀏覽器中顯示指定函數(shù)的參考信息what列出當前目錄下的M文件、MEX文件盒MAT文件which顯示指定函數(shù)或文件的路徑helpbrowser打開幫助內的瀏覽器helpdesk運行HTML格式的幫助面板(helpdesk)helpwin打開幫助內的瀏覽器exist查找指定變量或函數(shù)的存在性web顯示指定的網(wǎng)絡頁面1.3MATLAB的幫助功能——演示系統(tǒng)在幫助窗口中選擇演示系統(tǒng)(Demos)選項卡,然后在其中選擇相應的演示模塊,或者在命令窗口輸入“demos”,或者選擇主窗口“Help”菜單中的“Demos”子菜單:1.4MATLAB的變量和數(shù)據(jù)操作——變量與賦值1/81.變量命名在MATLAB7.X中,變量名是以字母開頭,后接字母、數(shù)字或下畫線的字符序列,最多63個字符。例如:x、x_1、xy12在MATLAB中,變量名區(qū)分字母的大小寫。例如addr、Addr和ADDR表示3個不同的變量。注:MATLAB提供的標準函數(shù)名以及命令名必須用小寫字母。例如,求矩陣A的逆用inv(A),不能寫成Inv(A)/INV(A)。2.賦值語句MATLAB賦值語句有兩種格式:(1)變量=表達式;(2)表達式在第1種語句形式下,MATLAB將右邊表達式的值賦給左邊的變量,而在第2種語句形式下,將表達式的值賦給MATLAB的預定義變量ans。在語句的最后加分號,那么,MATLAB僅僅執(zhí)行賦值操作,不再顯示運算的結果。注釋以%開頭。1.4MATLAB的變量和數(shù)據(jù)操作——變量與賦值2/8例:計算表達式的值并顯示結果:>>x=sqrt(1+pi);>>y=(exp(x)+log(abs(sin(x)^2-sin(x*x))))/(x-5*i)y=0.5690+1.3980i其中,pi和i都是MATLAB定義的變量,分別代表圓周率π和虛數(shù)單位。1.4MATLAB的變量和數(shù)據(jù)操作——變量與賦值3/8預定義變量含義預定義變量含義ans計算結果的默認賦值變量nargin函數(shù)輸入?yún)?shù)個數(shù)eps機器零閾值nargout函數(shù)輸出參數(shù)個數(shù)pi圓周率的近似值realmax最大正實數(shù)i,j虛數(shù)單位realmin最小正實數(shù)Inf,inf無窮大。如I/0的結果lasterr存放最新的錯誤信息NaN,nan非數(shù)。如0/0,inf/inf的結果lastwarn存放最新的警告信息注:在使用時盡量避免對這些變量重新賦值。1.4MATLAB的變量和數(shù)據(jù)操作——變量與賦值4/8——MATLAB中的預定義變量1.內存變量的顯示與刪除Who和whos命令顯示在MATLAB工作空間中已經(jīng)駐留的變量名。whos在給出駐留變量名的同時,還給出它們的維數(shù)、所占字節(jié)數(shù)以及變量的類型。>>whoYourvariablesare:Rabcpx>>whosNameSizeBytesClassAttributesR3x124doublea3x372doubleb3x124doublec3x124doublep1x432doublex1x18double1.4MATLAB的變量和數(shù)據(jù)操作——變量與賦值5/8clear命令刪除MATLAB工作空間中的變量。MATLAB工作空間窗口專門用于內存變量的管理。MATLAB工作空間窗口變量編輯器1.4MATLAB的變量和數(shù)據(jù)操作——變量與賦值6/82.內存變量文件MAT文件是MATLAB保存數(shù)據(jù)的一種標準格式二進制文件,擴展名是.mat。>>save文件名[變量名表][-append][-ascii]>>load文件名[變量名表][-ascii]
文件名可以帶路徑,缺省在當前目錄下操作。文件名可以不擴展名,命令默認對MAT文件進行操作,文件保存在當前目錄下。變量名表中的變量個數(shù)不限,變量名之間以空格分隔。當省略變量名時,保存或裝入全部變量。
-ascii選項以ASCII格式處理,缺省以二進制處理。
-append選項將變量追加到MAT文件中。1.4MATLAB的變量和數(shù)據(jù)操作——變量與賦值7/8假定變量a和b存在于MATLAB工作空間中,輸入以下命令便可將a和b保存于當前目錄的mydata.mat文件中:>>savemydataab把mydata.mat中的內容裝入MATLAB工作空間:>>loadmydata1.4MATLAB的變量和數(shù)據(jù)操作——變量與賦值8/81.4MATLAB的變量和數(shù)據(jù)操作——數(shù)據(jù)的輸出格式1/3MATLAB用十進制數(shù)表示常數(shù),可采用日常記數(shù)法和科學記數(shù)法。如:3.1415、3+5i是日常計數(shù)法表示,1.78029e2、1234e-5i是科學計數(shù)法表示。字母e或E表示以10為底的指數(shù)。一般情況下,在MATLAB內部每一個數(shù)據(jù)元素都是用雙精度來表示和存儲的。數(shù)據(jù)輸出是可以用“format”命令改變輸出輸出格式:format格式符注:“format”命令只影響數(shù)據(jù)輸出格式,而不影響數(shù)據(jù)的計算和存儲。1.4MATLAB的變量和數(shù)據(jù)操作——數(shù)據(jù)的輸出格式2/3格式符含義short輸出小數(shù)點后4位,最多不超過7位有效數(shù)字。對于大于1000的數(shù),用5位有效數(shù)字的科學記數(shù)形式輸出long15位有效數(shù)字的形式輸出shorte5位有效數(shù)字的科學記數(shù)形式輸出longe15位有效數(shù)字的科學記數(shù)形式輸出shortg從short和shorte中自動選擇最佳輸出方式longg從long和longe中自動選擇最佳輸出方式rat近似有理數(shù)表示hex十六進制表示+正數(shù)、負數(shù)、零分別用+、-、空格表示bank銀行格式,以元、分表示compact輸出變量之間沒有空行l(wèi)oose輸出變量之間有空行1.4MATLAB的變量和數(shù)據(jù)操作——數(shù)據(jù)的輸出格式3/3例如輸入為:x=[4/31.2345e-6]在各種不同的格式符下的輸出為:短格式(short):1.33330.0000短格式e方式(shorte):1.333e+001.2345e-06長格式(long):1.333333333333330.00000123450000長格式e方式(longe):1.33333333333333e+0001.23450000000000e-006銀行格式(bank):1.330.00十六進制格式(hex):3ff55555555555553eb4b6231abfd271+格式(+):++1.5MATLAB矩陣及其基本運算矩陣是MATLAB的基本處理對象,也是MATLAB的重要特征。MATLAB的大部分運算或命令都是在矩陣運算的意義下執(zhí)行的,而且這種運算定義在復數(shù)域上。MATLAB強大的計算功能以矩陣運算為基礎。在MATLAB中,生成矩陣時無需對矩陣的維數(shù)和類型進行說明,MATLAB會根據(jù)用戶所輸入的內容進行自動配置。1.5MATLAB矩陣及其基本運算——矩陣的生成1/6(1)直接輸入法將矩陣的所有元素用方括號括起來,按矩陣行的順序輸入各元素,同一行的各元素之間用空格或逗號分隔,不同行的元素之間用分號分隔,也可分幾行,用回車鍵代替分號。>>A=[1,2,3;4,5,6;7,8,9]A=123456789矩陣元素也可以是表達式,MATLAB將自動計算結果:>>B=[10,5-sqrt(7),sin(pi/2);7,4*8,abs(-7)]B=10.00002.35421.00007.000032.00007.0000矩陣元素可以是復數(shù):>>B=[1,2+7i,5*sqrt(2)*i;3,2/5,3.5+6i]B=1.00002.0000+7.0000i0+7.0711i3.00000.40003.5000+6.0000i也可以分別建立實部矩陣和虛部矩陣,再合起來構成復數(shù)矩陣:>>R=[1,2,3;4,5,6];>>I=[1.1,2.2,3.3;4.4,5.5,6.6];>>ri=R+i*Iri=1.0000+1.1000i2.0000+2.2000i3.0000+3.3000i4.0000+4.4000i5.0000+5.5000i6.0000+6.6000i1.5MATLAB矩陣及其基本運算——矩陣的生成2/61.5MATLAB矩陣及其基本運算——矩陣的生成3/6(2)利用M文件建立矩陣對于比較大且比較復雜的矩陣,可以建立一個M文件。例:利用M文件建立mydata矩陣。(1)啟動有關文本編輯程序或MATLAB的M-file編輯器,并輸入待建矩陣:mydata=[1.11.21.31.41.51.61.71.81.9;2.12.22.32.42.52.62.72.82.9;3.13.23.33.43.53.63.73.83.9];(2)把輸入的內容存盤(設文件名為matfund.m)。(3)在MATLAB命令窗口中輸入matfund,即運行該M文件,就會自動建立一個名為mydata的矩陣,可供以后使用。(3)利用數(shù)據(jù)文件建立矩陣通過load命令,將外部數(shù)據(jù)文件中的內容調入到工作空間中創(chuàng)建矩陣,外部文件的擴展名為.dat。例如:利用文本編輯器創(chuàng)建一個數(shù)據(jù)文件test.dat:2468635673251251.5MATLAB矩陣及其基本運算——矩陣的生成4/6在命令窗口輸入:>>loadtest.dat>>test運行結果為:test=2468635673251251.5MATLAB矩陣及其基本運算——矩陣的生成5/6(4)利用已建好的矩陣建立更大的矩陣大矩陣可由已建好的小矩陣拼接而成。矩陣的合并就是把兩個以上的矩陣連接起來得到一個新矩陣,“[]”符號可以作為矩陣合并操作符,命令格式如下:c=[ab] %將矩陣a和b水平方向合并為cc=[a;b] %將矩陣a和b垂直方向合并為c>>A=[1,2,3;4,5,6;7,8,9];>>B=[11:13;14:16;17:19];>>A=[1,2,3;4,5,6;7,8,9];>>C=[A,B;B,A]C=1231112134561415167891718191112131231415164561718197891.5MATLAB矩陣及其基本運算——矩陣的生成6/6(5)利用Matlab提供的函數(shù)來創(chuàng)建一些常用的特殊矩陣,例如對角陣、單位陣和零矩陣zeros(m,n)——m×n的零矩陣,全部元素都為0ones(m,n)——全部元素都為1的m×n的矩陣rand(m,n)——隨機矩陣eye(m,n)——單位矩陣magic(n)——n維magic方陣空陣[]——matlab允許輸入空陣,當一項操作無結果時,返回空陣。1.5MATLAB矩陣及其基本運算——冒號表達式1/2冒號可以產生行向量,其調用格式為:a:b:c產生一個由a開始到c結束,以步長b自增的行向量。其中,a為初始值,b為步長,c為終止值(c
>
a)。>>t=0:2:10t=0246810linspace函數(shù)產生行向量。其調用格式為:linspace(a,b,n)其中a和b是生成向量的第1個和最后一個元素,n是元素總數(shù)。當n省略時,自動產生100個元素。顯然,linspace(a,b,n)與a:(b
?
a)/(n
?
1):b等價。例如:x=linspace(0,10,6)x=02468101.5MATLAB矩陣及其基本運算——冒號表達式2/21.5MATLAB矩陣及其基本運算——矩陣的拆分1/81.矩陣元素可以通過下標(Subscript)對矩陣的單個元素操作。例如,A(2,3)=76語句將矩陣A的第2行第3列的元素賦為76值。也可以采用矩陣元素的序號(Index)來引用矩陣元素。矩陣元素的序號就是相應元素在內存中的排列順序。矩陣元素按列編號,先第1列,再第2列,依次類推。例如:>>A=[10,20,30;40,50,60];>>A(3)ans=20序號與下標是一一對應的,以m
×
n矩陣A為例,矩陣元素A(i,j)的序號為(j?1)*m
+
i。其相互轉換關系也可利用sub2ind和ind2sub函數(shù)求得。>>sub2ind(size(A),1,3)ans=5size(A)函數(shù)返回包含兩個元素的向量:矩陣A的行數(shù)和列數(shù)>>[i,j]=ind2sub(size(A),5)i=1j=31.5MATLAB矩陣及其基本運算——矩陣的拆分2/8length(A):給出A的維數(shù);reshape(A,m,n):在矩陣總元素保持不變的前提下,將矩陣A重新排成mn的二維矩陣。>>x=linespace(0,11,12)*pi;>>y=reshape(x,3,4)y=09.424818.849628.27433.141612.566421.991131.41596.283215.708025.132734.5575>>newy=reshape(y,2,6)newy=06.283212.566418.849625.132731.41593.14169.424815.708021.991128.274334.55751.5MATLAB矩陣及其基本運算——矩陣的拆分3/81.5MATLAB矩陣及其基本運算——矩陣的拆分4/82.矩陣拆分(1)利用冒號表達式獲得子矩陣①A(m,n)表示取A矩陣第m行、第n列的元素,A(m,:)表示取A矩陣第m行的全部元素,A(:,n)表示取A矩陣的第n列全部元素。>>A=1:2:5A=135>>B=[A;2*A;3*A]B/p>
>>B(2,:)ans=2610>>B(:,3)ans=51015②A(m1:m2,:)表示取A矩陣第m1~m2行的全部元素,A(:,n1:n2)表示取A矩陣第n1~n2列的全部元素,A(m1:m2,n1:n2)表示取A矩陣第m1~m2行內,并在第n1~n2列中的所有元素。>>A=[1,2,3,4,5;6,7,8,9,10;11,12,13,14,15;16,17,18,19,20]A=1234567891011121314151617181920>>A(2:3,4:5)ans=9101415>>A(2:3,1:2:5)ans=68101113151.5MATLAB矩陣及其基本運算——矩陣的拆分5/8③A(:)將矩陣A每一列元素堆疊起來,成為一個列向量,這也是MATLAB變量的內容存儲方式。>>A=[-45,65,71;27,35,91]A=-456571273591>>B=A(:)B=-452765357191利用冒號運算很容易從給出的矩陣中獲得子矩陣,處理速度比利用循環(huán)語句來賦值快得多,所以應該盡量用這種賦值方法。1.5MATLAB矩陣及其基本運算——矩陣的拆分6/8可利用一般向量和end運算符來表示矩陣下標,從而獲得子矩陣。end表示某一維末尾元素下標。>>A=[1,2,3,4,5;6,7,8,9,10;11,12,13,14,15;16,17,18,19,20];>>A(end,:)%取A最后一行元素ans=1617181920>>A([1,4],3:end)%取A第1,4行中第3列到最后一列的元素ans=3451819201.5MATLAB矩陣及其基本運算——矩陣的拆分7/8(2)利用空矩陣刪除矩陣的元素空矩陣是指無任何元素的矩陣,表示形式為[]。給變量x賦空矩陣的語句為x=[]將某些元素從矩陣中刪除,采用將其置為空矩陣的方法就是一種有效的方法。A=[123456;789101112;131415161718];A(:,[24])=[]%刪除A的第2列和第4列元素A=135679111213151718
1.5MATLAB矩陣及其基本運算——矩陣的拆分8/81.5MATLAB矩陣及其基本運算——算術運算1/111.基本算術運算MATLAB的基本算術運算有:+(加)、?(減)、*(乘)、/(右除)、\(左除)、^(乘方)。(1)矩陣加減運算運算規(guī)則是:若A和B矩陣的維數(shù)相同,則可以執(zhí)行矩陣的加減運算,A和B矩陣的相應元素相加減。如果A與B的維數(shù)不相同,則MATLAB將給出錯誤信息,提示用戶兩個矩陣的維數(shù)不匹配。一個標量也可以和其他不同維數(shù)的矩陣進行加減運算。>>x=[2,-1,0;3,2,-4];>>y=x-1y=1-2-121-5>>y=y+xy=3-3-153-91.5MATLAB矩陣及其基本運算——算術運算2/11(2)矩陣乘法矩陣A和B進行乘法運算,要求A的列數(shù)與B的行數(shù)相等,或稱A和B兩矩陣維數(shù)相容。如果兩者的維數(shù)不相容,則將給出錯誤信息,提示用戶兩個矩陣是不可乘的。例如:A=[1,2,3;4,5,6];B=A*A???Errorusing==>mtimesInnermatrixdimensionsmustagree.在MATLAB中,還可以進行矩陣和標量相乘,標量可以是乘數(shù)也可以是被乘數(shù)。矩陣和標量相乘是矩陣中的每個元素與此標量相乘。1.5MATLAB矩陣及其基本運算——算術運算3/11(3)矩陣除法MATLAB中有兩種矩陣除法:\和/,分別表示左除和右除。如果A是非奇異方陣,則:A\B=inv(A)*B,B/A=B*inv(A)。對于含有標量的運算,兩種除法運算的結果相同:3/4=4\3=0.75;設a=[10.5,25],則a/5=5\a=[2.10005.0000]。對于矩陣運算,一般A\BB/A。>>a=[123;426;749];>>b=[432;751;12792];>>c1=a\bc1=0.5000-0.500044.50001.00000.000046.00000.50001.1667-44.8333>>c2=b/ac2=-0.1667-3.33332.5000-0.8333-7.66675.500012.833363.6667-36.50001.5MATLAB矩陣及其基本運算——算術運算4/11(4)矩陣的乘方一個矩陣的乘方運算可以表示成A^x,要求A為方陣,x為標量。>>A=[123;456;780];>>A^2ans=303615668142395469若x是正整數(shù),A^x表示A自乘x次;若x=0,得到一個與A維數(shù)相同的單位矩陣。如x小于0且A的逆矩陣存在,則A^x=inv(A)^(-x)>>A=[123;456;780];>>A^0ans=100010001>>A^(-1)ans=-1.77780.8889-0.11111.5556-0.77780.2222-0.11110.2222-0.11111.5MATLAB矩陣及其基本運算——算術運算5/112.點運算MATLAB有一種特殊的運算符,其運算符是在有關算術運算符前面加點,所以叫點運算。點運算符有.*、./、.\和.^。兩矩陣進行點運算是指它們的對應元素進行相關運算,要求兩矩陣的維參數(shù)相同。>>A=[1,2,3;4,5,6;7,8,9];>>B=[-1,0,1;1,-1,0;0,1,1];>>C=A.*B%表示A和B單個元素之間對應相乘,與A*B不同C=-1034-50089如果A、B兩矩陣具有相同的維數(shù),則A./B表示A矩陣除以B矩陣的對應元素。B.\A等價于A./B。>>A=[123;456];>>B=[-213;-114];>>C1=A./BC1=-0.50002.00001.0000-4.00005.00001.5000>>C2=B.\AC2=-0.50002.00001.0000-4.00005.00001.50001.5MATLAB矩陣及其基本運算——算術運算6/11點運算是MATLAB很有特色的一個運算符,在實際應用中起著很重要的作用。當x=0.1,0.4,0.7,1時,分別求y=x2cosx的值>>x=0.1:0.3:1;>>y=x.*x.*cos(x);或者:>>y=x.^2.*cos(x);1.5MATLAB矩陣及其基本運算——算術運算7/111.5MATLAB矩陣及其基本運算——算術運算8/113.MATLAB常用數(shù)學函數(shù)(1)函數(shù)的自變量規(guī)定為矩陣變量,運算法則是將函數(shù)逐項作用于矩陣的元素上,因而運算的結果是與自變量同維數(shù)的矩陣。>>y=sin(0:pi/2:2*pi)y=01.00000.0000-1.0000-0.0000>>y=abs(y)y=01.00000.00001.00000.00001.5MATLAB矩陣及其基本運算——算術運算9/11(2)abs函數(shù)可以求實數(shù)的絕對值、復數(shù)的模、字符串的ASCII碼值。>>x=[-3.14,3+4i];>>abs(x)ans=3.14005.0000(3)用于取整的函數(shù)有fix、floor、ceil、round,要注意區(qū)別。>>x=[fix(13.37),floor(13.37),ceil(13.37),round(13.37)]x=13131413>>x=[fix(-13.67),floor(-13.67),ceil(-13.67),round(-13.67)]x=-13-14-13-141.5MATLAB矩陣及其基本運算——算術運算10/11(4)rem與mod函數(shù)的區(qū)別。rem(x,y)和mod(x,y)要求x,y為相同大小的實矩陣或為標量。當y0,rem(x,y)
=
x?y.*fix(x./y),mod(x,y)=x?y.*floor(x./y);當y
=
0,rem(x,0)
=
NaN,而mod(x,0)
=
x。顯然,當x,y同號時,rem(x,y)與mod(x,y)相等。rem(x,y)的符號與x相同,而mod(x,y)的符號與y相同。>>x=5;>>y=3;>>[rem(x,y),mod(x,y)]ans=22>>x=-5;>>y=3;[rem(x,y),mod(x,y)]ans=-211.5MATLAB矩陣及其基本運算——算術運算11/111.5MATLAB矩陣及其基本運算——關系運算1/3MATLAB提供了6種關系運算符:<(小于)、<=(小于或等于)、>(大于)、>=(大于或等于)、=
=(等于)、~=(不等于)。(1)當兩個比較量是標量時,直接比較兩數(shù)的大小。若關系成立,關系表達式結果為1,否則為0。>>A=5A=5>>A=A==10A=0(2)當參與比較的量是兩個維數(shù)相同的矩陣時,比較是對兩矩陣相同位置的元素按標量關系運算規(guī)則逐個進行,并給出元素的比較結果。最終的關系運算的結果是一個維數(shù)與原矩陣相同的矩陣,它的元素由0或1組成。1.5MATLAB矩陣及其基本運算——關系運算2/3>>A=[1,23;456];>>B=[314;5210];>>A>Bans=010010>>C=A~=BC=111111(3)當參與比較的一個是標量,而另一個是矩陣時,則把標量與矩陣的每一個元素按標量關系運算規(guī)則逐個比較,并給出元素比較結果。最終的運算結果是一個維數(shù)與矩陣相同的矩陣,它的元素由0或1組成。1.5MATLAB矩陣及其基本運算——關系運算3/3>>A=[314;5210];>>B=A>4B=0001011.5MATLAB矩陣及其基本運算——邏輯運算1/5MATLAB提供了3種邏輯運算符:&(與)、|(或)和~(非),4個邏輯運算函數(shù):and(a,b)、or(a,b)、not(a)和xor(a,b)。在邏輯運算中,確認非零元素為真,用1表示;零元素為假,用0表示。a&b或函數(shù)and(a,b)表示a和b作邏輯與運算,當a、b全為非零時,運算結果為1,否則為0。a|b或函數(shù)or(a,b)表示a和b作邏輯或運算,當a、b中只要有一個非零,運算結果為1。~a和函數(shù)not(a)表示對a作邏輯非運算,當a是零時,運算結果為1;當a非零時,運算結果為0。函數(shù)xor(a,b)表示a和b作邏輯異或運算,當a、b的值不同時,運算結果為1,否則運算結果為0。1.5MATLAB矩陣及其基本運算——邏輯運算2/5(1)若參與邏輯運算的是兩個同維矩陣,那么運算將對矩陣相同位置上的元素按標量規(guī)則逐個進行。最終運算結果是一個與原矩陣同維的矩陣,其元素由1或0組成。>>A=[23,54,12,6,-78];>>B=[5,324,7,-43,76];>>C1=A>10&B<10C1=10100>>C2=xor(A>10,B<10)C2=01010(2)若參與邏輯運算的一個是標量,一個是矩陣,那么運算將在標量與矩陣中的每個元素之間按標量規(guī)則逐個進行。最終運算結果是一個與矩陣同維的矩陣,其元素由1或0組成。(3)邏輯非是單目運算符,也服從矩陣運算規(guī)則。(4)在算術、關系、邏輯運算中,算術運算優(yōu)先級最高,邏輯運算優(yōu)先級最低。1.5MATLAB矩陣及其基本運算——邏輯運算3/51.5MATLAB矩陣及其基本運算——邏輯運算4/5——關系與邏輯運算函數(shù)函數(shù)名含義all若向量的所有元素非零,則結果為1any向量中任何一個元素非零,都給出結果1exist檢查變量在工作空間中是否存在,若存在,則結果為1,否則為0find找出向量或矩陣中非零元素的位置isempty若被查變量是空陣,則結果為1isglobal若被查變量是全局變量,則結果為1isinf若元素是inf,則結果矩陣相應位置元素取1,否則取0isnan若元素是nan,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 勞動仲裁協(xié)議申請書
- 2023安全生產工作書面協(xié)議書七篇
- 合伙合同合作協(xié)議
- 土地糾紛調解的協(xié)議書7篇
- 北京房屋出租協(xié)議模板
- 雙方自愿離婚的協(xié)議書8篇
- 舞蹈病病因介紹
- 機械基礎 課件 模塊八任務一 軸
- 【中職專用】中職對口高考-機電與機制類專業(yè)-核心課-模擬試卷1(河南適用)(原卷版)
- 重慶2020-2024年中考英語5年真題回-學生版-專題09 閱讀理解之應用文
- 2024年高考時政高頻考點112條
- 生態(tài)工程與生態(tài)設計智慧樹知到期末考試答案章節(jié)答案2024年同濟大學
- 大班健康活動《不吃三無食品》
- 微生物學智慧樹知到期末考試答案章節(jié)答案2024年沈陽農業(yè)大學
- 研究方法與學術寫作智慧樹知到期末考試答案章節(jié)答案2024年溫州大學
- 《短視頻拍攝與制作》課件-3短視頻中期拍攝
- 瀏陽煙花術語大全
- 2024年甘肅省隴南市中考二模地理試題
- 健康睡眠與幸福人生智慧樹知到期末考試答案2024年
- 小班數(shù)學活動《1-5的認識》課件
- 膝痹病的中醫(yī)護理常規(guī)
評論
0/150
提交評論