MATLAB在高等數(shù)學(xué)中的應(yīng)用_第1頁
MATLAB在高等數(shù)學(xué)中的應(yīng)用_第2頁
MATLAB在高等數(shù)學(xué)中的應(yīng)用_第3頁
MATLAB在高等數(shù)學(xué)中的應(yīng)用_第4頁
MATLAB在高等數(shù)學(xué)中的應(yīng)用_第5頁
已閱讀5頁,還剩78頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第三章 MATLAB在高等數(shù)學(xué)中的應(yīng)用電子信息學(xué)院8/12/2022電子信息學(xué)院3.1矩陣分析3.1.1 對角陣與三角陣1對角陣只有對角線上有非0元素的矩陣稱為對角矩陣,對角線上的元素相等的對角矩陣稱為數(shù)量矩陣,對角線上的元素都為1的對角矩陣稱為單位矩陣。8/12/2022電子信息學(xué)院(1) 提取矩陣的對角線元素設(shè)A為mn矩陣,diag(A)函數(shù)用于提取矩陣A主對角線元素,產(chǎn)生一個(gè)具有min(m,n)個(gè)元素的列向量。diag(A)函數(shù)還有一種形式diag(A,k),其功能是提取第k條對角線的元素。(2) 構(gòu)造對角矩陣設(shè)V為具有m個(gè)元素的向量,diag(V)將產(chǎn)生一個(gè)mm對角矩陣,其主對角線元素

2、即為向量V的元素。diag(V)函數(shù)也有另一種形式diag(V,k),其功能是產(chǎn)生一個(gè)nn(n=m+)對角陣,其第k條對角線的元素即為向量V的元素。8/12/2022電子信息學(xué)院例 先建立55矩陣A,然后將A的第一行元素乘以1,第二行乘以2,第五行乘以5。A=17,0,1,0,15;23,5,7,14,16;4,0,13,0,22;10,12,19,21,3;.11,18,25,2,19;D=diag(1:5);D*A %用D左乘A,對A的每行乘以一個(gè)指定常數(shù)8/12/2022電子信息學(xué)院2三角陣三角陣又進(jìn)一步分為上三角陣和下三角陣,所謂上三角陣,即矩陣的對角線以下的元素全為0的一種矩陣,而下

3、三角陣則是對角線以上的元素全為0的一種矩陣。8/12/2022電子信息學(xué)院上三角矩陣求矩陣A的上三角陣的MATLAB函數(shù)是triu(A)。triu(A)函數(shù)也有另一種形式triu(A,k),其功能是求矩陣A的第k條對角線以上的元素。例如,提取矩陣A的第2條對角線以上的元素,形成新的矩陣B。下三角矩陣在MATLAB中,提取矩陣A的下三角矩陣的函數(shù)是tril(A)和tril(A,k),其用法與提取上三角矩陣的函數(shù)triu(A)和triu(A,k)完全相同。8/12/2022電子信息學(xué)院3.1.2 矩陣的轉(zhuǎn)置與旋轉(zhuǎn)1矩陣的轉(zhuǎn)置轉(zhuǎn)置運(yùn)算符是單撇號(hào)()。2矩陣的旋轉(zhuǎn)利用函數(shù)rot90(A,k)將矩陣A旋

4、轉(zhuǎn)90的k倍,當(dāng)k為1時(shí)可省略。8/12/2022電子信息學(xué)院3矩陣的左右翻轉(zhuǎn)對矩陣實(shí)施左右翻轉(zhuǎn)是將原矩陣的第一列和最后一列調(diào)換,第二列和倒數(shù)第二列調(diào)換,依次類推。MATLAB對矩陣A實(shí)施左右翻轉(zhuǎn)的函數(shù)是fliplr(A)。4矩陣的上下翻轉(zhuǎn)MATLAB對矩陣A實(shí)施上下翻轉(zhuǎn)的函數(shù)是flipud(A)。8/12/2022電子信息學(xué)院3.1.3 矩陣的逆與偽逆1矩陣的逆對于一個(gè)方陣A,如果存在一個(gè)與其同階的方陣B,使得:AB=BA=I (I為單位矩陣)則稱B為A的逆矩陣,當(dāng)然,A也是B的逆矩陣。求一個(gè)矩陣的逆是一件非常煩瑣的工作,容易出錯(cuò),但在MATLAB中,求一個(gè)矩陣的逆非常容易。求方陣A的逆矩陣

5、可調(diào)用函數(shù)inv(A)。例 用求逆矩陣的方法解線性方程組。Ax=b其解為:x=A-1b8/12/2022電子信息學(xué)院2矩陣的偽逆如果矩陣A不是一個(gè)方陣時(shí),矩陣A沒有逆矩陣,但可以找到一個(gè)與A的轉(zhuǎn)置矩陣A同型的矩陣B,使得:ABA=ABAB=B此時(shí)稱矩陣B為矩陣A的偽逆,也稱為廣義逆矩陣。在MATLAB中,求一個(gè)矩陣偽逆的函數(shù)是pinv(A)。8/12/2022電子信息學(xué)院3.1.4 方陣的行列式把一個(gè)方陣看作一個(gè)行列式,并對其按行列式的規(guī)則求值,這個(gè)值就稱為矩陣所對應(yīng)的行列式的值。在MATLAB中,求方陣A所對應(yīng)的行列式的值的函數(shù)是det(A)。8/12/2022電子信息學(xué)院3.1.5 線性方

