《《matlab矩陣運算》PPT課件.ppt》由會員分享,可在線閱讀,更多相關(guān)《《matlab矩陣運算》PPT課件.ppt(32頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、Matlab 仿真及其應(yīng)用,主講:陳孝敬 E-mail:,主要內(nèi)容:,矩陣運算; 矩陣元素運算;,第3章 數(shù)學(xué)運算,3.1 矩陣運算,3.1.1 矩陣分析,1向量范式定義: 向量的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ù)。,例3-1 求向量x=1,2,3,4,5和y=3,0,5,2,2間的距離 x=1,2,3,4,5; y=3,0,5,2,2; norm(x,1); %1-范式 norm(x,inf); %范
2、數(shù) norm(x); e=x-y; norm(e);,2矩陣的秩: 矩陣中線性無關(guān)的列(行)向量個數(shù),稱為列(行)秩。 Matlab中用函數(shù)rank()來計算矩陣的秩。,例3-2 求向量eye(4),magic(4)和A=1,2,3 ;4,5,6;7,8,9的秩。 rank(eye(4)); rank(magic(4)); rank(A);,3矩陣的行列式: Matlab中用函數(shù)det()來計算矩陣的行列式。,例3-3 求向量eye(4),magic(4)和A=1,2,3 ;4,5,6;7,8,9的行列式。 det(eye(4)); det(magic(4)); det(A);,4矩陣的行列
3、跡: 矩陣的跡定義為對角元素之和。Matlab中用函數(shù)trace()來計算矩陣的行列式。 例3-4 求向量eye(4),magic(4)和A=1,2,3 ;4,5,6;7,8,9的行列式。 trace(eye(4)); trace(magic(4)); trace(A);,5矩陣化零矩陣: 對于非滿秩矩陣A,若存在矩陣Z使得AZ=0且ZZ=I,則稱 矩陣Z為矩陣A的化零矩陣。Matlab中用函數(shù)null()來計算矩陣的化零矩陣。 例3-5 求矩陣A=1,2,3 ;4,5,6;7,8,9的化零矩陣。 Z=null(A) 驗證AZ=0的具體代碼如下: AZ=A*Z 驗證ZTZ的具體代碼如下: ZT
4、Z=Z*Z,6矩陣的正交空間: 矩陣A的正交空間Q滿足QTQ=I,且矩陣Q與A具有相同的列基底,Matlab中用函數(shù)orth()來計算正交空間Q。 例3-6 求矩陣A1=1,2,3 ;4,5,6;7,8,9和A2=1,2,3 ;4,5,6;7,8,9;10,11,12的正交空間Q。 Q=orth(A1) R=orth(A2),7矩陣的簡化化梯形式: 矩陣A的簡化化梯形式為 ,其中 為r階單位矩陣。 Matlab 中用函數(shù)rref()來計算矩陣的簡化梯形形式 例3-7 求矩陣A1=1,2,3 ;4,5,6;7,8,9和A2=1,2,3 ;1,1,5;7,8,9;10,11,12的正交空間Q。
5、 Q=rref(A1) R=rref(A2),9矩陣空間之間的角度: 矩陣空間之間的角度代表具有相同行數(shù)的兩個矩陣線性相關(guān)程度,夾角越小代表線性相關(guān)度越高。Matlab中用函數(shù)subspace()來計算矩陣空間之間的角度。 例3-9 求矩陣A1=1,2,3;4,5,6;7,8,9和A2=1,2;3 ,4;5,6之間的夾角Q。 Q=subspace(A1,A2),3.1.2 線性方程組,Ax = b 有x = A-1b,但實際上并不顯式求A-1,例子: 7x = 21 x = 21/7=3 如果求逆 x = 7-1 21 = .142857 21 = 2.99997 這就需要一次除和一次乘
6、,且精度更低,Backslash運算符,AX = B,X = AB,左除,XA = B,X = B/A,右除,3-by-3的例子,,,,,線性方程組的解結(jié)構(gòu),齊次線性方程組的解結(jié)構(gòu) 非齊次線性方程組的解結(jié)構(gòu),1.齊次線性方程組的解結(jié)構(gòu),例3-10.判別方程組,有無非零解,若有,寫出其通解.,解 在MATLAB中輸入該方程組的系數(shù)矩陣A并將它化為最簡行階梯形矩陣,所用命令如下:, A=1 2 -1;2 5 2;1 4 7;1 3 3; rref(A),ans = 1 0 -9 0 1 4 0 0 0 0 0 0,由階梯形矩陣可知R(A)=2<3,所以齊次線性方程組有
7、非零解,即有無窮多個解.,該齊次線性方程組通解的參數(shù)形式為,其中k為任意實數(shù).,例3-11.用基礎(chǔ)解系表示齊次線性方程組,的通解.,解 所用MATLAB命令及運行結(jié)果為, A=1 1 1 1 1;3 2 1 1 -3;0 1 2 2 6;5 4 3 3 -1; format rat B=null(A , r) %求基礎(chǔ)解系,B = 1 1 5 -2 -2 -6 1 0 0 0 1 0 0 0 1, syms k1 k2 k3 %定義符號參數(shù) X=k1*B(:,1)+k2*B(:,2)+k3*B(:,3),X= k1+k2+5*k3 -2*k1-2k2-6k3
8、 k1 k2 k3,即,為方程組的通解,其中k1,k2,k3為任意實數(shù).,2.非齊次線性方程組的解結(jié)構(gòu),例3-12.求解方程組,解 在Matlab中輸入系數(shù)矩陣及常數(shù)列向量,并檢驗系數(shù)矩陣是否逆,所用命令及結(jié)果如下, A=2 1 1;3 1 2;1 -1 0; b=3 3 -1 ; det(A) %檢驗A是否可逆 ans = 2,系數(shù)矩陣行列式值等于2,是可逆的,則可以用矩陣相除來求解.,, X=Ab X= 1 2 -1,即是原方程組的解.,3.1.2 矩陣分解,矩陣分解:把矩陣分解成比較簡單或?qū)λ再|(zhì)比較熟悉的若干矩陣的乘積的形式;,1Cholesky
9、分解: Cholesky分解是把對稱正定矩陣表示成上三角矩陣的轉(zhuǎn)置與其本身的乘積,即:A=RTR,在Matlab中用函數(shù)chol來計算Cholesky分解 例3-13 求矩陣A=pascal(4)的Cholesky分解, A=pascal(4) R=chol(A) R*R,2LU分解: LU分解是將任意一個方正A分解成為一個交換下三角矩陣L(或是排列(permuted) 的上三角形矩陣)和一個上三角矩陣U的乘積,A=LU,在Matlab中用函數(shù)lu來計算LU分解 例3-14 求矩陣A=1,4,2;5,6,9;4,1,8的LU分解, L1,U1=lu(A) L1*U1,3奇異分解: 奇異值分解就
10、是將 的矩陣A分解為U*S*V,其中U 為 的酉矩陣,V為 的酉矩陣,S為 ,并可以表示如下: ,其中 ,r=rank(A), ,Matlab中奇異值是有函數(shù)svd()實現(xiàn)的。用svd計算矩陣A=1 4 2;5 6 9 例3-15 求矩陣A=1 4 2;5 6 9的奇異分解, U,S,V=SVD(A),4QR分解: QR分解法是將矩陣分解成一個正規(guī)正交矩陣與上三角形矩陣,所以稱為QR分解法,與此正規(guī)正交矩陣的通用符號Q有關(guān)。 Matlab以qr函數(shù)來執(zhí)行QR分解法, 其語法為Q,R=qr(A)。 例3-15 求矩陣A=1 4 2;5 6 9的奇異分解, U,S=q
11、r(A),3.1.3 矩陣的特征值和特征向量,矩陣的特征值與特征向量在MATLAB中,計算矩陣A的特征值和特征向量的函數(shù)是eig(A),常用的調(diào)用格式有3種:(1) E=eig(A):求矩陣A的全部特征值,構(gòu)成向量E。(2) V,D=eig(A):求矩陣A的全部特征值,構(gòu)成對角陣D,并求A的特征向量構(gòu)成V的列向量。 (3) V,D=eig(A,nobalance):與第2種格式類似,但第2種格式中先對A作相似變換后求矩陣A的特征值和特征向量,而格式3直接求矩陣A的特征值和特征向量。,,例3-16 求矩陣A=6,12,19;-9,-20,-33;4,9,15的特征值和特征向量 V,D=eig(A
12、);,例3-17 用求特征值的方法解方程。3x5-7x4+5x2+2x-18=0p=3,-7,0,5,2,-18;A=compan(p); %A的伴隨矩陣x1=eig(A) %求A的特征值x2=roots(p) %直接求多項式p的零點,,例3-18.求解方程組,解 先用Matlab函數(shù)null求出對應(yīng)的齊次線性方程組的基礎(chǔ)解系,再利用其系數(shù)矩陣的上、下三角陣求出方程組的一個特解,這樣即可得到該方程組的通解,程序如下:, A=1 1 -3 -1;3 -1 -3 4;1 5 -9 -8; b=1 4 0 ; format rat C=null(A , r); %求基礎(chǔ)解系 L,U=
13、lu(A); %A=LU,L為上三角陣,U為下三角陣 X0= U(Lb) %用LU求出一個齊次方程的特解, syms k1 k2 X=k1*C(:,1)+k2*C(:,2)+X0,運行結(jié)果為,X0 = 0 0 -8/15 3/5,X = 3/2*k1-3/4*k2 3/2*k1+7/4*k2 k1-8/15 k2+3/5,即,為該非齊次方程組的通解,其中k1,k2為任意實數(shù).,3.2 矩陣元素運算,矩陣運算主要是對矩陣里的每個元素進行運算!,3.2.1 三角函數(shù)(p48),例3-18 計算矩陣A=6,12,19;-9,-20,-33;4,9
14、,15每個元素的正弦,其中元素值的單位為弧度。Y=sin(A);,3.2.2 指數(shù)和對數(shù)函數(shù)(p48-49),例3-19計算矩陣A=6,12,19;-9,-20,-33;4,9,15每個元素的正指數(shù)和對數(shù),其中元素值的單位為弧度。Y=exp(A); Y1=log2(abs(A));,,3.2.2 截斷和求余函數(shù)(p49-50),例3-21分別使用函數(shù)mod()和rem(),對標量除法-5/2進行求余。 rem(-5,2) mod(-5,2),例3-22 計算向量a=-4:2:6每個元素的符號。 a=-4:2:6; B=sign(a),3.2.3 坐標變換函數(shù)(P52),例3-23 將迪卡爾坐標系中(1,1,1)分別轉(zhuǎn)換到球坐標系和極坐標中。 THETA,PHI,R=cart2sph(1,1,1) P= THETA,PHI,R THETA,PHI,Z=cart2pol(1,1,1) Q= THETA,PHI,Z R=P;Q,