matlab在高等數(shù)學中的應用_第1頁
已閱讀1頁,還剩83頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、2024年3月31日星期日,電子信息學院,第三章 MATLAB在高等數(shù)學中的應用,電子信息學院,2024年3月31日星期日,電子信息學院,,3.1矩陣分析3.1.1 對角陣與三角陣1.對角陣只有對角線上有非0元素的矩陣稱為對角矩陣,對角線上的元素相等的對角矩陣稱為數(shù)量矩陣,對角線上的元素都為1的對角矩陣稱為單位矩陣。,2024年3月31日星期日,電子信息學院,(1) 提取矩陣的對角線元素設A為m×n矩陣,diag(

2、A)函數(shù)用于提取矩陣A主對角線元素,產生一個具有min(m,n)個元素的列向量。diag(A)函數(shù)還有一種形式diag(A,k),其功能是提取第k條對角線的元素。(2) 構造對角矩陣設V為具有m個元素的向量,diag(V)將產生一個m×m對角矩陣,其主對角線元素即為向量V的元素。diag(V)函數(shù)也有另一種形式diag(V,k),其功能是產生一個n×n(n=m+)對角陣,其第k條對角線的元素即為向量V的元素。

3、,2024年3月31日星期日,電子信息學院,例 先建立5×5矩陣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的每行乘以一個指定常數(shù),2024年3月31日星期日,電子信息學院,2.

4、三角陣三角陣又進一步分為上三角陣和下三角陣,所謂上三角陣,即矩陣的對角線以下的元素全為0的一種矩陣,而下三角陣則是對角線以上的元素全為0的一種矩陣。,2024年3月31日星期日,電子信息學院,上三角矩陣求矩陣A的上三角陣的MATLAB函數(shù)是triu(A)。triu(A)函數(shù)也有另一種形式triu(A,k),其功能是求矩陣A的第k條對角線以上的元素。例如,提取矩陣A的第2條對角線以上的元素,形成新的矩陣B。下三角矩陣在MATLA

5、B中,提取矩陣A的下三角矩陣的函數(shù)是tril(A)和tril(A,k),其用法與提取上三角矩陣的函數(shù)triu(A)和triu(A,k)完全相同。,2024年3月31日星期日,電子信息學院,,3.1.2 矩陣的轉置與旋轉1.矩陣的轉置轉置運算符是單撇號(‘)。2.矩陣的旋轉利用函數(shù)rot90(A,k)將矩陣A旋轉90º的k倍,當k為1時可省略。,2024年3月31日星期日,電子信息學院,3.矩陣的左右翻轉對矩陣實施左

6、右翻轉是將原矩陣的第一列和最后一列調換,第二列和倒數(shù)第二列調換,…,依次類推。MATLAB對矩陣A實施左右翻轉的函數(shù)是fliplr(A)。4.矩陣的上下翻轉MATLAB對矩陣A實施上下翻轉的函數(shù)是flipud(A)。,2024年3月31日星期日,電子信息學院,3.1.3 矩陣的逆與偽逆1.矩陣的逆對于一個方陣A,如果存在一個與其同階的方陣B,使得:A·B=B·A=I (I為單位矩陣)則稱B為A的逆矩陣,

7、當然,A也是B的逆矩陣。求一個矩陣的逆是一件非常煩瑣的工作,容易出錯,但在MATLAB中,求一個矩陣的逆非常容易。求方陣A的逆矩陣可調用函數(shù)inv(A)。例 用求逆矩陣的方法解線性方程組。Ax=b其解為:x=A-1b,2024年3月31日星期日,電子信息學院,2.矩陣的偽逆如果矩陣A不是一個方陣時,矩陣A沒有逆矩陣,但可以找到一個與A的轉置矩陣A‘同型的矩陣B,使得:A·B·A=AB·A&#

8、183;B=B此時稱矩陣B為矩陣A的偽逆,也稱為廣義逆矩陣。在MATLAB中,求一個矩陣偽逆的函數(shù)是pinv(A)。,2024年3月31日星期日,電子信息學院,3.1.4 方陣的行列式把一個方陣看作一個行列式,并對其按行列式的規(guī)則求值,這個值就稱為矩陣所對應的行列式的值。在MATLAB中,求方陣A所對應的行列式的值的函數(shù)是det(A)。,2024年3月31日星期日,電子信息學院,3.1.5 線性方程組求解3.1.5.1 直接解法