6、程組求解3.1.5.1 直接解法1利用左除運(yùn)算符的直接解法對于線性方程組Ax=b,可以利用左除運(yùn)算符“”求解: x=Ab例 用直接解法求解下列線性方程組。命令如下:A=2,1,-5,1;1,-5,0,7;0,2,1,-1;1,6,-1,-4;b=13,-9,6,0;x=Ab8/12/2022電子信息學(xué)院3.1.5.2利用矩陣的分解求解線性方程組矩陣分解是指根據(jù)一定的原理用某種算法將一個(gè)矩陣分解成若干個(gè)矩陣的乘積。常見的矩陣分解有LU分解、QR分解、Cholesky分解,以及Schur分解、Hessenberg分解、奇異分解等。8/12/2022電子信息學(xué)院(1) LU分解矩陣的LU分解就是將一

7、個(gè)矩陣表示為一個(gè)交換下三角矩陣和一個(gè)上三角矩陣的乘積形式。線性代數(shù)中已經(jīng)證明,只要方陣A是非奇異的,LU分解總是可以進(jìn)行的。MATLAB提供的lu函數(shù)用于對矩陣進(jìn)行LU分解,其調(diào)用格式為:L,U=lu(X):產(chǎn)生一個(gè)上三角陣U和一個(gè)變換形式的下三角陣L(行交換),使之滿足X=LU。注意,這里的矩陣X必須是方陣。L,U,P=lu(X):產(chǎn)生一個(gè)上三角陣U和一個(gè)下三角陣L以及一個(gè)置換矩陣P,使之滿足PX=LU。當(dāng)然矩陣X同樣必須是方陣。實(shí)現(xiàn)LU分解后,線性方程組Ax=b的解x=U(Lb)或x=U(LPb),這樣可以大大提高運(yùn)算速度。8/12/2022電子信息學(xué)院例用LU分解求解p79例3-5線性方

8、程組。A=6,3,4;-2,5,7;8,-4,-3;b=3,-4,-7;L,U=lu(A);x=U(Lb)或采用LU分解的第2種格式,命令如下:L,U ,P=lu(A);x=U(LP*b)8/12/2022電子信息學(xué)院 (2) QR分解對矩陣X進(jìn)行QR分解,就是把X分解為一個(gè)正交矩陣Q和一個(gè)上三角矩陣R的乘積形式。QR分解只能對方陣進(jìn)行。MATLAB的函數(shù)qr可用于對矩陣進(jìn)行QR分解,其調(diào)用格式為:Q,R=qr(X):產(chǎn)生一個(gè)一個(gè)正交矩陣Q和一個(gè)上三角矩陣R,使之滿足X=QR。Q,R,E=qr(X):產(chǎn)生一個(gè)一個(gè)正交矩陣Q、一個(gè)上三角矩陣R以及一個(gè)置換矩陣E,使之滿足XE=QR。實(shí)現(xiàn)QR分解后

