




免費(fèi)預(yù)覽已結(jié)束,剩余307頁(yè)可下載查看
下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第1章MATLAB概述MATLAB簡(jiǎn)介MATLAB啟動(dòng)與退出MATLAB幫助系統(tǒng),容易使用2.豐富的內(nèi)部函數(shù)3.強(qiáng)大的圖形和符號(hào)功能4.與其他軟件和語(yǔ)言有良好的對(duì)接性,MATLAB全稱(chēng)為MatrixLaboratory,是一種功能強(qiáng)大的科學(xué)計(jì)算軟件。同其他高級(jí)語(yǔ)言相比,其具有很多優(yōu)點(diǎn):,1.1MATLAB簡(jiǎn)介,1、MATLAB允許用戶以數(shù)學(xué)形式的語(yǔ)言編寫(xiě)程序,用戶在命令窗口中輸入命令即可直接得出結(jié)果。,例1:,25=?,25,ans=7,Goback,2、MATLAB的內(nèi)部函數(shù)庫(kù)提供了相當(dāng)豐富的函數(shù),這些函數(shù)可以解決許多基本問(wèn)題,除此以外,MATLAB還有各種工具箱。,MATLAB主工具箱符號(hào)數(shù)學(xué)工具箱SIMULINK仿真工具箱控制系統(tǒng)工具箱信號(hào)處理工具箱圖象處理工具箱通訊工具箱系統(tǒng)辨識(shí)工具箱神經(jīng)元網(wǎng)絡(luò)工具箱金融工具箱,Goback,3、MATLAB具有強(qiáng)大的圖形處理功能,它本身帶有許多繪圖的庫(kù)函數(shù),可以很輕松地畫(huà)出各種復(fù)雜的二維和多維圖形。,例2、繪制在0x6范圍內(nèi)的sin(2x)、sinx2、sin2x,plot(x,y1,x,y2,x,y3),x=linspace(0,6),y1=sin(2*x);y2=sin(x.2);y3=(sin(x).2;,1.2MATLAB啟動(dòng)與退出1.2.1MATLAB的啟動(dòng),方法一:,雙擊matlab圖標(biāo),方法二:,“開(kāi)始”,“程序”,“MATLAB”菜單,“MATLAB”,MATLAB主體界面,主窗口,標(biāo)題欄,菜單欄,工具欄,Goback,命令窗口(CommandWindow),各種MATLAB操作的最主要窗口,“”,運(yùn)算提示符,例:x1=2+5,x1=7,Goback,歷史命令窗口(CommandHistory),自動(dòng)保留自安裝起所有用過(guò)的命令的歷史記錄,雙擊歷史命令,清除這些歷史記錄,Goback,當(dāng)前目錄窗口(CurrentDirectory),顯示或改變當(dāng)前目錄,顯示當(dāng)前目錄下的文件,功能,Goback,工作間管理窗口(Workspace),顯示目前內(nèi)存中所有的MATLAB變量的變量名、取值以及類(lèi)型,Goback,1.2.2MATLAB的退出1.利用MATLAB菜單退出單擊File菜單,從中選擇ExitMATLAB。2.使用quit/exit語(yǔ)句退出在指令窗口直接輸入quit/exit即可。3.使用熱鍵退出在MATLAB窗口中同時(shí)按下Ctrl+Q即可。4.單擊窗口可直接退出,1.3.1幫助窗口幫助窗口的起動(dòng)(1)通過(guò)“help”菜單(2)單擊工具欄上的問(wèn)號(hào)按鈕(3)在命令窗口中執(zhí)行helpwin、helpdesk或doc2.幫助窗口的內(nèi)容幫助主題(Contents)幫助索引(Index)幫助查詢(xún)(Search)聯(lián)機(jī)演示(Demos),1.3MATLAB幫助系統(tǒng),1.3.2命令窗口查詢(xún)幫助,2.lookfor+關(guān)鍵字,1.help+函數(shù)名,例:helpsin,通過(guò)完整的或部分關(guān)鍵字來(lái)搜索要查找的內(nèi)容,lookforsin尋找與正弦相關(guān)的所有指令,第2章MATLAB的基本使用方法基本概念基本運(yùn)算MATLAB的數(shù)據(jù)類(lèi)型常用函數(shù)標(biāo)點(diǎn)符號(hào)的使用常用操作命令和鍵盤(pán)技巧,2.1基本概念在MATLAB中,經(jīng)常用到標(biāo)量、向量、矩陣和數(shù)組的概念。無(wú)論在MATLAB中變量賦何值,在內(nèi)存中均以矩陣的形式存在。標(biāo)量:是11矩陣,即只含有一個(gè)數(shù)的矩陣向量:是1n或n1的矩陣,即只有一行或一列的矩陣矩陣:是一個(gè)矩形數(shù)組,即二維數(shù)組,其中向量和標(biāo)量都是矩陣的特例,00矩陣為空矩陣數(shù)組:有序數(shù)據(jù)的集合,為矩陣的延伸,其中矩陣和向量都是數(shù)組的特例,2.2基本運(yùn)算MATLAB最主要的功能便是數(shù)值計(jì)算,主要有以下基本運(yùn)算符號(hào):,1、MATLAB的求值次序:(1)算式從左到右執(zhí)行;(2)乘方的優(yōu)先級(jí)最高,乘、除次之,最后是加減,括號(hào)的優(yōu)先級(jí)別最高;(3)在有多層括號(hào)的情況下,從括號(hào)的最里面到最外面逐漸擴(kuò)展。,2、MATLAB語(yǔ)句有兩種常見(jiàn)的形式:(1)表達(dá)式,1+2,ans=3,(2)變量=表達(dá)式,在第一種情況下,計(jì)算結(jié)果自動(dòng)賦給名為ans(answer)的變量;在第二種情況下,結(jié)果自動(dòng)賦給等號(hào)左邊的變量,“=”代表的是賦值操作。,a=1+2,a=3,一個(gè)命令行輸入一條命令,命令行以回車(chē)結(jié)束,a=2,一個(gè)命令行也可以輸入若干條命令,各命令之間以逗號(hào)或分號(hào)分隔。,a=2,b=3;,a=2;b=3;,a=2,a=2,2.3MATLAB的數(shù)據(jù)類(lèi)型1.常量在MATLAB中有一些特定的變量,已被預(yù)定義某個(gè)特定的值,因此這些變量被稱(chēng)為常量。,2.變量在程序執(zhí)行過(guò)程中其值可以變化的量為變量,變量在計(jì)算機(jī)中占有一定的存儲(chǔ)單元,在該單元內(nèi)存放該變量的值。一個(gè)變量應(yīng)該有一個(gè)名字,稱(chēng)之為變量名。變量的命名規(guī)則:(1)MATLAB不需對(duì)變量進(jìn)行事先說(shuō)明及指定類(lèi)型;(2)變量名必須以英文字母開(kāi)頭,可以包含字母、數(shù)字和下劃線,但不得出現(xiàn)空格和標(biāo)點(diǎn)符號(hào);(3)變量名最多可包含63個(gè)字符;(4)變量名區(qū)分大小寫(xiě);(5)關(guān)鍵字不能作為變量名。,與變量相關(guān)的指令:(1)who和whoswho和whos都用來(lái)列出matlab工作區(qū)中已駐留的變量清單,而whos還可以列出變量的維數(shù)和性質(zhì)。例:whoYourvariablesare:abwhosNameSizeBytesClassa1x8016408doublearrayb1x8016408doublearrayGrandtotalis1602elementsusing12816bytes,注意:常量用who指令是查看不到的,只可隨時(shí)調(diào)用,(2)clearclear用來(lái)清除工作空間中定義過(guò)的所有變量或部分變量。如果只要去除其中某幾個(gè)變量,應(yīng)在clear后面指明要?jiǎng)h除的變量名稱(chēng)。,a=1,b=2,a=1b=2,?Undefinedfunctionorvariablea.,cleara,a,b,b=2,永久變量可以修改,通過(guò)clear可以恢復(fù)原值。,pi=2,例:,pi=2,clear,pi,ans=3.1416,3.復(fù)數(shù)MATLAB的每一個(gè)元素都可以是復(fù)數(shù),實(shí)數(shù)是復(fù)數(shù)的特例。MATLAB語(yǔ)言對(duì)復(fù)數(shù)的處理十分簡(jiǎn)單,在處理復(fù)數(shù)問(wèn)題時(shí),不需進(jìn)行其他任何附加操作。定義復(fù)數(shù)格式如下:z=a+bi或z=a+bjz=a+b*i或z=a+b*j,a=2+3ia=2.0000+3.0000ia=2+3ja=2.0000+3.0000ib=2+3*ib=2.0000+3.0000ib=2+3*jb=2.0000+3.0000i,a=2a=2b=3b=3c=a+bi,注意:只有數(shù)字才可以與i、j直接相連,表達(dá)式或矩陣則不可以,應(yīng)用*.,?Undefinedfunctionorvariablebi.,4.數(shù)據(jù)的輸出格式在MATLAB系統(tǒng)中,數(shù)據(jù)的存儲(chǔ)和計(jì)算都是以雙精度進(jìn)行的,但是用戶可以改變屏幕上顯示的格式,所用指令為format。,1、short:,顯示小數(shù)點(diǎn)后4位數(shù)字,0.0013,0.0013333333333333333,2、long:,顯示15位數(shù)字。,如果數(shù)值為整數(shù),則按原數(shù)顯示,0.00133333333333,(缺省設(shè)置),3、shorte:,對(duì)非整數(shù)值都按e方式顯示,顯示5位有效數(shù)字。如果數(shù)值為整數(shù),則按原數(shù)顯示,1.3333e-003,0.0013333333333333333,4、longe:,對(duì)非整數(shù)值都按e方式顯示,顯示15位有效數(shù)字。,1.33333333333333e-003,0.0013333333333333333,如果數(shù)值為整數(shù),則按原數(shù)顯示,5、shortg:,從short和shorte中自動(dòng)選擇最佳記述方式,0.0013333333333333333,6、longg:,0.00133333333333,從long和longe中自動(dòng)選擇最佳記述方式,0.0013333,7、hex:,十六進(jìn)制表示,3ff555555555555,0.0013333333333333333,8、+,+,正、負(fù)、零分別用+、-、空格表示,顯示大矩陣用,9、bank:,0.00,10、rat:,1/750,0.0013333333333333333,輸出格式的控制,file,法一:,Preferences,CommandWindow,法二:,format命令,formatshorte,例:,NumericFormat,2.4MATLAB的常用函數(shù)MATLAB提供了豐富的函數(shù),只要正確調(diào)用,便可獲得正確結(jié)果。,1、三角函數(shù),2、指數(shù)運(yùn)算函數(shù),3、復(fù)數(shù)運(yùn)算函數(shù),4、取整和求余函數(shù),sin,三角函數(shù),sinh,asin,cos,cosh,acos,tan,atan,cot,acot,sec,csc,注意:,小寫(xiě)!,函數(shù)應(yīng)該出現(xiàn)在等式的右邊。,后面表達(dá)式寫(xiě)在()里,例sin(x),其他對(duì)它的運(yùn)算和數(shù)學(xué)一樣。,三角函數(shù)以弧度為單位計(jì)算。,sin(1)表示的不是sin1而是sin57.28578,例如:,指數(shù)運(yùn)算函數(shù),exp,log,log10,log2,power(pow2),sqrt,設(shè)a=5.67,b=7.8,求,exp(a+b)/log10(a+b),ans=6.2677e+005,a=5.67;b=7.8;,例1:,log(b-a)ans=0.7561,例2:已知a=3,b=4;求:,power(a,b),a=3;b=4;,或者ab,ans=81,abs,復(fù)數(shù)運(yùn)算函數(shù),angle,real,imag,conj,complex,構(gòu)造復(fù)數(shù),角度(弧度),模,實(shí)部,虛部,共軛,ans=1.1071,x=1+2i;,abs(x),ans=2.2361,angle(x),例:,ans=1,ans=2,real(x),imag(x),y=2.0000+3.0000i,ans=1.0000-2.0000i,conj(x),y=complex(2,3),fix(舍小留整),取整求余函數(shù),round(四舍五入),floor(向下取整),ceil(向上取整),mod,rem,sign,ceil(x),x=-9.8;,fix(x),ans=-9,round(x),ans=-10,floor(x),ans=-10,ans=-9,ans=1,x=9;y=2;,rem(x,y),mod(x,y),ans=1,ans=1,x=9;y=-2;,mod(x,y),ans=-1,rem(x,y),ans=-1,ans=1,mod(-9,2),rem(-9,2),rem(x,y)和mod(x,y)要求x,y必須為相同大小的實(shí)矩陣或同為標(biāo)量,注意:,sign(0),sign(9),ans=-1,ans=1,ans=0,sign(-9),例:計(jì)算下式的結(jié)果,其中x=-3.5,y=6.7。,x=-3.5*pi/180;y=6.7*pi/180;sin(abs(x)+abs(y)/sqrt(cos(abs(x+y)ans=0.1772,2.5MATLAB的標(biāo)點(diǎn)符號(hào),1、空格:數(shù)組行元素以及輸入變量之間的分隔符,a=123456,a=123;456,2、逗號(hào)(,),用于要顯示計(jì)算結(jié)果的命令與其它命令之間的分隔符,a=1,b=2,用于數(shù)組行元素之間的分隔符,a=123456,a=1,2,3;4,5,6,3、點(diǎn)號(hào)(.),用于數(shù)值中的小數(shù)點(diǎn),2.56,4、分號(hào)(;),用于不顯示計(jì)算結(jié)果命令行的結(jié)尾,a=2;,用于不顯示計(jì)算結(jié)果命令與其它命令之間的分隔符,a=1;b=2,用于矩陣元素行之間的分隔符,a=123;456,5、冒號(hào)(:),用于生成等間隔的向量,a=1:1:4,a=1:4,用作矩陣的下標(biāo),部分地選擇矩陣元素,A=123456,ans=36,A(:,3),6、百分號(hào)(%),注釋符,x=1:0.1:10;%給出自變量x的定義域,7、單引號(hào)(),用于括住字符串,a=1+2,a=1+2,8、方括號(hào)(),用于構(gòu)成向量和矩陣,A=1,2,3;4,5,6,9、續(xù)行號(hào)(),表示一行未完,在下一行繼續(xù)輸入,s=1-1/2+1/3-1/4+1/5-1/6+1/7-1/8+1/9-1/10,2.6常用操作命令和鍵盤(pán)技巧在使用MATLAB編制程序時(shí),掌握一些常用的操作命令和鍵盤(pán)操作技巧,可以起到事半功倍的效果。,第3章MATLAB的數(shù)值計(jì)算矩陣的構(gòu)建矩陣元素矩陣運(yùn)算矩陣的關(guān)系運(yùn)算和邏輯運(yùn)算多項(xiàng)式運(yùn)算,3.1矩陣的構(gòu)建3.1.1直接輸入法創(chuàng)建矩陣最簡(jiǎn)單的方法就是直接輸入矩陣元素,輸入格式有以下的要求:1.整個(gè)矩陣以“”作為首尾;2.每行中的元素用“,”或空格分隔;3.行與行之間用分號(hào)“;”或回車(chē)鍵分隔;4.矩陣中的元素可以是數(shù)字或者表達(dá)式;5.如果矩陣中沒(méi)有元素,這樣的矩陣稱(chēng)為空陣(EmptyMatrix)。,注意:MATLAB中所有的矩陣事先都不必定義維數(shù)大小,系統(tǒng)會(huì)根據(jù)用戶的輸入自動(dòng)配置,并在運(yùn)算中自動(dòng)調(diào)整矩陣的維數(shù)。,a=123;456;789a=123456789,b=1sin(pi/6)sqrt(9)3+560b=1.00000.50003.00008.00006.00000,a=1+5i2+6i;3+7i4+8i,或a=12;34+i*56;78,3.1.2利用內(nèi)部函數(shù)產(chǎn)生矩陣?yán)脙?nèi)部函數(shù)可以很容易產(chǎn)生一些常見(jiàn)的特殊矩陣,常用函數(shù)如下:,說(shuō)明:當(dāng)eye、zeros、ones、rand、randn函數(shù)只有一個(gè)參數(shù)n時(shí),則產(chǎn)生nn的方陣。,eye(3)ans=100010001,eye(3,4)ans=100001000010,zeros(3)ans=000000000,ones(3,4)ans=111111111111,a=magic(3)a=816357492,diag(a)ans=852,x=ones(3)x=111111111,tril(x)ans=100110111,triu(x)ans=111011001,tril:產(chǎn)生下三角矩陣triu:產(chǎn)生上三角矩陣,3.1.3數(shù)組的構(gòu)建在MATLAB中數(shù)組可以看作行向量,即只有一行的矩陣,MATLAB創(chuàng)建數(shù)組可用以下特殊命令:1.冒號(hào)生成法(初值:步長(zhǎng):終值)0:0.4:2ans=00.40000.80001.20001.60002.0000步長(zhǎng)若省略,默認(rèn)間隔1,0:0.3:1.3ans=00.30000.60000.90001.2000,初值=0,終值=2,步長(zhǎng)=0.4,a=1:4;b=1:2:7;c=a;b%利用向量生成矩陣c=12341357d=a910%在a的基礎(chǔ)上擴(kuò)展d=1234910,注意:a,b的長(zhǎng)度一樣!,2.linspace函數(shù)linspace(a,b,n)差值=(b-a)/(n-1)a=linspace(0,1,4)a=00.33330.66671.0000初值=0,終值=1,元素個(gè)數(shù)=43.logspace函數(shù)logspace(a,b,n)公比=10(b-a)/(n-1)logspace(0,2,5)ans=1.00003.162310.000031.6228100.0000初值=100,終值=102,元素個(gè)數(shù)=5,公比=100.5,3.2矩陣的元素3.2.1矩陣元素的下標(biāo)表示1.全下標(biāo)表示一個(gè)mn矩陣A的第i行,第j列元素表示為A(i,j),即由行下標(biāo)和列下標(biāo)表示,行列數(shù)從1開(kāi)始。注意:當(dāng)給元素賦值時(shí),如果超出矩陣范圍,則自動(dòng)擴(kuò)充矩陣;當(dāng)取值時(shí),若超出矩陣范圍,則提示錯(cuò)誤。,a=12;34;a(1,2)=9;a(2,3)=8;,a(2,4)?Indexexceedsmatrixdimensions.,aa=190348,2.單下標(biāo)表示將矩陣的所有列按從左到右的順序接成“一維長(zhǎng)列”,然后對(duì)元素進(jìn)行編號(hào)。一個(gè)mn矩陣A的元素A(i,j)對(duì)應(yīng)的下標(biāo)為(j-1)*m+i。,a=123;456;a(1,2)ans=2a(3)ans=2,a(5)=10a=1210456,3.2.2子矩陣1.全下標(biāo)表示(1)a(ij,kl):行數(shù)為i、j,列數(shù)為k、l的元素構(gòu)成子矩陣;(2)a(i:j,k:l):取行數(shù)為ij,列數(shù)為kl的元素構(gòu)成的子矩陣(3)a(i:j,:):取行數(shù)為ij,所有列的元素構(gòu)成的子矩陣(4)a(end,k:j):取行數(shù)最大值,列數(shù)為kj的元素構(gòu)成的子矩陣2.單下標(biāo)表示a(ij;kl):取單下標(biāo)為i、j、k、l的元素構(gòu)成子矩陣。,a=magic(5)a=17241815235714164613202210121921311182529a(12,34)ans=18714a(1:2,3:5)ans=181571416,a(1:2,:)ans=1724181523571416a(end,1:2)ans=1118a(13;45)ans=1741011,3.2.3矩陣元素的刪除刪除矩陣元素可以簡(jiǎn)單的將該元素賦值為空矩陣(用表示)。,a=rand(3,4)a=0.89130.01850.61540.73820.76210.82140.79190.17630.45650.44470.92180.4057a(2)=a=Columns1through80.89130.45650.01850.82140.44470.61540.79190.9218Columns9through110.73820.17630.4057,3.2.4矩陣元素的數(shù)量1.numel函數(shù)n=numel(a):計(jì)算矩陣a中元素的總數(shù)2.size函數(shù)d=size(a):d=mn,m為a的行數(shù),n為a的列數(shù)mn=size(a):m為a的行數(shù),n為a的列數(shù)m=size(a,dim):m為矩陣a的第dim維的大小,a=rand(2,3)a=0.28440.06480.58280.46920.98830.4235,d=size(a)d=23m=size(a,2)m=3,numel(a)ans=6,3.3矩陣與數(shù)組運(yùn)算,MATLAB算術(shù)運(yùn)算,矩陣算術(shù)運(yùn)算,數(shù)組算術(shù)運(yùn)算,矩陣算術(shù)運(yùn)算:按照線性代數(shù)運(yùn)算法則定義數(shù)組算術(shù)運(yùn)算:按照元素逐個(gè)執(zhí)行,3.3.1矩陣的運(yùn)算+加法-減法*乘法冪左除/右除轉(zhuǎn)置1.矩陣的加減法矩陣的加減法是對(duì)應(yīng)元素的加減法,只有當(dāng)兩個(gè)矩陣維數(shù)相同或者其中一個(gè)為標(biāo)量時(shí),才可以進(jìn)行加減法運(yùn)算。,a=12;34;b=56;78;a+bans=681012,3+aans=4567b-3ans=2345,2.矩陣的乘法矩陣的乘法使用“*”運(yùn)算符,兩個(gè)矩陣要相乘,只有當(dāng)前一矩陣的列數(shù)與后一矩陣行數(shù)相等或者其中一個(gè)為標(biāo)量時(shí)才能進(jìn)行。,a=12;34;b=567;8910;a*bans=212427475461,b*a?Errorusing=*Innermatrixdimensionsmustagree.3*aans=36912,3.矩陣的除法矩陣的除法有左除和右除兩種,分別用“”和“/”表示。通常矩陣除法可以用來(lái)求未知矩陣。若A*X=B,則X=AB若X*A=B,則X=B/A,注意:若A、B都為矩陣時(shí),這兩個(gè)結(jié)果是不同的,即ABB/A。若A、B中有一個(gè)為標(biāo)量,設(shè)A為標(biāo)量,則這兩個(gè)結(jié)果是相同的,即AB=B/A。,a=12;34;b=56;89;c=a*bc=21244754,c/aans=-69-1320,acans=5.00006.00008.00009.0000,a=2;,c=a*b,acans=5689,c/aans=5689,c=10121618,例:求解以下方程,A=132;223;311A=132223311B=1;10;7B=1107,ABans=2-34,4.矩陣的乘方矩陣的乘方使用“”運(yùn)算符,如AP,當(dāng)P為整數(shù)時(shí),該指令運(yùn)算結(jié)果可做如下解釋?zhuān)海?)當(dāng)P0,表示方陣A直接自乘P次;(2)當(dāng)Pa=12;34a=1234a2ans=7101522,a0ans=1001a(-2)ans=5.5000-2.5000-3.75001.7500,5.矩陣的轉(zhuǎn)置矩陣的轉(zhuǎn)置使用“”運(yùn)算符,矩陣的轉(zhuǎn)置就是將第i行第j列的元素和第j行第i列的元素進(jìn)行互換。對(duì)于有復(fù)數(shù)元素的矩陣A,A為共軛轉(zhuǎn)置,A.為非共軛轉(zhuǎn)置。,a=12;34a=1234aans=1324,a=1+i2+i;3+i4+i;aans=1.0000-1.0000i3.0000-1.0000i2.0000-1.0000i4.0000-1.0000ia.ans=1.0000+1.0000i3.0000+1.0000i2.0000+1.0000i4.0000+1.0000i,6.矩陣的逆在MATLAB中,使用函數(shù)inv計(jì)算矩陣的逆矩陣。A是可逆矩陣的充分必要條件是|A|0,即可逆矩陣是非奇異方陣。,a=magic(3)a=816357492inv(a)ans=0.1472-0.14440.0639-0.06110.02220.1056-0.01940.1889-0.1028,a*inv(a)ans=1.00000.0000-0.0000-0.00001.00000.00000.00000.00001.0000a(-2)ans=0.0293-0.0124-0.0124-0.01240.0293-0.0124-0.0124-0.01240.0293inv(a2)ans=0.0293-0.0124-0.0124-0.01240.0293-0.0124-0.0124-0.01240.0293,7.方陣的行列式在MATLAB中,求方陣的行列式的函數(shù)是det,用法:det(a)。a=magic(3)a=816357492det(a)ans=-360,8.矩陣的特征值如果AX=X存在非零解向量,則稱(chēng)為A的一個(gè)特征值,相應(yīng)的非零解向量X稱(chēng)為與相對(duì)應(yīng)的特征向量。在MATLAB中,以函數(shù)eig計(jì)算矩陣的特征值。用法一:eig(a),把它的特征值以列向量的形式顯示出來(lái)。用法二:v,d=eig(a),v為特征向量,,G=120;25-1;410-1;eig(G)ans=3.73210.26791.0000,v,d=eig(G),v=-0.2440-0.91070.4472-0.33330.3333-0.0000-0.9107-0.24400.8944,d=3.73210000.26790001.0000,9.矩陣的特征多項(xiàng)式設(shè)A為n階方陣,如果和n維非零列向量X使關(guān)系式AX=X成立,那么(A-E)X=0稱(chēng)為矩陣A的特征方程,|A-E|稱(chēng)為方陣A的特征多項(xiàng)式。在MATLAB中,以函數(shù)poly計(jì)算矩陣的特征多項(xiàng)式。,a=-211;020;-413;poly(a)ans=1-304poly2sym(poly(a)%把系數(shù)矩陣轉(zhuǎn)為符號(hào)表達(dá)式ans=x3-3*x2+4,10.矩陣的秩設(shè)在矩陣A中存在一個(gè)不等于0的r階子式D,且所有(r+1)階子式全為0,那么稱(chēng)D為方陣A的最高階非零子式,r為矩陣A的秩。在MATLAB中,以函數(shù)rank計(jì)算矩陣的秩。,a=magic(4)a=16231351110897612414151,rank(a)ans=3det(a)ans=0,3.3.2數(shù)組的運(yùn)算數(shù)組運(yùn)算符與矩陣運(yùn)算符的區(qū)別便是多一個(gè)小黑點(diǎn)。.+加法.-減法.*乘法.冪.左除./右除.轉(zhuǎn)置數(shù)組的運(yùn)算操作都是對(duì)元素逐個(gè)進(jìn)行的。,a=ones(3);b=magic(3)b=816357492a*bans=151515151515151515,a.*bans=816357492b2ans=916767679167676791,b.2ans=641369254916814,a=123;b=456;a.*bans=41018a.2ans=149a.bans=4.00002.50002.0000,a=1+j2+j3+ja=1.0000+1.0000i2.0000+1.0000i3.0000+1.0000ia.ans=1.0000+1.0000i2.0000+1.0000i3.0000+1.0000i,3.4矩陣關(guān)系運(yùn)算與邏輯運(yùn)算說(shuō)明:(1)表達(dá)式輸入:非0“邏輯真”,0“邏輯假”(2)表達(dá)式輸出:1“邏輯真”,0“邏輯假”3.4.1關(guān)系運(yùn)算,兩個(gè)維數(shù)相同的矩陣進(jìn)行比較:相對(duì)應(yīng)元素進(jìn)行比較,結(jié)果為一個(gè)同維數(shù)矩陣;矩陣和標(biāo)量進(jìn)行比較:標(biāo)量和矩陣中的每一個(gè)元素進(jìn)行比較,結(jié)果為同維數(shù)矩陣。,關(guān)系操作符,a=12;34;b=13;44;aabans=0000a=bans=1001,a=2ans=0100a=僅比較實(shí)部,而=、=同時(shí)比較實(shí)部和虛部。,3.4.2邏輯運(yùn)算如果A和B是維數(shù)相同的矩陣,或者其中一個(gè)是標(biāo)量,則可以對(duì)矩陣進(jìn)行邏輯運(yùn)算。,a=0101;b=0110;and(a,b)ans=0100ay=3;z=2;X=ones(3);Y=magic(3)Y=816357492Z=zeros(3);a=x2*(X+Y)+za=2275217710215220212725277,b=Ym=max(x)m=8m,n=max(x)m=8n=5x=351;946;max(x)ans=956m,n=max(x),m=956n=212m,n=max(x,1)m=956n=212m,n=max(x,2)m=59n=21,4、2個(gè)向量或矩陣對(duì)應(yīng)元素的比較,y=max(a,b),注意:若a、b(維數(shù)相同)都為矩陣,則對(duì)應(yīng)元素分別進(jìn)行比較,返回一個(gè)最大值,結(jié)果為一個(gè)同維數(shù)矩陣;若其中一個(gè)為標(biāo)量,則矩陣中每一個(gè)位置的元素和該標(biāo)量進(jìn)行比較,返回一個(gè)最大值,結(jié)果為同維數(shù)矩陣。,a=5630;3721;2918a=563037212918b=ones(3,4)*4b=444444444444,y=max(a,b),y=564447444948,y=max(a,4),y=564447444948,3.6.2查取最小值(min)min函數(shù)用來(lái)求取數(shù)據(jù)序列中的最小值,使用方法和max函數(shù)相同。3.6.3求中值(median)1.Y=median(X):返回矩陣X各列元素的中值賦予行向量Y;若X為向量,Y為標(biāo)量。2.Y=median(X,dim):將數(shù)組X的第dim維方向的元素求其中值賦予向量Y;若dim=1,按列操作(默認(rèn)),若dim=2,按行操作。,x=351;946;243x=351946243,median(x,2)ans=363,a=12342;median(a),ans=2,a=5630;1429;2918;3947;median(a),ans=2.50007.50002.50007.5000,median(x)ans=343,3.6.4求平均值(mean)1.Y=mean(X):返回矩陣X各列元素的平均值賦予行向量Y;若X為向量,Y為標(biāo)量。2.Y=mean(X,dim):將數(shù)組X的第dim維方向的元素的平均值賦予向量Y;若dim=1,按列操作(默認(rèn)),若dim=2,按行操作。,a=123;456a=123456mean(a)ans=2.50003.50004.5000,mean(a,2)ans=25,3.6.5求和(sum)1.Y=sum(X):返回矩陣X各列元素的和賦予行向量Y;若X為向量,Y為標(biāo)量。2.Y=sum(X,dim):將數(shù)組X的第dim維方向的元素的和賦予向量Y;若dim=1,按列操作(默認(rèn)),若dim=2,按行操作。x=351;946;sum(x)ans=1297sum(ans)ans=28,sum(x,1)ans=1297sum(x,2)ans=919,3.6.6求積(prod)1.Y=prod(X):返回矩陣X各列元素的積賦予行向量Y;若X為向量,Y為標(biāo)量。2.Y=prod(X,dim):將數(shù)組X的第dim維方向的元素的積賦予向量Y;若dim=1,按列操作(默認(rèn)),若dim=2,按行操作。,a=123;456a=123456prod(a)ans=41018,prod(a,2)ans=6120,3.6.7排序(sort)1.Y=sort(X):將矩陣X的各列元素升序排列。2.Y=sort(X,dim):將矩陣X的第dim維元素升序排列;若dim=1,按列操作(默認(rèn)),若dim=2,按行操作。3.Y=sort(X,dim,mode):按照mode模式對(duì)矩陣X進(jìn)行排列,若mode為ascend表示升序排列,若mode為descend表示降序排列。,x=375;683;042;sort(x)ans=042373685sort(x,2)ans=357368024,sort(x,2,descend)ans=753863420,3.7多項(xiàng)式運(yùn)算多項(xiàng)式是形如p(x)=a0 xn+a1xn-1+an-1x+an的式子,在MATLAB中,多項(xiàng)式用行向量表示P=a0a1an-1an。3.7.1多項(xiàng)式的創(chuàng)建1.直接輸入系數(shù)直接輸入向量,MATLAB將按降冪自動(dòng)將向量的元素分配給多項(xiàng)式各項(xiàng)的系數(shù),該向量可以是行向量或列向量。,P=3501012;y=poly2sym(P)y=3*x5+5*x4+x2+12,2.由多項(xiàng)式的根逆推多項(xiàng)式若已知某多項(xiàng)式的根,可用poly函數(shù)反推出與其相對(duì)應(yīng)的多項(xiàng)式。,roots=12;p=poly(roots)p=1-32poly2sym(p)ans=x2-3*x+2,3.7.2多項(xiàng)式的運(yùn)算1.多項(xiàng)式的求值(1)代數(shù)多項(xiàng)式求值:polyval函數(shù)Y=polyval(P,X)計(jì)算向量P為系數(shù)的多項(xiàng)式在點(diǎn)X的值,如果X是矩陣或者向量,該命令對(duì)X的每個(gè)元素都進(jìn)行計(jì)算。(2)矩陣多項(xiàng)式求值:polyvalm函數(shù)Y=polyvalm(P,X)計(jì)算向量P為系數(shù)的多項(xiàng)式在矩陣X的值,X必須為方陣。Y=P(1)Xn+P(2)Xn-1+P(N)X+P(N+1)I,p=123;poly2sym(p)ans=x2+2*x+3polyval(p,2)ans=11a=12;34;polyval(p,a)ans=6111827,polyvalm(p,a)ans=12142133b=123;456;polyvalm(p,b)?Errorusing=polyvalmMatrixmustbesquare.,2.多項(xiàng)式的根求多項(xiàng)式的根,即多項(xiàng)式為零的值。設(shè)多項(xiàng)式由行向量p表示,其系數(shù)按降冪排列,使用roots函數(shù)計(jì)算多項(xiàng)式的根,格式為roots(p)。例:計(jì)算多項(xiàng)式x4+3x2+12x-7的根。,p=10312-7p=10312-7roots(p)ans=0.7876+2.4351i0.7876-2.4351i-2.08720.5121,polyval(p,ans)ans=1.0e-013*-0.0178+0.8793i-0.0178-0.8793i0.19540,3.多項(xiàng)式的四則運(yùn)算(1)加法和減法如果兩個(gè)多項(xiàng)式的向量階數(shù)相同,可直接進(jìn)行加減法計(jì)算;如果向量階數(shù)不同,不能直接進(jìn)行運(yùn)算,需要在低階多項(xiàng)式的前面補(bǔ)0,使其具有相同的階數(shù)。,a=8228;b=6161;poly2sym(a)ans=8*x3+2*x2+2*x+8poly2sym(b)ans=6*x3+x2+6*x+1c=a+bc=14389poly2sym(c)ans=14*x3+3*x2+8*x+9d=a-bd=21-47,poly2sym(d)ans=2*x3+x2-4*x+7e=245;d+e?Errorusing=plusMatrixdimensionsmustagree.d+0eans=23012poly2sym(ans)ans=2*x3+3*x2+12,(2)乘法使用conv函數(shù)對(duì)多項(xiàng)式進(jìn)行乘法計(jì)算,其格式為conv(a,b),例:計(jì)算(x3+2x2+3x+4)(5x3+6x2+7x+8)a=1234;b=5678;poly2sym(a)ans=x3+2*x2+3*x+4poly2sym(b)ans=5*x3+6*x2+7*x+8conv(a,b)ans=5163460615232poly2sym(ans)ans=5*x6+16*x5+34*x4+60*x3+61*x2+52*x+32,(3)除法使用deconv函數(shù)對(duì)多項(xiàng)式進(jìn)行除法計(jì)算。q,r=deconv(v,u):用多項(xiàng)式v除以多項(xiàng)式u,商賦予q,余數(shù)賦予r。deconv是conv的逆運(yùn)算,v=conv(u,q)+r。,a=1234;b=5678;c=conv(a,b);q,r=deconv(c,a)q=5678r=0000000c=c+0004321;q,r=deconv(c,a)q=56712r=0000-5-10-15,(4)求導(dǎo)polyderpolyder(P):對(duì)多項(xiàng)式P求導(dǎo),并返回求導(dǎo)結(jié)果polyder(P,Q):相當(dāng)于polyder(P*Q)p,q=polyder(P,Q)求P/Q的導(dǎo)數(shù),導(dǎo)數(shù)的分子存入p,分母存入q。,例:計(jì)算多項(xiàng)式(3x2-2x+1)(4x2+5x+6)的導(dǎo)數(shù)a=3-21;b=456;polyder(a,b)ans=482124-7所以所求結(jié)果為:48x3+21x2+24x-7,例:計(jì)算有理分式1/(x2+5)的導(dǎo)數(shù)a=1;b=105;p,q=polyder(a,b)p=-20q=1010025所以結(jié)果為:-2x/(x4+10 x2+25),(5)多項(xiàng)式積分polyintpolyint(p,k):表示對(duì)多項(xiàng)式p求積分,常數(shù)項(xiàng)為k(默認(rèn)值為0)。,例:計(jì)算,a=3-21;polyint(a)ans=1-110polyint(a,3)ans=1-113所以,計(jì)算結(jié)果為x3-x2+x+k。,第4章MATLAB的符號(hào)計(jì)算符號(hào)計(jì)算基礎(chǔ)符號(hào)微積分符號(hào)積分變換符號(hào)表達(dá)式的操作符號(hào)方程的求解,4.1符號(hào)計(jì)算基礎(chǔ)4.1.1定義符號(hào)常量符號(hào)常量是不含變量的符號(hào)表達(dá)式,通常用sym函數(shù)創(chuàng)建符號(hào)常量。f=sym(常量)sym命令也可以把數(shù)值轉(zhuǎn)換為某種格式的符號(hào)常量。sym(常量,參數(shù))參數(shù):d:返回最接近的十進(jìn)制浮點(diǎn)精確表示;e:返回最接近的帶誤差估計(jì)的有理表示;f:返回十六進(jìn)制浮點(diǎn)表示;r:返回該符號(hào)值最接近的有理表示,缺省設(shè)置,可表示為p/q、p*q、10q、pi/q、2q、sqrt(p)形式之一。,3*sin(3)+pi/2ans=1.9942sym(3*sin(3)+pi/2)ans=3*sin(3)+pi/2sym(3*sin(3)+pi/2)ans=8980881799167258*2(-52)sym(3*sin(3)+pi/2,d)ans=1.9941563509744981708138311660150,sqrt(2)ans=1.4142a=sqrt(sym(2)a=2(1/2)double(a)ans=1.41422/5+1/3ans=0.7333sym(2)/sym(5)+sym(1)/sym(3)ans=11/15,asin(1)ans=1.5708sym(asin(1)ans=pi/2,4.1.2定義符號(hào)變量1.sym函數(shù)arg=sym(arg,參數(shù))說(shuō)明:參數(shù)可以取以下選項(xiàng)positive:限定arg為“正、實(shí)”符號(hào)變量real:限定arg為“實(shí)”符號(hào)變量unreal:限定arg為“非實(shí)”符號(hào)變量例:已知一復(fù)數(shù)表達(dá)式z=x+i*y,試求其實(shí)部。,x=sym(x,real);y=sym(y,real);z=x+i*y;real(z)ans=x,x=sym(x,unreal);real(z)ans=1/2*x+1/2*conj(x),2.syms函數(shù)syms函數(shù)的功能與sym函數(shù)的功能相似。syms函數(shù)可以在一個(gè)語(yǔ)句中同時(shí)定義多個(gè)符號(hào)變量,格式為:syms(arg1,arg2,參數(shù))symsarg1arg2參數(shù),symsabreal(a+b*j)ans=1/2*a+1/2*i*b+1/2*conj(a+i*b),symsxyrealz=x+i*y;real(z)ans=xsymsxunrealreal(z)ans=1/2*x+1/2*conj(x),4.1.3定義符號(hào)表達(dá)式符號(hào)表達(dá)式由符號(hào)變量、函數(shù)、算數(shù)運(yùn)算符等組成。符號(hào)表達(dá)式的定義有以下三種方法:1.單引號(hào)創(chuàng)建符號(hào)表達(dá)式f=exp(x)%創(chuàng)建符號(hào)函數(shù)f=exp(x)f=a*x3+b*x2+c=0%創(chuàng)建符號(hào)代數(shù)方程f=a*x3+b*x2+c=0,3.用syms函數(shù)創(chuàng)建符號(hào)表達(dá)式syms函數(shù)只能生成符號(hào)函數(shù),不能生成符號(hào)方程。,symsxyu;%預(yù)定義符號(hào)變量f=exp(x*y/u)%創(chuàng)建符號(hào)函數(shù)f=exp(x*y/u),2.用sym函數(shù)創(chuàng)建符號(hào)表達(dá)式f=sym(a*x3+b*x2+c=0)%創(chuàng)建符號(hào)表達(dá)式f=a*x3+b*x2+c=0,4.1.4默認(rèn)符號(hào)變量在數(shù)學(xué)表達(dá)式中,f=ax2+bx+c,一般習(xí)慣于使用字母表中排在前面的字母作為變量的系數(shù),而用排在后面的字母表示變量。可以用findsym函數(shù)了解函數(shù)引用過(guò)程中使用的變量個(gè)數(shù)以及變量名。格式為:findsym(f,n)說(shuō)明:(1)f為用戶定義的符號(hào)表達(dá)式;(2)n為正整數(shù),表示查詢(xún)變量的個(gè)數(shù);(3)n=i表示查詢(xún)i個(gè)系統(tǒng)默認(rèn)變量,n值省略表示查詢(xún)所有的系統(tǒng)默認(rèn)變量,按字母順序列出。,g=sym(a*x2+b*x+1)g=a*x2+b*x+1findsym(g)ans=a,b,xf=a*x2+b*x+1f=a*x2+b*x+1findsym(f)?Functionfindsymisnotdefinedforvaluesofclasschar.,symvar(f)ans=abx,symvar(g)?Functiongeisnotdefinedforvaluesofclasssym.,g=sym(a*x2+b*x+pi)findsym(g)ans=a,b,x,%屏蔽預(yù)定義變量,當(dāng)字符表達(dá)式中含有多于一個(gè)的變量時(shí),只有一個(gè)變量是獨(dú)立變量。若未告知MATLAB哪一變量是獨(dú)立變量,MATLAB將基于以下規(guī)則選擇一個(gè):(1)缺省的變量是唯一的;(2)若有x,選擇x作為獨(dú)立變量;(3)若無(wú)x,選擇除i和j的小寫(xiě)字母,字母順序中最接近x的字母;若與x的距離相同,則x后面的優(yōu)先;(4)所有小寫(xiě)字母均優(yōu)先于大寫(xiě)字母為獨(dú)立變量。,x,j,t,y,z,t,例1:查詢(xún)符號(hào)函數(shù)f=exp(u*y*t)和g=xn的默認(rèn)變量。,symsntuxy;f=exp(u*y*t);findsym(f,1)ans=y,g=xn;findsym(g,1)ans=x,默認(rèn)自變量=findsym(f,1),1、用字符串直接創(chuàng)建矩陣,A=a,2*b;3*a,0,4.1.5符號(hào)矩陣的創(chuàng)建,A=a,2*b3*a,0,2、用函數(shù)sym創(chuàng)建矩陣,A=sym(),A=sym(a,2*b;3*a,0),A=a,2*b3*a,0,3、用函數(shù)syms創(chuàng)建矩陣,A=,格式:,symsarg1arg2參數(shù),symsab,A=a,2*b;3*a,0,A=a,2*b3*a,0,4、將數(shù)值矩陣轉(zhuǎn)化成符號(hào)矩陣,B=2/3,sqrt(2);5.2,log(3)C=sym(B),能否用sym(B)?,思考?,4.2符號(hào)微積分4.2.1符號(hào)極限limit(1)limit(F,x,a):計(jì)算符號(hào)表達(dá)式當(dāng)xa時(shí),F(xiàn)的極限值;(2)limit(F,a):計(jì)算符號(hào)函數(shù)F的極限值,因未指定F的自變量,用該格式時(shí),變量為findsym確定的默認(rèn)自變量,即默認(rèn)自變量a;(3)limit(F):計(jì)算符號(hào)函數(shù)F的極限值,變量為findsym確定的默認(rèn)變量;在未指定目標(biāo)值時(shí),默認(rèn)變量趨近于0;(4)limit(F,x,a,left)或limit(F,x,a,right):分別計(jì)算函數(shù)F的左極限和右極限。,symsxt;limit(sin(x)/x)ans=1limit(x-2)/(x2-4),2)ans=1/4limit(1+2*t/x)(3*x),x,inf)ans=exp(6*t)limit(1/x,x,0,right)ans=Inflimit(1/x,x,0,left)ans=-Inf,symsxa;v=(1+a/x)xexp(-x)sin(a+x)cos(a+x);limit(v,x,0,left)ans=1,1sin(a),cos(a),f=sin(x)/xf=sin(x)/xlimit(f)?Functionlimitisnotdefinedforvaluesofclasschar.,4.2.2符號(hào)微分diff函數(shù)用于對(duì)符號(hào)表達(dá)式求微分,其格式一般為:diff(f,v,n)(1)diff(f,v,n):表示以v為變量,對(duì)符號(hào)表達(dá)式f求n階微分;(2)diff(f,v)或diff(f,sym(v):表示以v為自變量,對(duì)符號(hào)表達(dá)式f求一階微分。(3)diff(f,n):表示根據(jù)findsym指示的默認(rèn)變量對(duì)符號(hào)表達(dá)式f求n階微分;(4)diff(f):表示沒(méi)有指定微分變量和微分階數(shù),則按findsym指示的默認(rèn)變
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司聯(lián)歡慰問(wèn)活動(dòng)方案
- 公司組織油畫(huà)活動(dòng)方案
- 公司月餅diy活動(dòng)方案
- 公司組織踏青活動(dòng)方案
- 公司蘇州兩日游活動(dòng)方案
- 公司百日安全賽活動(dòng)方案
- 公司網(wǎng)絡(luò)宣傳周活動(dòng)方案
- 2025年戰(zhàn)略管理與籌資行業(yè)考研試題及答案
- 2025年植物學(xué)基礎(chǔ)知識(shí)及應(yīng)用考試卷及答案
- 拓展任務(wù)-火災(zāi)事故的基礎(chǔ)知識(shí)
- 2025-2030進(jìn)口肉類(lèi)市場(chǎng)發(fā)展分析及行業(yè)投資戰(zhàn)略研究報(bào)告
- 智慧醫(yī)院建設(shè)項(xiàng)目實(shí)施方案
- 項(xiàng)目協(xié)作與溝通過(guò)程中的沖突管理試題及答案
- 2025年軌道車(chē)司機(jī)(中級(jí))職業(yè)技能鑒定參考試題庫(kù)(含答案)
- 生物必修1教師用書(shū)
- 2024版壓力容器設(shè)計(jì)審核機(jī)考題庫(kù)-多選3-3
- 慢性阻塞性肺疾病急性加重期合并II型呼吸衰竭個(gè)案護(hù)理
- 路由與交換技術(shù)試題及答案
- (完整版)保安培訓(xùn)課件
- 2025屆上海市(春秋考)高考英語(yǔ)考綱詞匯對(duì)照表清單
- 《外匯交易基礎(chǔ)知識(shí)培訓(xùn)》詳解課件
評(píng)論
0/150
提交評(píng)論