9、1.利用左除運算符的直接解法對于線性方程組Ax=b,可以利用左除運算符“\”求解: x=A\b例 用直接解法求解下列線性方程組。命令如下:A=[2,1,-5,1;1,-5,0,7;0,2,1,-1;1,6,-1,-4];b=[13,-9,6,0]';x=A\b,2024年3月31日星期日,電子信息學院,3.1.5.2利用矩陣的分解求解線性方程組矩陣分解是指根據一定的原理用某種算法將一個矩陣分

10、解成若干個矩陣的乘積。常見的矩陣分解有LU分解、QR分解、Cholesky分解,以及Schur分解、Hessenberg分解、奇異分解等。,2024年3月31日星期日,電子信息學院,(1) LU分解矩陣的LU分解就是將一個矩陣表示為一個交換下三角矩陣和一個上三角矩陣的乘積形式。線性代數(shù)中已經證明,只要方陣A是非奇異的,LU分解總是可以進行的。MATLAB提供的lu函數(shù)用于對矩陣進行LU分解,其調用格式為:[L,U]=lu(X):產

11、生一個上三角陣U和一個變換形式的下三角陣L(行交換),使之滿足X=LU。注意,這里的矩陣X必須是方陣。[L,U,P]=lu(X):產生一個上三角陣U和一個下三角陣L以及一個置換矩陣P,使之滿足PX=LU。當然矩陣X同樣必須是方陣。實現(xiàn)LU分解后,線性方程組Ax=b的解x=U\(L\b)或x=U\(L\Pb),這樣可以大大提高運算速度。,2024年3月31日星期日,電子信息學院,例用LU分解求解p79例3-5線性方程組。A=[6,3

12、,4;-2,5,7;8,-4,-3];b=[3,-4,-7]';[L,U]=lu(A);x=U\(L\b)或采用LU分解的第2種格式,命令如下:[L,U ,P]=lu(A);x=U\(L\P*b),2024年3月31日星期日,電子信息學院,(2) QR分解對矩陣X進行QR分解,就是把X分解為一個正交矩陣Q和一個上三角矩陣R的乘積形式。QR分解只能對方陣進行。MATLAB的函數(shù)qr可用于對矩陣進行QR分解,其調用格式

13、為:[Q,R]=qr(X):產生一個一個正交矩陣Q和一個上三角矩陣R,使之滿足X=QR。[Q,R,E]=qr(X):產生一個一個正交矩陣Q、一個上三角矩陣R以及一個置換矩陣E,使之滿足XE=QR。實現(xiàn)QR分解后,線性方程組Ax=b的解x=R\(Q\b)或x=E(R\(Q\b))。,2024年3月31日星期日,電子信息學院,例 用QR分解求解線性方程組。命令如下:A=[6,3,4;-2,5,7;8,-4,-3];b=[3,-4

14、,-7]';[Q,R]=qr(A);x=R\(Q\b)或采用QR分解的第2種格式,命令如下:[Q,R,E]=qr(A);x=E*(R\(Q\b)),2024年3月31日星期日,電子信息學院,3.1.5.3迭代解法迭代解法非常適合求解大型系數(shù)矩陣的方程組。在數(shù)值分析中,迭代解法主要包括 Jacobi迭代法、Gauss-Serdel迭代法、超松弛迭代法和兩步迭代法。1.Jacobi迭代法對于線性方程組Ax=b,如果A

15、為非奇異方陣,則可將A分解為A=D-L-U,其中D為對角陣,其元素為A的對角元素,L與U為A的下三角陣和上三角陣,于是Ax=b化為:x=D-1(L+U)x+D-1b與之對應的迭代公式為:x(k+1)=D-1(L+U)x(k)+D-1b這就是Jacobi迭代公式。如果序列{x(k+1)}收斂于x,則x必是方程Ax=b的解。,2024年3月31日星期日,電子信息學院,Jacobi迭代法的MATLAB函數(shù)文件Jacobi.m如下:f