9、,線性方程組Ax=b的解x=R(Qb)或x=E(R(Qb)。8/12/2022電子信息學(xué)院例 用QR分解求解線性方程組。命令如下:A=6,3,4;-2,5,7;8,-4,-3;b=3,-4,-7;Q,R=qr(A);x=R(Qb)或采用QR分解的第2種格式,命令如下:Q,R,E=qr(A);x=E*(R(Qb)8/12/2022電子信息學(xué)院3.1.5.3迭代解法迭代解法非常適合求解大型系數(shù)矩陣的方程組。在數(shù)值分析中,迭代解法主要包括 Jacobi迭代法、Gauss-Serdel迭代法、超松弛迭代法和兩步迭代法。1Jacobi迭代法對于線性方程組Ax=b,如果A為非奇異方陣,則可將A分解為A=D

10、-L-U,其中D為對角陣,其元素為A的對角元素,L與U為A的下三角陣和上三角陣,于是Ax=b化為:x=D-1(L+U)x+D-1b與之對應(yīng)的迭代公式為:x(k+1)=D-1(L+U)x(k)+D-1b這就是Jacobi迭代公式。如果序列x(k+1)收斂于x,則x必是方程Ax=b的解。8/12/2022電子信息學(xué)院Jacobi迭代法的MATLAB函數(shù)文件Jacobi.m如下:function y,n=jacobi(A,b,x0,eps)if nargin=3 eps=1.0e-6;elseif nargin=eps x0=y; y=B*x0+f; n=n+1;end8/12/2022電子信息學(xué)院

11、例 用Jacobi迭代法求解線性方程組。設(shè)迭代初值為0,迭代精度為10-6。在命令中調(diào)用函數(shù)文件Jacobi.m,命令如下:A=10,-1,0;-1,10,-2;0,-2,10;b=9,7,6;x,n=jacobi(A,b,0,0,0,1.0e-6)(設(shè)x1,x2,x3為0,n為迭代的次數(shù))8/12/2022電子信息學(xué)院2Gauss-Serdel迭代法將在Jacobi迭代過程中,原來的迭代公式Dx(k+1)=(L+U)x(k)+b改進(jìn)為 Dx(k+1)=Lx(k+1)+Ux(k)+b,于是得到: x(k+1)=(D-L)-1Ux(k)+(D-L)-1b該式即為Gauss-Serdel迭代公式。

12、和Jacobi迭代相比,Gauss-Serdel迭代用新分量代替舊分量,精度會(huì)高些。8/12/2022電子信息學(xué)院Gauss-Serdel迭代法的MATLAB函數(shù)文件gauseidel.m如下:function y,n=gauseidel(A,b,x0,eps)if nargin=3 eps=1.0e-6;elseif nargin=eps x0=y; y=G*x0+f; n=n+1;end8/12/2022電子信息學(xué)院例 用Gauss-Serdel迭代法求解下列線性方程組。設(shè)迭代初值為0,迭代精度為10-6。在命令中調(diào)用函數(shù)文件gauseidel.m,命令如下:A=10,-1,0;-1,10

13、,-2;0,-2,10;b=9,7,6;x,n=gauseidel(A,b,0,0,0,1.0e-6)8/12/2022電子信息學(xué)院例 分別用Jacobi迭代和Gauss-Serdel迭代法求解下列線性方程組,看是否收斂。命令如下:a=1,2,-2;1,1,1;2,2,1;b=9;7;6;x,n=jacobi(a,b,0;0;0)x,n=gauseidel(a,b,0;0;0)8/12/2022電子信息學(xué)院3.1.6 矩陣的秩與跡1矩陣的秩矩陣線性無關(guān)的行數(shù)與列數(shù)稱為矩陣的秩。在MATLAB中,求矩陣秩的函數(shù)是rank(A)。2矩陣的跡矩陣的跡等于矩陣的對角線元素之和,也等于矩陣的特征值之和。

14、在MATLAB中,求矩陣的跡的函數(shù)是trace(A)。8/12/2022電子信息學(xué)院3.1.7 向量和矩陣的范數(shù)矩陣或向量的范數(shù)用來度量矩陣或向量在某種意義下的長度。范數(shù)有多種方法定義,其定義不同,范數(shù)值也就不同。8/12/2022電子信息學(xué)院1向量的3種常用范數(shù)及其計(jì)算函數(shù)在MATLAB中,求向量范數(shù)的函數(shù)為:(1) norm(V)或norm(V,2):計(jì)算向量V的2范數(shù)。(2) norm(V,1):計(jì)算向量V的1范數(shù)。(3) norm(V,inf):計(jì)算向量V的范數(shù)。2矩陣的范數(shù)及其計(jì)算函數(shù)MATLAB提供了求3種矩陣范數(shù)的函數(shù),其函數(shù)調(diào)用格式與求向量的范數(shù)的函數(shù)完全相同。8/12/202

15、2電子信息學(xué)院3.1.8 矩陣的條件數(shù)在MATLAB中,計(jì)算矩陣A的3種條件數(shù)的函數(shù)是:(1) cond(A,1) 計(jì)算A的1范數(shù)下的條件數(shù)。(2) cond(A)或cond(A,2) 計(jì)算A的2范數(shù)數(shù)下的條件數(shù)。(3) cond(A,inf) 計(jì)算A的 范數(shù)下的條件數(shù)。8/12/2022電子信息學(xué)院3.1.9 矩陣的特征值與特征向量在MATLAB中,計(jì)算矩陣A的特征值和特征向量的函數(shù)是eig(A),常用的調(diào)用格式有2種:(1) E=eig(A):求矩陣A的全部特征值,構(gòu)成向量E。(2) V,D=eig(A):求矩陣A的全部特征值,構(gòu)成對角陣D,并求A的特征向量構(gòu)成V的列向量。8/12/202

16、2電子信息學(xué)院例 用求特征值的方法解方程。3x5-7x4+5x2+2x-18=0p=3,-7,0,5,2,-18;A=compan(p); %A的伴隨矩陣x1=eig(A) %求A的特征值x2=roots(p) %直接求多項(xiàng)式p的零點(diǎn)作業(yè):p120第8、14題8/12/2022電子信息學(xué)院3.2 多項(xiàng)式計(jì)算3.2.1 多項(xiàng)式的四則運(yùn)算1多項(xiàng)式的加減運(yùn)算(詳見課本p87)作業(yè):編寫子函數(shù)可對任意二個(gè)多項(xiàng)式進(jìn)行加減操作.(自動(dòng)補(bǔ)零)2多項(xiàng)式乘法運(yùn)算函數(shù)conv(P1,P2)用于求多項(xiàng)式P1和P2的乘積。這里,P1、P2是兩個(gè)多項(xiàng)式系數(shù)向量。作業(yè):求多項(xiàng)式x4+8x3-10與多項(xiàng)式2x2-x+3的乘

17、積。提高:對多項(xiàng)式進(jìn)行四則運(yùn)算,輸入表達(dá)式而不是向量,能輸出運(yùn)算結(jié)果.8/12/2022電子信息學(xué)院3多項(xiàng)式除法函數(shù)Q,r=deconv(P1,P2)用于對多項(xiàng)式P1和P2作除法運(yùn)算。其中Q返回多項(xiàng)式P1除以P2的商式,r返回P1除以P2的余式。這里,Q和r仍是多項(xiàng)式系數(shù)向量。deconv是conv的逆函數(shù),即有P1=conv(P2,Q)+r。作業(yè): 求多項(xiàng)式x4+8x3-10除以多項(xiàng)式2x2-x+3的結(jié)果。8/12/2022電子信息學(xué)院3.2.2 多項(xiàng)式的導(dǎo)函數(shù)對多項(xiàng)式求導(dǎo)數(shù)的函數(shù)是:p=polyder(P):求多項(xiàng)式P的導(dǎo)函數(shù)p=polyder(P,Q):求PQ的導(dǎo)函數(shù)p,q=polyde

18、r(P,Q):求P/Q的導(dǎo)函數(shù),導(dǎo)函數(shù)的分子存入p,分母存入q。上述函數(shù)中,參數(shù)P,Q是多項(xiàng)式的向量表示,結(jié)果p,q也是多項(xiàng)式的向量表示。8/12/2022電子信息學(xué)院例 求有理分式的導(dǎo)數(shù)。命令如下:P=1;Q=1,0,5;p,q=polyder(P,Q)8/12/2022電子信息學(xué)院3.2.3 多項(xiàng)式的求值MATLAB提供了兩種求多項(xiàng)式值的函數(shù):polyval與polyvalm,它們的輸入?yún)?shù)均為多項(xiàng)式系數(shù)向量P和自變量x。兩者的區(qū)別在于前者是代數(shù)多項(xiàng)式求值,而后者是矩陣多項(xiàng)式求值。8/12/2022電子信息學(xué)院1代數(shù)多項(xiàng)式求值polyval函數(shù)用來求代數(shù)多項(xiàng)式的值,其調(diào)用格式為:Y=pol