16、unction [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;end,2024年3月31日星期日,電子信息學院,例 用Jacobi迭代法求解線性方程組。設迭代初值為0,迭代精度為10-6。在命令中調用函數(shù)文件Jacobi.m,命令如下:A=[10,-1,0;-1,10

17、,-2;0,-2,10];b=[9,7,6]';[x,n]=jacobi(A,b,[0,0,0]',1.0e-6)(設x1,x2,x3為0,n為迭代的次數(shù)),2024年3月31日星期日,電子信息學院,2.Gauss-Serdel迭代法將在Jacobi迭代過程中,原來的迭代公式Dx(k+1)=(L+U)x(k)+b改進為 Dx(k+1)=Lx(k+1)+Ux(k)+b,于是得到: x(k+1)=(D

18、-L)-1Ux(k)+(D-L)-1b該式即為Gauss-Serdel迭代公式。和Jacobi迭代相比,Gauss-Serdel迭代用新分量代替舊分量,精度會高些。,2024年3月31日星期日,電子信息學院,Gauss-Serdel迭代法的MATLAB函數(shù)文件gauseidel.m如下:function [y,n]=gauseidel(A,b,x0,eps)if nargin==3 eps=1.0e-6;elseif n

19、argin=eps x0=y; y=G*x0+f; n=n+1;end,2024年3月31日星期日,電子信息學院,例 用Gauss-Serdel迭代法求解下列線性方程組。設迭代初值為0,迭代精度為10-6。在命令中調用函數(shù)文件gauseidel.m,命令如下:A=[10,-1,0;-1,10,-2;0,-2,10];b=[9,7,6]';[x,n]=gauseidel(A,b,[0,0,0]&#

20、39;,1.0e-6),2024年3月31日星期日,電子信息學院,例 分別用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]),2024年3月31日星期日,電子信息學院,3.1.6 矩陣的秩與跡1.矩陣的秩矩陣線

21、性無關的行數(shù)與列數(shù)稱為矩陣的秩。在MATLAB中,求矩陣秩的函數(shù)是rank(A)。2.矩陣的跡矩陣的跡等于矩陣的對角線元素之和,也等于矩陣的特征值之和。在MATLAB中,求矩陣的跡的函數(shù)是trace(A)。,2024年3月31日星期日,電子信息學院,3.1.7 向量和矩陣的范數(shù)矩陣或向量的范數(shù)用來度量矩陣或向量在某種意義下的長度。范數(shù)有多種方法定義,其定義不同,范數(shù)值也就不同。,2024年3月31日星期日,電子信息學院,1.向量

22、的3種常用范數(shù)及其計算函數(shù)在MATLAB中,求向量范數(shù)的函數(shù)為:(1) norm(V)或norm(V,2):計算向量V的2—范數(shù)。(2) norm(V,1):計算向量V的1—范數(shù)。(3) norm(V,inf):計算向量V的∞—范數(shù)。2.矩陣的范數(shù)及其計算函數(shù)MATLAB提供了求3種矩陣范數(shù)的函數(shù),其函數(shù)調用格式與求向量的范數(shù)的函數(shù)完全相同。,2024年3月31日星期日,電子信息學院,3.1.8 矩陣的條件數(shù)在MATLA

23、B中,計算矩陣A的3種條件數(shù)的函數(shù)是:(1) cond(A,1) 計算A的1—范數(shù)下的條件數(shù)。(2) cond(A)或cond(A,2) 計算A的2—范數(shù)數(shù)下的條件數(shù)。(3) cond(A,inf) 計算A的 ∞—范數(shù)下的條件數(shù)。,2024年3月31日星期日,電子信息學院,3.1.9 矩陣的特征值與特征向量在MATLAB中,計算矩陣A的特征值和特征向量的函數(shù)是eig(A),常用的調用格式有2種:(1) E=eig

24、(A):求矩陣A的全部特征值,構成向量E。(2) [V,D]=eig(A):求矩陣A的全部特征值,構成對角陣D,并求A的特征向量構成V的列向量。,2024年3月31日星期日,電子信息學院,例 用求特征值的方法解方程。3x5-7x4+5x2+2x-18=0p=[3,-7,0,5,2,-18];A=compan(p); %A的伴隨矩陣x1=eig(A) %求A的特征值x2=roots(p)

25、 %直接求多項式p的零點作業(yè):p120第8、14題,2024年3月31日星期日,電子信息學院,3.2 多項式計算3.2.1 多項式的四則運算1.多項式的加減運算(詳見課本p87)作業(yè):編寫子函數(shù)可對任意二個多項式進行加減操作.(自動補零)2.多項式乘法運算函數(shù)conv(P1,P2)用于求多項式P1和P2的乘積。這里,P1、P2是兩個多項式系數(shù)向量。作業(yè):求多項式x4+8x3-10與多項式2x2-x+

26、3的乘積。提高:對多項式進行四則運算,輸入表達式而不是向量,能輸出運算結果.,2024年3月31日星期日,電子信息學院,3.多項式除法函數(shù)[Q,r]=deconv(P1,P2)用于對多項式P1和P2作除法運算。其中Q返回多項式P1除以P2的商式,r返回P1除以P2的余式。這里,Q和r仍是多項式系數(shù)向量。deconv是conv的逆函數(shù),即有P1=conv(P2,Q)+r。作業(yè): 求多項式x4+8x3-10除以多項式2x2-x+3的

27、結果。,2024年3月31日星期日,電子信息學院,3.2.2 多項式的導函數(shù)對多項式求導數(shù)的函數(shù)是:p=polyder(P):求多項式P的導函數(shù)p=polyder(P,Q):求P·Q的導函數(shù)[p,q]=polyder(P,Q):求P/Q的導函數(shù),導函數(shù)的分子存入p,分母存入q。上述函數(shù)中,參數(shù)P,Q是多項式的向量表示,結果p,q也是多項式的向量表示。,2024年3月31日星期日,電子信息學院,例 求有理分式的導數(shù)

28、。命令如下:P=[1];Q=[1,0,5];[p,q]=polyder(P,Q),2024年3月31日星期日,電子信息學院,3.2.3 多項式的求值MATLAB提供了兩種求多項式值的函數(shù):polyval與polyvalm,它們的輸入參數(shù)均為多項式系數(shù)向量P和自變量x。兩者的區(qū)別在于前者是代數(shù)多項式求值,而后者是矩陣多項式求值。,2024年3月31日星期日,電子信息學院,1.代數(shù)多項式求值polyval函數(shù)用來求代數(shù)多項式的

29、值,其調用格式為:Y=polyval(P,x)若x為一數(shù)值,則求多項式在該點的值;若x為向量或矩陣,則對向量或矩陣中的每個元素求其多項式的值。作業(yè):已知多項式x4+8x3-10,分別取x=1.2和一個2×3矩陣為自變量計算該多項式的值。,2024年3月31日星期日,電子信息學院,2.矩陣多項式求值polyvalm函數(shù)用來求矩陣多項式的值,其調用格式與polyval相同,但含義不同。polyvalm函數(shù)要求x為方陣,它以

30、方陣為自變量求多項式的值。設A為方陣,P代表多項式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+8*ones(size(A))作業(yè): 仍以多項式x4+8x3-10為例,取一個2×2矩陣為自變量分別用polyval和polyvalm計算該多項式的值。,2024年3月31日星期日,電子信息學院,

31、3.2.4 多項式求根n次多項式具有n個根,當然這些根可能是實根,也可能含有若干對共軛復根。MATLAB提供的roots函數(shù)用于求多項式的全部根,其調用格式為:x=roots(P)其中P為多項式的系數(shù)向量,求得的根賦給向量x,即x(1),x(2),…,x(n)分別代表多項式的n個根。,2024年3月31日星期日,電子信息學院,例 求多項式x4+8x3-10的根。命令如下:A=[1,8,0,0,-10];x=roots(A)

32、若已知多項式的全部根,則可以用poly函數(shù)建立起該多項式,其調用格式為:P=poly(x)若x為具有n個元素的向量,則poly(x)建立以x為其根的多項式,且將該多項式的系數(shù)賦給向量P。,2024年3月31日星期日,電子信息學院,例 已知 f(x)(1) 計算f(x)=0 的全部根。(2) 由方程f(x)=0的根構造一個多項式g(x),并與f(x)進行對比。命令如下:P=[3,0,4,-5,-7.2,5];X=roots

33、(P) %求方程f(x)=0的根G=poly(X) %求多項式g(x)作業(yè):p120第4、5題,2024年3月31日星期日,電子信息學院,,,2024年3月31日星期日,電子信息學院,3.2.5 數(shù)據插值3.2.5.1 一維數(shù)據插值在MATLAB中,實現(xiàn)這些插值的函數(shù)是interp1,其調用格式為:Y1=interp1(X,Y,X1,'method')函數(shù)根據

34、X,Y的值,計算函數(shù)在X1處的值。X,Y是兩個等長的已知向量,分別描述采樣點和樣本值,X1是一個向量或標量,描述欲插值的點,Y1是一個與X1等長的插值結果。method是插值方法,允許的取值有‘linear’、‘nearest’、‘cubic’、‘spline’。,2024年3月31日星期日,電子信息學院,注意:X1的取值范圍不能超出X的給定范圍,否則,會給出“NaN”錯誤。例用不同的插值方法計算在π/2點的值。MATLAB中有一個