19、yval(P,x)若x為一數(shù)值,則求多項(xiàng)式在該點(diǎn)的值;若x為向量或矩陣,則對向量或矩陣中的每個(gè)元素求其多項(xiàng)式的值。作業(yè):已知多項(xiàng)式x4+8x3-10,分別取x=1.2和一個(gè)23矩陣為自變量計(jì)算該多項(xiàng)式的值。8/12/2022電子信息學(xué)院2矩陣多項(xiàng)式求值polyvalm函數(shù)用來求矩陣多項(xiàng)式的值,其調(diào)用格式與polyval相同,但含義不同。polyvalm函數(shù)要求x為方陣,它以方陣為自變量求多項(xiàng)式的值。設(shè)A為方陣,P代表多項(xiàng)式x3-5x2+8,那么polyvalm(P,A)的含義是:A*A*A-5*A*A+8*eye(size(A)而polyval(P,A)的含義是:A.*A.*A-5*A.*A+

20、8*ones(size(A)作業(yè): 仍以多項(xiàng)式x4+8x3-10為例,取一個(gè)22矩陣為自變量分別用polyval和polyvalm計(jì)算該多項(xiàng)式的值。8/12/2022電子信息學(xué)院3.2.4 多項(xiàng)式求根n次多項(xiàng)式具有n個(gè)根,當(dāng)然這些根可能是實(shí)根,也可能含有若干對共軛復(fù)根。MATLAB提供的roots函數(shù)用于求多項(xiàng)式的全部根,其調(diào)用格式為:x=roots(P)其中P為多項(xiàng)式的系數(shù)向量,求得的根賦給向量x,即x(1),x(2),x(n)分別代表多項(xiàng)式的n個(gè)根。8/12/2022電子信息學(xué)院例 求多項(xiàng)式x4+8x3-10的根。命令如下:A=1,8,0,0,-10;x=roots(A)若已知多項(xiàng)式的全部

21、根,則可以用poly函數(shù)建立起該多項(xiàng)式,其調(diào)用格式為:P=poly(x)若x為具有n個(gè)元素的向量,則poly(x)建立以x為其根的多項(xiàng)式,且將該多項(xiàng)式的系數(shù)賦給向量P。8/12/2022電子信息學(xué)院例 已知 f(x)(1) 計(jì)算f(x)=0 的全部根。(2) 由方程f(x)=0的根構(gòu)造一個(gè)多項(xiàng)式g(x),并與f(x)進(jìn)行對比。命令如下:P=3,0,4,-5,-7.2,5;X=roots(P) %求方程f(x)=0的根G=poly(X) %求多項(xiàng)式g(x)作業(yè):p120第4、5題8/12/2022電子信息學(xué)院8/12/2022電子信息學(xué)院3.2.5 數(shù)據(jù)插值3.2.5.1 一維數(shù)據(jù)插值在MATL

22、AB中,實(shí)現(xiàn)這些插值的函數(shù)是interp1,其調(diào)用格式為:Y1=interp1(X,Y,X1,method)函數(shù)根據(jù)X,Y的值,計(jì)算函數(shù)在X1處的值。X,Y是兩個(gè)等長的已知向量,分別描述采樣點(diǎn)和樣本值,X1是一個(gè)向量或標(biāo)量,描述欲插值的點(diǎn),Y1是一個(gè)與X1等長的插值結(jié)果。method是插值方法,允許的取值有l(wèi)inear、nearest、cubic、spline。8/12/2022電子信息學(xué)院注意:X1的取值范圍不能超出X的給定范圍,否則,會(huì)給出“NaN”錯(cuò)誤。例用不同的插值方法計(jì)算在/2點(diǎn)的值。MATLAB中有一個(gè)專門的3次樣條插值函數(shù)Y1=spline(X,Y,X1),其功能及使用方法與函數(shù)

23、Y1=interp1(X,Y,X1,spline)完全相同。8/12/2022電子信息學(xué)院例某觀測站測得某日6:00時(shí)至18:00時(shí)之間每隔2小時(shí)的室內(nèi)外溫度(),用3次樣條插值分別求得該日室內(nèi)外6:30至17:30時(shí)之間每隔2小時(shí)各點(diǎn)的近似溫度()。設(shè)時(shí)間變量h為一行向量,溫度變量t為一個(gè)兩列矩陣,其中第一列存放室內(nèi)溫度,第二列儲(chǔ)存室外溫度。命令如下:h =6:2:18;t=18,20,22,25,30,28,24;15,19,24,28,34,32,30;XI =6.5:2:17.5YI=interp1(h,t,XI,spline) %用3次樣條插值計(jì)算8/12/2022電子信息學(xué)院3.2

24、.5.2 二維數(shù)據(jù)插值在MATLAB中,提供了解決二維插值問題的函數(shù)interp2,其調(diào)用格式為:Z1=interp2(X,Y,Z,X1,Y1,method)其中X,Y是兩個(gè)向量,分別描述兩個(gè)參數(shù)的采樣點(diǎn),Z是與參數(shù)采樣點(diǎn)對應(yīng)的函數(shù)值,X1,Y1是兩個(gè)向量或標(biāo)量,描述欲插值的點(diǎn)。Z1是根據(jù)相應(yīng)的插值方法得到的插值結(jié)果。 method的取值與一維插值函數(shù)相同。X,Y,Z也可以是矩陣形式。同樣,X1,Y1的取值范圍不能超出X,Y的給定范圍,否則,會(huì)給出“NaN”錯(cuò)誤。8/12/2022電子信息學(xué)院例設(shè)z=x2+y2,對z函數(shù)在0,10,2區(qū)域內(nèi)進(jìn)行插值。例某實(shí)驗(yàn)對一根長10米的鋼軌進(jìn)行熱源的溫度傳

25、播測試。用x表示測量點(diǎn)0:2.5:10(米),用h表示測量時(shí)間0:30:60(秒),用T表示測試所得各點(diǎn)的溫度()。試用線性插值求出在一分鐘內(nèi)每隔20秒、鋼軌每隔1米處的溫度TI。命令如下:x=0:2.5:10;h=0:30:60;T=95,14,0,0,0;88,48,32,12,6;67,64,54,48,41;xi=0:10;hi=0:20:60;TI=interp2(x,h,T,xi,hi)8/12/2022電子信息學(xué)院3.2.5.3 曲線擬合在MATLAB中,用polyfit函數(shù)來求得最小二乘擬合多項(xiàng)式的系數(shù),再用polyval函數(shù)按所得的多項(xiàng)式計(jì)算所給出的點(diǎn)上的函數(shù)近似值。poly

26、fit函數(shù)的調(diào)用格式為:P,S=polyfit(X,Y,m)函數(shù)根據(jù)采樣點(diǎn)X和采樣點(diǎn)函數(shù)值Y,產(chǎn)生一個(gè)m次多項(xiàng)式P及其在采樣點(diǎn)的誤差向量S。其中X,Y是兩個(gè)等長的向量,P是一個(gè)長度為m+1的向量,P的元素為多項(xiàng)式系數(shù)。polyval函數(shù)的功能是按多項(xiàng)式的系數(shù)計(jì)算x點(diǎn)多項(xiàng)式的值,將在6.5.3節(jié)中詳細(xì)介紹。8/12/2022電子信息學(xué)院例已知數(shù)據(jù)表t,y,試求2次擬合多項(xiàng)式p(t),然后求ti=1,1.5,2,2.5,9.5,10各點(diǎn)的函數(shù)近似值。8/12/2022電子信息學(xué)院3.3 數(shù)據(jù)統(tǒng)計(jì)處理3.3.1 最大值和最小值MATLAB提供的求數(shù)據(jù)序列的最大值和最小值的函數(shù)分別為max和min,兩

27、個(gè)函數(shù)的調(diào)用格式和操作過程類似。1求向量的最大值和最小值求一個(gè)向量X的最大值的函數(shù)有兩種調(diào)用格式,分別是:(1) y=max(X):返回向量X的最大值存入y,如果X中包含復(fù)數(shù)元素,則按模取最大值。8/12/2022電子信息學(xué)院(2) y,I=max(X):返回向量X的最大值存入y,最大值的序號(hào)存入I,如果X中包含復(fù)數(shù)元素,則按模取最大值。求向量X的最小值的函數(shù)是min(X),用法和max(X)完全相同。例6-1 求向量x的最大值。命令如下:x=-43,72,9,16,23,47;y=max(x) %求向量x中的最大值y,l=max(x) %求向量x中的最大值及其該元素的位置8/12/2022電

28、子信息學(xué)院2求矩陣的最大值和最小值求矩陣A的最大值的函數(shù)有3種調(diào)用格式,分別是:(1) max(A):返回一個(gè)行向量,向量的第i個(gè)元素是矩陣A的第i列上的最大值。(2) Y,U=max(A):返回行向量Y和U,Y向量記錄A的每列的最大值,U向量記錄每列最大值的行號(hào)。8/12/2022電子信息學(xué)院(3) max(A,dim):dim取1或2。dim取1時(shí),該函數(shù)和max(A)完全相同;dim取2時(shí),該函數(shù)返回一個(gè)列向量,其第i個(gè)元素是A矩陣的第i行上的最大值。求最小值的函數(shù)是min,其用法和max完全相同。例6-2 分別求34矩陣x中各列和各行元素中的最大值,并求整個(gè)矩陣的最大值和最小值。8/1

29、2/2022電子信息學(xué)院3兩個(gè)向量或矩陣對應(yīng)元素的比較函數(shù)max和min還能對兩個(gè)同型的向量或矩陣進(jìn)行比較,調(diào)用格式為:(1) U=max(A,B):A,B是兩個(gè)同型的向量或矩陣,結(jié)果U是與A,B同型的向量或矩陣,U的每個(gè)元素等于A,B對應(yīng)元素的較大者。(2) U=max(A,n):n是一個(gè)標(biāo)量,結(jié)果U是與A同型的向量或矩陣,U的每個(gè)元素等于A對應(yīng)元素和n中的較大者。min函數(shù)的用法和max完全相同。例6-3 求兩個(gè)23矩陣x, y所有同一位置上的較大元素構(gòu)成的新矩陣p。8/12/2022電子信息學(xué)院3.3.2 求和與求積數(shù)據(jù)序列求和與求積的函數(shù)是sum和prod,其使用方法類似。設(shè)X是一個(gè)向

30、量,A是一個(gè)矩陣,函數(shù)的調(diào)用格式為:sum(X):返回向量X各元素的和。prod(X):返回向量X各元素的乘積。sum(A):返回一個(gè)行向量,其第i個(gè)元素是A的第i列的元素和。8/12/2022電子信息學(xué)院prod(A):返回一個(gè)行向量,其第i個(gè)元素是A的第i列的元素乘積。sum(A,dim):當(dāng)dim為1時(shí),該函數(shù)等同于sum(A);當(dāng)dim為2時(shí),返回一個(gè)列向量,其第i個(gè)元素是A的第i行的各元素之和。prod(A,dim):當(dāng)dim為1時(shí),該函數(shù)等同于prod(A);當(dāng)dim為2時(shí),返回一個(gè)列向量,其第i個(gè)元素是A的第i行的各元素乘積。例6-4 求矩陣A的每行元素的乘積和全部元素的乘積。8

31、/12/2022電子信息學(xué)院3.3.3 平均值和中值求數(shù)據(jù)序列平均值的函數(shù)是mean,求數(shù)據(jù)序列中值的函數(shù)是median。兩個(gè)函數(shù)的調(diào)用格式為:mean(X):返回向量X的算術(shù)平均值。median(X):返回向量X的中值。mean(A):返回一個(gè)行向量,其第i個(gè)元素是A的第i列的算術(shù)平均值。median(A):返回一個(gè)行向量,其第i個(gè)元素是A的第i列的中值。mean(A,dim):當(dāng)dim為1時(shí),該函數(shù)等同于mean(A);當(dāng)dim為2時(shí),返回一個(gè)列向量,其第i個(gè)元素是A的第i行的算術(shù)平均值。median(A,dim):當(dāng)dim為1時(shí),該函數(shù)等同于median(A);當(dāng)dim為2時(shí),返回一個(gè)列

32、向量,其第i個(gè)元素是A的第i行的中值。例6-5 分別求向量x與y的平均值和中值。8/12/2022電子信息學(xué)院3.3.4 累加和與累乘積在MATLAB中,使用cumsum和cumprod函數(shù)能方便地求得向量和矩陣元素的累加和與累乘積向量,函數(shù)的調(diào)用格式為:cumsum(X):返回向量X累加和向量。cumprod(X):返回向量X累乘積向量。cumsum(A):返回一個(gè)矩陣,其第i列是A的第i列的累加和向量。cumprod(A):返回一個(gè)矩陣,其第i列是A的第i列的累乘積向量。cumsum(A,dim):當(dāng)dim為1時(shí),該函數(shù)等同于cumsum(A);當(dāng)dim為2時(shí),返回一個(gè)矩陣,其第i行是A的

33、第i行的累加和向量。cumprod(A,dim):當(dāng)dim為1時(shí),該函數(shù)等同于cumprod(A);當(dāng)dim為2時(shí),返回一個(gè)向量,其第i行是A的第i行的累乘積向量。例6-6 求s的值。8/12/2022電子信息學(xué)院3.3.5 標(biāo)準(zhǔn)方差與相關(guān)系數(shù)1求標(biāo)準(zhǔn)方差在MATLAB中,提供了計(jì)算數(shù)據(jù)序列的標(biāo)準(zhǔn)方差的函數(shù)std。對于向量X,std(X)返回一個(gè)標(biāo)準(zhǔn)方差。對于矩陣A,std(A)返回一個(gè)行向量,它的各個(gè)元素便是矩陣A各列或各行的標(biāo)準(zhǔn)方差。std函數(shù)的一般調(diào)用格式為:Y=std(A,flag,dim)其中dim取1或2。當(dāng)dim=1時(shí),求各列元素的標(biāo)準(zhǔn)方差;當(dāng)dim=2時(shí),則求各行元素的標(biāo)準(zhǔn)方差

34、。flag取0或1,當(dāng)flag=0時(shí),按1所列公式計(jì)算標(biāo)準(zhǔn)方差,當(dāng)flag=1時(shí),按2所列公式計(jì)算標(biāo)準(zhǔn)方差。缺省flag=0,dim=1。例6-7 對二維矩陣x,從不同維方向求出其標(biāo)準(zhǔn)方差。8/12/2022電子信息學(xué)院2相關(guān)系數(shù)MATLAB提供了corrcoef函數(shù),可以求出數(shù)據(jù)的相關(guān)系數(shù)矩陣。corrcoef函數(shù)的調(diào)用格式為:corrcoef(X):返回從矩陣X形成的一個(gè)相關(guān)系數(shù)矩陣。此相關(guān)系數(shù)矩陣的大小與矩陣X一樣。它把矩陣X的每列作為一個(gè)變量,然后求它們的相關(guān)系數(shù)。corrcoef(X,Y):在這里,X,Y是向量,它們與corrcoef(X,Y)的作用一樣。8/12/2022電子信息學(xué)

35、院例6-8 生成滿足正態(tài)分布的100005隨機(jī)矩陣,然后求各列元素的均值和標(biāo)準(zhǔn)方差,再求這5列隨機(jī)數(shù)據(jù)的相關(guān)系數(shù)矩陣。命令如下:X=randn(10000,5);M=mean(X)D=std(X)R=corrcoef(X)8/12/2022電子信息學(xué)院3.3.6 排序MATLAB中對向量X是排序函數(shù)是sort(X),函數(shù)返回一個(gè)對X中的元素按升序排列的新向量。sort函數(shù)也可以對矩陣A的各列或各行重新排序,其調(diào)用格式為:Y,I=sort(A,dim)其中dim指明對A的列還是行進(jìn)行排序。若dim=1,則按列排;若dim=2,則按行排。Y是排序后的矩陣,而I記錄Y中的元素在A中位置。例6-9 對

36、二維矩陣做各種排序。8/12/2022電子信息學(xué)院3.4 函數(shù)分析與數(shù)值積分3.4.1 函數(shù)在MATLAB中的表示與函數(shù)的繪1.函數(shù)表示與計(jì)算a.函數(shù)文件 p105頁的humps.m表示b.Inline內(nèi)聯(lián)函數(shù)實(shí)現(xiàn)2.函數(shù)的繪制a.單變量函數(shù)繪制圖形命令fplot函數(shù)的調(diào)用格式為: fplot(fname,lims,tol,選項(xiàng))其中fname為函數(shù)名,以字符串形式出現(xiàn),lims為x,y的取值范圍,tol為相對允許誤差,其系統(tǒng)默認(rèn)值為2e-3。選項(xiàng)定義與plot函數(shù)相同。例5-9 用fplot函數(shù)繪制f(x)=cos(tan(x)的曲線。命令如下:fplot(cos(tan(pi*x), 0,

37、1,1e-4)8/12/2022電子信息學(xué)院b.簡易的函數(shù)繪圖命令ezplotMATLAB提供了一個(gè)ezplot函數(shù)繪制函數(shù)圖形,下面介紹其用法。(1) 對于函數(shù)f = f(x),ezplot函數(shù)的調(diào)用格式為:ezplot(f):在默認(rèn)區(qū)間-2x2繪制f = f(x)的圖形。ezplot(f, a,b):在區(qū)間axb繪制f = f(x)的圖形。8/12/2022電子信息學(xué)院(2) 對于函數(shù)f = f(x,y),ezplot函數(shù)的調(diào)用格式為:ezplot(f):在默認(rèn)區(qū)間-2x2和-2y2繪制f(x,y) = 0的圖形。ezplot(f, xmin,xmax,ymin,ymax):在區(qū)間xmin

38、xxmax和yminyymax繪制f(x,y) = 0的圖形。ezplot(f, a,b):在區(qū)間axb和ay b繪制f(x,y) = 0的圖形。8/12/2022電子信息學(xué)院(3) 對于參數(shù)方程x = x(t)和y = y(t),ezplot函數(shù)的調(diào)用格式為:ezplot(x,y):在默認(rèn)區(qū)間0t2繪制x=x(t)和y=y(t)的圖形。ezplot(x,y, tmin,tmax):在區(qū)間tmin t tmax繪制x=x(t)和y=y(t)的圖形。8/12/2022電子信息學(xué)院3.4.2 函數(shù)極值 MATLAB提供了基于單純形算法求解函數(shù)極值的函數(shù)fmin和fmins,它們分別用于單變量函數(shù)和

39、多變量函數(shù)的最小值,其調(diào)用格式為: x=fmin(fname,x1,x2) x=fmins(fname,x0)這兩個(gè)函數(shù)的調(diào)用格式相似。其中fmin函數(shù)用于求單變量函數(shù)的最小值點(diǎn)。fname是被最小化的目標(biāo)函數(shù)名,x1和x2限定自變量的取值范圍。fmins函數(shù)用于求多變量函數(shù)的最小值點(diǎn),x0是求解的初始值向量。8/12/2022電子信息學(xué)院MATLAB沒有專門提供求函數(shù)最大值的函數(shù),但只要注意到-f(x)在區(qū)間(a,b)上的最小值就是f(x)在(a,b)的最大值,所以fmin(f,x1,x2)返回函數(shù)f(x)在區(qū)間(x1,x2)上的最大值。 例 求f(x)=x3-2x-5在0,5內(nèi)的最小值點(diǎn)。

40、 (1) 建立函數(shù)文件mymin.m。function fx=mymin(x)fx=x.3-2*x-5; (2) 調(diào)用fmin函數(shù)求最小值點(diǎn)。x=fmin(mymin,0,5)x= 0.81658/12/2022電子信息學(xué)院3.4.2數(shù)值積分與微分3.4.2.1 數(shù)值積分基本原理 求解定積分的數(shù)值方法多種多樣,如簡單的梯形法、辛普生(Simpson)法、牛頓柯特斯(Newton-Cotes)法等都是經(jīng)常采用的方法。它們的基本思想都是將整個(gè)積分區(qū)間a,b分成n個(gè)子區(qū)間xi,xi+1,i=1,2,n,其中x1=a,xn+1=b。這樣求定積分問題就分解為求和問題。8/12/2022電子信息學(xué)院3.4

41、.2.2 數(shù)值積分的實(shí)現(xiàn)方法1變步長辛普生法基于變步長辛普生法,MATLAB給出了quad函數(shù)來求定積分。該函數(shù)的調(diào)用格式為: I,n=quad(fname,a,b,tol,trace)其中fname是被積函數(shù)名。a和b分別是定積分的下限和上限。tol用來控制積分精度,缺省時(shí)取tol=0.001。trace控制是否展現(xiàn)積分過程,若取非0則展現(xiàn)積分過程,取0則不展現(xiàn),缺省時(shí)取trace=0。返回參數(shù)I即定積分值,n為被積函數(shù)的調(diào)用次數(shù)。8/12/2022電子信息學(xué)院 例求定積分。 (1) 建立被積函數(shù)文件fesin.m。function f=fesin(x)f=exp(-0.5*x).*sin(

42、x+pi/6); (2) 調(diào)用數(shù)值積分函數(shù)quad求定積分。S,n=quad(fesin,0,3*pi)S = 0.9008n = 778/12/2022電子信息學(xué)院2牛頓柯特斯法基于牛頓柯特斯法,MATLAB給出了quad8函數(shù)來求定積分。該函數(shù)的調(diào)用格式為:I,n=quad8(fname,a,b,tol,trace)其中參數(shù)的含義和quad函數(shù)相似,只是tol的缺省值取10-6。該函數(shù)可以更精確地求出定積分的值,且一般情況下函數(shù)調(diào)用的步數(shù)明顯小于quad函數(shù),從而保證能以更高的效率求出所需的定積分值。8/12/2022電子信息學(xué)院例求定積分。(1) 被積函數(shù)文件fx.m。function

43、f=fx(x)f=x.*sin(x)./(1+cos(x).*cos(x);(2) 調(diào)用函數(shù)quad8求定積分。I=quad8(fx,0,pi)I = 2.46748/12/2022電子信息學(xué)院例分別用quad函數(shù)和quad8函數(shù)求定積分的近似值,并在相同的積分精度下,比較函數(shù)的調(diào)用次數(shù)。調(diào)用函數(shù)quad求定積分:format long;fx=inline(exp(-x);I,n=quad(fx,1,2.5,1e-10)I = 0.28579444254766n = 658/12/2022電子信息學(xué)院 調(diào)用函數(shù)quad8求定積分:format long;fx=inline(exp(-x);I,

44、n=quad8(fx,1,2.5,1e-10)I = 0.28579444254754n = 338/12/2022電子信息學(xué)院3被積函數(shù)由一個(gè)表格定義在MATLAB中,對由表格形式定義的函數(shù)關(guān)系的求定積分問題用trapz(X,Y)函數(shù)。其中向量X,Y定義函數(shù)關(guān)系Y=f(X)。例 用trapz函數(shù)計(jì)算定積分。命令如下:X=1:0.01:2.5;Y=exp(-X); %生成函數(shù)關(guān)系數(shù)據(jù)向量trapz(X,Y)ans = 0.285796824163938/12/2022電子信息學(xué)院3.4.2 二重定積分的數(shù)值求解3.4.2使用MATLAB提供的dblquad函數(shù)就可以直接求出上述二重定積分的數(shù)值解。該函數(shù)的調(diào)用格式為:I=dblquad(f,a,b,c,d,tol,trace)該函數(shù)求f(x,y)在a,bc,d區(qū)域上的二重定積分。參數(shù)tol,trace的用法與

溫馨提示

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

最新文檔

評論

0/150

提交評論