35、專門的3次樣條插值函數(shù)Y1=spline(X,Y,X1),其功能及使用方法與函數(shù)Y1=interp1(X,Y,X1,‘spline’)完全相同。,2024年3月31日星期日,電子信息學院,例某觀測站測得某日6:00時至18:00時之間每隔2小時的室內外溫度(℃),用3次樣條插值分別求得該日室內外6:30至17:30時之間每隔2小時各點的近似溫度(℃)。設時間變量h為一行向量,溫度變量t為一個兩列矩陣,其中第一列存放室內溫度,第二列儲存

36、室外溫度。命令如下: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次樣條插值計算,2024年3月31日星期日,電子信息學院,3.2.5.2 二維數(shù)據插值在MATLAB中,提供了解決二維插值問題的函數(shù)interp2,其調用格式為:Z1=inte

37、rp2(X,Y,Z,X1,Y1,'method')其中X,Y是兩個向量,分別描述兩個參數(shù)的采樣點,Z是與參數(shù)采樣點對應的函數(shù)值,X1,Y1是兩個向量或標量,描述欲插值的點。Z1是根據相應的插值方法得到的插值結果。 method的取值與一維插值函數(shù)相同。X,Y,Z也可以是矩陣形式。同樣,X1,Y1的取值范圍不能超出X,Y的給定范圍,否則,會給出“NaN”錯誤。,2024年3月31日星期日,電子信息學院,例設z=x2+y

38、2,對z函數(shù)在[0,1]×[0,2]區(qū)域內進行插值。例某實驗對一根長10米的鋼軌進行熱源的溫度傳播測試。用x表示測量點0:2.5:10(米),用h表示測量時間0:30:60(秒),用T表示測試所得各點的溫度(℃)。試用線性插值求出在一分鐘內每隔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,

39、48,41];xi=[0:10];hi=[0:20:60]';TI=interp2(x,h,T,xi,hi),2024年3月31日星期日,電子信息學院,3.2.5.3 曲線擬合在MATLAB中,用polyfit函數(shù)來求得最小二乘擬合多項式的系數(shù),再用polyval函數(shù)按所得的多項式計算所給出的點上的函數(shù)近似值。polyfit函數(shù)的調用格式為:[P,S]=polyfit(X,Y,m)函數(shù)根據采樣點X和采樣點函數(shù)值Y

40、,產生一個m次多項式P及其在采樣點的誤差向量S。其中X,Y是兩個等長的向量,P是一個長度為m+1的向量,P的元素為多項式系數(shù)。polyval函數(shù)的功能是按多項式的系數(shù)計算x點多項式的值,將在6.5.3節(jié)中詳細介紹。,2024年3月31日星期日,電子信息學院,例已知數(shù)據表[t,y],試求2次擬合多項式p(t),然后求ti=1,1.5,2,2.5,…,9.5,10各點的函數(shù)近似值。,2024年3月31日星期日,電子信息學院,3.3 數(shù)據

41、統(tǒng)計處理3.3.1 最大值和最小值MATLAB提供的求數(shù)據序列的最大值和最小值的函數(shù)分別為max和min,兩個函數(shù)的調用格式和操作過程類似。1.求向量的最大值和最小值求一個向量X的最大值的函數(shù)有兩種調用格式,分別是:(1) y=max(X):返回向量X的最大值存入y,如果X中包含復數(shù)元素,則按模取最大值。,2024年3月31日星期日,電子信息學院,(2) [y,I]=max(X):返回向量X的最大值存入y,最大值的序號存入I,

42、如果X中包含復數(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中的最大值及其該元素的位置,2024年3月31日星期日,電子信息學院,2.求矩陣的最大值和最小值求矩陣A的最大值的函數(shù)有3

43、種調用格式,分別是:(1) max(A):返回一個行向量,向量的第i個元素是矩陣A的第i列上的最大值。(2) [Y,U]=max(A):返回行向量Y和U,Y向量記錄A的每列的最大值,U向量記錄每列最大值的行號。,2024年3月31日星期日,電子信息學院,(3) max(A,[],dim):dim取1或2。dim取1時,該函數(shù)和max(A)完全相同;dim取2時,該函數(shù)返回一個列向量,其第i個元素是A矩陣的第i行上的最大值。求最小值

44、的函數(shù)是min,其用法和max完全相同。例6-2 分別求3×4矩陣x中各列和各行元素中的最大值,并求整個矩陣的最大值和最小值。,2024年3月31日星期日,電子信息學院,3.兩個向量或矩陣對應元素的比較函數(shù)max和min還能對兩個同型的向量或矩陣進行比較,調用格式為:(1) U=max(A,B):A,B是兩個同型的向量或矩陣,結果U是與A,B同型的向量或矩陣,U的每個元素等于A,B對應元素的較大者。(2) U=max

45、(A,n):n是一個標量,結果U是與A同型的向量或矩陣,U的每個元素等于A對應元素和n中的較大者。min函數(shù)的用法和max完全相同。例6-3 求兩個2×3矩陣x, y所有同一位置上的較大元素構成的新矩陣p。,2024年3月31日星期日,電子信息學院,3.3.2 求和與求積數(shù)據序列求和與求積的函數(shù)是sum和prod,其使用方法類似。設X是一個向量,A是一個矩陣,函數(shù)的調用格式為:sum(X):返回向量X各元素的和。

46、prod(X):返回向量X各元素的乘積。sum(A):返回一個行向量,其第i個元素是A的第i列的元素和。,2024年3月31日星期日,電子信息學院,prod(A):返回一個行向量,其第i個元素是A的第i列的元素乘積。sum(A,dim):當dim為1時,該函數(shù)等同于sum(A);當dim為2時,返回一個列向量,其第i個元素是A的第i行的各元素之和。prod(A,dim):當dim為1時,該函數(shù)等同于prod(A);當dim為2時,

47、返回一個列向量,其第i個元素是A的第i行的各元素乘積。例6-4 求矩陣A的每行元素的乘積和全部元素的乘積。,2024年3月31日星期日,電子信息學院,3.3.3 平均值和中值求數(shù)據序列平均值的函數(shù)是mean,求數(shù)據序列中值的函數(shù)是median。兩個函數(shù)的調用格式為:mean(X):返回向量X的算術平均值。median(X):返回向量X的中值。mean(A):返回一個行向量,其第i個元素是A的第i列的算術平均值。media

48、n(A):返回一個行向量,其第i個元素是A的第i列的中值。mean(A,dim):當dim為1時,該函數(shù)等同于mean(A);當dim為2時,返回一個列向量,其第i個元素是A的第i行的算術平均值。median(A,dim):當dim為1時,該函數(shù)等同于median(A);當dim為2時,返回一個列向量,其第i個元素是A的第i行的中值。例6-5 分別求向量x與y的平均值和中值。,2024年3月31日星期日,電子信息學院,3.

49、3.4 累加和與累乘積在MATLAB中,使用cumsum和cumprod函數(shù)能方便地求得向量和矩陣元素的累加和與累乘積向量,函數(shù)的調用格式為:cumsum(X):返回向量X累加和向量。cumprod(X):返回向量X累乘積向量。cumsum(A):返回一個矩陣,其第i列是A的第i列的累加和向量。cumprod(A):返回一個矩陣,其第i列是A的第i列的累乘積向量。cumsum(A,dim):當dim為1時,該函數(shù)等同于cu

50、msum(A);當dim為2時,返回一個矩陣,其第i行是A的第i行的累加和向量。cumprod(A,dim):當dim為1時,該函數(shù)等同于cumprod(A);當dim為2時,返回一個向量,其第i行是A的第i行的累乘積向量。例6-6 求s的值。,2024年3月31日星期日,電子信息學院,3.3.5 標準方差與相關系數(shù)1.求標準方差在MATLAB中,提供了計算數(shù)據序列的標準方差的函數(shù)std。對于向量X,std(X)返回一個標準

51、方差。對于矩陣A,std(A)返回一個行向量,它的各個元素便是矩陣A各列或各行的標準方差。std函數(shù)的一般調用格式為:Y=std(A,flag,dim)其中dim取1或2。當dim=1時,求各列元素的標準方差;當dim=2時,則求各行元素的標準方差。flag取0或1,當flag=0時,按σ1所列公式計算標準方差,當flag=1時,按σ2所列公式計算標準方差。缺省flag=0,dim=1。例6-7 對二維矩陣x,從不同維方向求出其

52、標準方差。,2024年3月31日星期日,電子信息學院,2.相關系數(shù)MATLAB提供了corrcoef函數(shù),可以求出數(shù)據的相關系數(shù)矩陣。corrcoef函數(shù)的調用格式為:corrcoef(X):返回從矩陣X形成的一個相關系數(shù)矩陣。此相關系數(shù)矩陣的大小與矩陣X一樣。它把矩陣X的每列作為一個變量,然后求它們的相關系數(shù)。corrcoef(X,Y):在這里,X,Y是向量,它們與corrcoef([X,Y])的作用一樣。,2024年3月31日

53、星期日,電子信息學院,例6-8 生成滿足正態(tài)分布的10000×5隨機矩陣,然后求各列元素的均值和標準方差,再求這5列隨機數(shù)據的相關系數(shù)矩陣。命令如下:X=randn(10000,5);M=mean(X)D=std(X)R=corrcoef(X),2024年3月31日星期日,電子信息學院,3.3.6 排序MATLAB中對向量X是排序函數(shù)是sort(X),函數(shù)返回一個對X中的元素按升序排列的新向量。sort函數(shù)也

54、可以對矩陣A的各列或各行重新排序,其調用格式為:[Y,I]=sort(A,dim)其中dim指明對A的列還是行進行排序。若dim=1,則按列排;若dim=2,則按行排。Y是排序后的矩陣,而I記錄Y中的元素在A中位置。例6-9 對二維矩陣做各種排序。,2024年3月31日星期日,電子信息學院,3.4 函數(shù)分析與數(shù)值積分3.4.1 函數(shù)在MATLAB中的表示與函數(shù)的繪1.函數(shù)表示與計算a.函數(shù)文件 p105頁的humps

55、.m表示b.Inline內聯(lián)函數(shù)實現(xiàn)2.函數(shù)的繪制a.單變量函數(shù)繪制圖形命令fplot函數(shù)的調用格式為: fplot(fname,lims,tol,選項)其中fname為函數(shù)名,以字符串形式出現(xiàn),lims為x,y的取值范圍,tol為相對允許誤差,其系統(tǒng)默認值為2e-3。選項定義與plot函數(shù)相同。例5-9 用fplot函數(shù)繪制f(x)=cos(tan(πx))的曲線。命令如下:fplot('cos(tan

56、(pi*x))',[ 0,1],1e-4),2024年3月31日星期日,電子信息學院,b.簡易的函數(shù)繪圖命令ezplotMATLAB提供了一個ezplot函數(shù)繪制函數(shù)圖形,下面介紹其用法。(1) 對于函數(shù)f = f(x),ezplot函數(shù)的調用格式為:ezplot(f):在默認區(qū)間-2π<x<2π繪制f = f(x)的圖形。ezplot(f, [a,b]):在區(qū)間a<x<b繪制f = f(x)的圖

57、形。,2024年3月31日星期日,電子信息學院,(2) 對于函數(shù)f = f(x,y),ezplot函數(shù)的調用格式為:ezplot(f):在默認區(qū)間-2π<x<2π和-2π<y<2π繪制f(x,y) = 0的圖形。ezplot(f, [xmin,xmax,ymin,ymax]):在區(qū)間xmin<x<xmax和ymin<y<ymax繪制f(x,y) = 0的圖形。ezplot(f, [a

58、,b]):在區(qū)間a<x<b和a<y< b繪制f(x,y) = 0的圖形。,2024年3月31日星期日,電子信息學院,(3) 對于參數(shù)方程x = x(t)和y = y(t),ezplot函數(shù)的調用格式為:ezplot(x,y):在默認區(qū)間0<t<2π繪制x=x(t)和y=y(t)的圖形。ezplot(x,y, [tmin,tmax]):在區(qū)間tmin < t < tmax繪制x=x(t)

59、和y=y(t)的圖形。,2024年3月31日星期日,電子信息學院,3.4.2 函數(shù)極值 MATLAB提供了基于單純形算法求解函數(shù)極值的函數(shù)fmin和fmins,它們分別用于單變量函數(shù)和多變量函數(shù)的最小值,其調用格式為: x=fmin('fname',x1,x2) x=fmins('fname',x0)這兩個函數(shù)的調用格式相似。其中fmin函數(shù)用于求單變量函數(shù)的最小值點。fnam

60、e是被最小化的目標函數(shù)名,x1和x2限定自變量的取值范圍。fmins函數(shù)用于求多變量函數(shù)的最小值點,x0是求解的初始值向量。,2024年3月31日星期日,電子信息學院,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]內的最小值點。

61、 (1) 建立函數(shù)文件mymin.m。function fx=mymin(x)fx=x.^3-2*x-5; (2) 調用fmin函數(shù)求最小值點。x=fmin('mymin',0,5)x= 0.8165,2024年3月31日星期日,電子信息學院,3.4.2數(shù)值積分與微分3.4.2.1 數(shù)值積分基本原理 求解定積分的數(shù)值方法多種多樣,如簡單的梯形法、辛普生(Simpson)法、牛頓-柯

62、特斯(Newton-Cotes)法等都是經常采用的方法。它們的基本思想都是將整個積分區(qū)間[a,b]分成n個子區(qū)間[xi,xi+1],i=1,2,…,n,其中x1=a,xn+1=b。這樣求定積分問題就分解為求和問題。,2024年3月31日星期日,電子信息學院,3.4.2.2 數(shù)值積分的實現(xiàn)方法1.變步長辛普生法基于變步長辛普生法,MATLAB給出了quad函數(shù)來求定積分。該函數(shù)的調用格式為: [I,n]=quad('f

63、name',a,b,tol,trace)其中fname是被積函數(shù)名。a和b分別是定積分的下限和上限。tol用來控制積分精度,缺省時取tol=0.001。trace控制是否展現(xiàn)積分過程,若取非0則展現(xiàn)積分過程,取0則不展現(xiàn),缺省時取trace=0。返回參數(shù)I即定積分值,n為被積函數(shù)的調用次數(shù)。,2024年3月31日星期日,電子信息學院,例求定積分。 (1) 建立被積函數(shù)文件fesin.m。function f=fesi

64、n(x)f=exp(-0.5*x).*sin(x+pi/6); (2) 調用數(shù)值積分函數(shù)quad求定積分。[S,n]=quad('fesin',0,3*pi)S = 0.9008n = 77,2024年3月31日星期日,電子信息學院,2.牛頓-柯特斯法基于牛頓-柯特斯法,MATLAB給出了quad8函數(shù)來求定積分。該函數(shù)的調用格式為:[I,n]=quad8('fname'

65、,a,b,tol,trace)其中參數(shù)的含義和quad函數(shù)相似,只是tol的缺省值取10-6。該函數(shù)可以更精確地求出定積分的值,且一般情況下函數(shù)調用的步數(shù)明顯小于quad函數(shù),從而保證能以更高的效率求出所需的定積分值。,2024年3月31日星期日,電子信息學院,例求定積分。(1) 被積函數(shù)文件fx.m。function f=fx(x)f=x.*sin(x)./(1+cos(x).*cos(x));(2) 調用函數(shù)quad8求

66、定積分。I=quad8('fx',0,pi)I = 2.4674,2024年3月31日星期日,電子信息學院,例分別用quad函數(shù)和quad8函數(shù)求定積分的近似值,并在相同的積分精度下,比較函數(shù)的調用次數(shù)。調用函數(shù)quad求定積分:format long;fx=inline('exp(-x)');[I,n]=quad(fx,1,2.5,1e-10)I = 0.2857944425

67、4766n = 65,2024年3月31日星期日,電子信息學院,調用函數(shù)quad8求定積分:format long;fx=inline('exp(-x)');[I,n]=quad8(fx,1,2.5,1e-10)I = 0.28579444254754n = 33,2024年3月31日星期日,電子信息學院,3.被積函數(shù)由一個表格定義在MATLAB中,對由表格形式定義的函數(shù)關系的求定積分

68、問題用trapz(X,Y)函數(shù)。其中向量X,Y定義函數(shù)關系Y=f(X)。例 用trapz函數(shù)計算定積分。命令如下:X=1:0.01:2.5;Y=exp(-X); %生成函數(shù)關系數(shù)據向量trapz(X,Y)ans = 0.28579682416393,2024年3月31日星期日,電子信息學院,3.4.2 二重定積分的數(shù)值求解3.4.2使用MATLAB提供的dblquad函數(shù)就可以直接求出上述二重定積分的數(shù)

69、值解。該函數(shù)的調用格式為:I=dblquad(f,a,b,c,d,tol,trace)該函數(shù)求f(x,y)在[a,b]×[c,d]區(qū)域上的二重定積分。參數(shù)tol,trace的用法與函數(shù)quad完全相同。,2024年3月31日星期日,電子信息學院,例計算二重定積分(1) 建立一個函數(shù)文件fxy.m:function f=fxy(x,y)global ki;ki=ki+1; %ki用于統(tǒng)計被積

溫馨提示

  • 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

提交評論