第3章 MATLAB矩陣分析與處理_第1頁
第3章 MATLAB矩陣分析與處理_第2頁
第3章 MATLAB矩陣分析與處理_第3頁
第3章 MATLAB矩陣分析與處理_第4頁
第3章 MATLAB矩陣分析與處理_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第3章MATLAB矩陣分析與處理3.1特殊矩陣3.2矩陣變換3.3矩陣求值3.4矩陣的特征值與特征向量3.5稀疏矩陣3.1特殊矩陣

3.1.1通用的特殊矩陣

常用的產(chǎn)生通用特殊矩陣的函數(shù)有:

zeros:產(chǎn)生全0矩陣(零矩陣)。

ones:產(chǎn)生全1矩陣(幺矩陣)。

eye:產(chǎn)生單位矩陣。

rand:產(chǎn)生0~1區(qū)間均勻分布的隨機矩陣。

randn:產(chǎn)生均值為0,方差為1的標(biāo)準正態(tài)分布隨機矩陣。例3-1建立隨機矩陣:

(1)在區(qū)間[20,50]內(nèi)均勻分布的5階隨機矩陣。

(2)均值為0.6、方差為0.1的5階正態(tài)分布隨機矩陣。分析:產(chǎn)生(0,1)區(qū)間均勻分布隨機矩陣使用rand函數(shù),假設(shè)得到了一組滿足(0,1)區(qū)間均勻分布的隨機數(shù)xi,則若想得到在任意[a,b]區(qū)間上均勻分布的隨機數(shù),只需用yi=a+(b-a)xi計算即可。產(chǎn)生均值為0、方差為1的標(biāo)準正態(tài)分布隨機矩陣使用randn函數(shù),假設(shè)已經(jīng)得到了一組標(biāo)準正態(tài)分布隨機數(shù)xi,如果想更一般地得到均值為μ、方差為σ2的隨機數(shù),可用yi=μ+σxi計算出來。>>x=20+(50-20)*rand(5)x=44.441722.926224.728424.256639.672247.173828.354949.117832.652821.071423.809636.406448.715047.472145.473947.401348.725234.561343.766248.019838.970848.946744.008448.784840.3621>>y=0.6+sqrt(0.1)*randn(5)y=0.92720.88091.05490.56770.59050.82990.23730.70280.52360.54790.50400.26200.36130.70090.79850.69290.34401.03330.69890.94570.3510-0.33110.05880.32650.95083.1.2用于專門學(xué)科的特殊矩陣

(1)魔方矩陣

魔方矩陣有一個有趣的性質(zhì),其每行、每列及兩條對角線上的元素和都相等。對于n階魔方陣,其元素由1,2,3,…,n2共n2個整數(shù)組成。MATLAB提供了求魔方矩陣的函數(shù)magic(n),其功能是生成一個n階魔方陣。例3-2將101~125等25個數(shù)填入一個5行5列的表格中,使其每行每列及對角線的和均為565。

M=100+magic(5)M=

117124101108115

123105107114116

104106113120122

110112119121103

111118125102109

(2)范得蒙矩陣

范得蒙(Vandermonde)矩陣最后一列全為1,倒數(shù)第二列為一個指定的向量,其他各列是其后列與倒數(shù)第二列的點乘積??梢杂靡粋€指定向量生成一個范得蒙矩陣。在MATLAB中,函數(shù)vander(V)生成以向量V為基礎(chǔ)向量的范得蒙矩陣。例如,A=vander([1;2;3;5])

A=

1111

8421

27931

1252551(3)希爾伯特矩陣

在MATLAB中,生成希爾伯特矩陣的函數(shù)是hilb(n)

使用一般方法求逆會因為原始數(shù)據(jù)的微小擾動而產(chǎn)生不可靠的計算結(jié)果。MATLAB中,有一個專門求希爾伯特矩陣的逆的函數(shù)invhilb(n),其功能是求n階的希爾伯特矩陣的逆矩陣。例3-3求4階希爾伯特矩陣及其逆矩陣。

命令如下:

formatrat%以有理形式輸出

H=hilb(4)

H=11/21/31/41/21/31/41/51/31/41/51/61/41/51/61/7H=invhilb(4)

(4)托普利茲矩陣

托普利茲(Toeplitz)矩陣除第一行第一列外,其他每個元素都與左上角的元素相同。生成托普利茲矩陣的函數(shù)是toeplitz(x,y),它生成一個以x為第一列,y為第一行的托普利茲矩陣。這里x,y均為向量,兩者不必等長。toeplitz(x)用向量x生成一個對稱的托普利茲矩陣。例如

T1=toeplitz(1:6)T2=toeplitz(1:4,1:5)(5)伴隨矩陣

MATLAB生成伴隨矩陣的函數(shù)是compan(p),其中p是一個多項式的系數(shù)向量,高次冪系數(shù)排在前,低次冪排在后。例如,為了求多項式的x3-7x+6的伴隨矩陣,可使用命令:

p=[1,0,-7,6];

compan(p)(6)帕斯卡矩陣

我們知道,二次項(x+y)n展開后的系數(shù)隨n的增大組成一個三角形表,稱為楊輝三角形。由楊輝三角形表組成的矩陣稱為帕斯卡(Pascal)矩陣。函數(shù)pascal(n)生成一個n階帕斯卡矩陣。例3-4求(x+y)5的展開式。

在MATLAB命令窗口,輸入命令:

pascal(6)

矩陣次對角線上的元素1,5,10,10,5,1即為展開式的系數(shù)。3.2矩陣變換

3.2.1對角陣與三角陣

1.對角陣

只有對角線上有非0元素的矩陣稱為對角矩陣,對角線上的元素相等的對角矩陣稱為數(shù)量矩陣,對角線上的元素都為1的對角矩陣稱為單位矩陣。

(1)提取矩陣的對角線元素

設(shè)A為m×n矩陣,diag(A)函數(shù)用于提取矩陣A主對角線元素,產(chǎn)生一個具有min(m,n)個元素的列向量。

diag(A)函數(shù)還有一種形式diag(A,k),其功能是提取第k條對角線的元素。(2)構(gòu)造對角矩陣

設(shè)V為具有m個元素的向量,diag(V)將產(chǎn)生一個m×m對角矩陣,其主對角線元素即為向量V的元素。

diag(V)函數(shù)也有另一種形式diag(V,k),其功能是產(chǎn)生一個n×n(n=m+|k|)對角陣,其第k條對角線的元素即為向量V的元素。例3-5先建立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ù)2.三角陣

三角陣又進一步分為上三角陣和下三角陣,所謂上三角陣,即矩陣的對角線以下的元素全為0的一種矩陣,而下三角陣則是對角線以上的元素全為0的一種矩陣。

(1)上三角矩陣

求矩陣A的上三角陣的MATLAB函數(shù)是triu(A)。

triu(A)函數(shù)也有另一種形式triu(A,k),其功能是求矩陣A的第k條對角線以上的元素。例如,提取矩陣A的第2條對角線以上的元素,形成新的矩陣B。

(2)下三角矩陣

在MATLAB中,提取矩陣A的下三角矩陣的函數(shù)是tril(A)和tril(A,k),其用法與提取上三角矩陣的函數(shù)triu(A)和triu(A,k)完全相同。3.2.2矩陣的轉(zhuǎn)置與旋轉(zhuǎn)

1.矩陣的轉(zhuǎn)置

轉(zhuǎn)置運算符是小數(shù)點后面接單引號(.')。還有一種轉(zhuǎn)置叫共軛轉(zhuǎn)置,其運算符是單引號('),它在轉(zhuǎn)置的基礎(chǔ)上還要取每個數(shù)的復(fù)共軛。例如,B=A'得到的B就是A的共軛轉(zhuǎn)置矩陣,等價于B=conj(A).'或B=conj(A.')。如果矩陣的元素都是實數(shù),那么轉(zhuǎn)置和共軛轉(zhuǎn)置的結(jié)果是一樣的。2.矩陣的旋轉(zhuǎn)

利用函數(shù)rot90(A,k)將矩陣A旋轉(zhuǎn)90o的k倍,當(dāng)k為1時可省略。

3.矩陣的左右翻轉(zhuǎn)

對矩陣實施左右翻轉(zhuǎn)是將原矩陣的第一列和最后一列調(diào)換,第二列和倒數(shù)第二列調(diào)換,…,依次類推。MATLAB對矩陣A實施左右翻轉(zhuǎn)的函數(shù)是fliplr(A)。

4.矩陣的上下翻轉(zhuǎn)

MATLAB對矩陣A實施上下翻轉(zhuǎn)的函數(shù)是flipud(A)。3.2.3矩陣的逆與偽逆1.矩陣的逆對于一個方陣A,如果存在一個與其同階的方陣B,使得:

A·B=B·A=I(I為單位矩陣)

則稱B為A的逆矩陣,當(dāng)然,A也是B的逆矩陣。

求一個矩陣的逆是一件非常煩瑣的工作,容易出錯,但在MATLAB中,求一個矩陣的逆非常容易。求方陣A的逆矩陣可調(diào)用函數(shù)inv(A)。

如果矩陣A不是一個方陣,或者A是一個非滿秩的方陣時,矩陣A沒有逆矩陣,但可以找到一個與A的轉(zhuǎn)置矩陣A‘同型的矩陣B,使得:

A·B·A=A

B·A·B=B

此時稱矩陣B為矩陣A的偽逆,也稱為廣義逆矩陣。在MATLAB中,求一個矩陣偽逆的函數(shù)是pinv(A)。2用矩陣求逆方法求解線性方程組在線性方程組Ax=b兩邊各左乘A-1,有A-1Ax=A-1b由于A-1A=I,故得x=A-1b例3-7用求逆矩陣的方法解線性方程組。命令如下:A=[1,2,3;1,4,9;1,8,27];b=[5,-2,6]';x=inv(A)*b也可以運用左除運算符“\”求解線性代數(shù)方程組。3.矩陣的偽逆如果矩陣A不是一個方陣,或者A是一個非滿秩的方陣時,矩陣A沒有逆矩陣,但可以找到一個與A的轉(zhuǎn)置矩陣A'同型的矩陣B,使得:A·B·A=AB·A·B=B此時稱矩陣B為矩陣A的偽逆,也稱為廣義逆矩陣。在MATLAB中,求一個矩陣偽逆的函數(shù)是pinv(A)。3.3矩陣求值3.3.1方陣的行列式

把一個方陣看作一個行列式,并對其按行列式的規(guī)則求值,這個值就稱為所對應(yīng)的行列式的值。在MATLAB中,求方陣A所對應(yīng)的行列式的值的函數(shù)是det(A)。3.4.2矩陣的秩與跡

1.矩陣的秩

矩陣線性無關(guān)的行數(shù)與列數(shù)稱為矩陣的秩。在MATLAB中,求矩陣秩的函數(shù)是rank(A)。

2.矩陣的跡

矩陣的跡等于矩陣的對角線元素之和,也等于矩陣的特征值之和。在MATLAB中,求矩陣的跡的函數(shù)是trace(A)。3.3.3向量和矩陣的范數(shù)

矩陣或向量的范數(shù)用來度量矩陣或向量在某種意義下的長度。范數(shù)有多種方法定義,其定義不同,范數(shù)值也就不同。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ù)。2.矩陣的范數(shù)及其計算函數(shù)

MATLAB提供了求3種矩陣范數(shù)的函數(shù),其函數(shù)調(diào)用格式與求向量的范數(shù)的函數(shù)完全相同。3.3.4矩陣的條件數(shù)

在MATLAB中,計算矩陣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ù)。3.4矩陣的特征值與特征向量

在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的特征值和特征向量。(4)可用A*V和V*D來驗證結(jié)果。例3-8用求特征值的方法解方程。

3x5-7x4+5x2+2x-18=0

p=[3,-7,0,5,2,-18];

A=compan(p);%A的伴隨矩陣

x1=eig(A)%求A的特征值x1=

2.1837+0.0000i

1.0000+1.0000i

1.0000-1.0000i

-0.9252+0.7197i

-0.9252-0.7197i

x2=roots(p)%直接求多項式p的零點3.5稀疏矩陣3.5.1矩陣存儲方式

MATLAB的矩陣有兩種存儲方式:完全存儲方式和稀疏存儲方式。1.完全存儲方式完全存儲方式是將矩陣的全部元素按列存儲。2.稀疏存儲方式稀疏存儲方式僅存儲矩陣所有的非零元素的值及其位置,即行號和列號。在MATLAB中,稀疏存儲方式也是按列存儲的。設(shè):A是具有稀疏特征的矩陣,其完全存儲方式是按列存儲全部12個元素:1、0、2、0、5、0、0、0、0、0、0、7,其稀疏存儲方式如下:(1,1),1,(3,1),2,(2,2),5,(3,4),7括號內(nèi)為元素的行列位置,其后面為元素值。3.5.2稀疏存儲方式的產(chǎn)生1.將完全存儲方式轉(zhuǎn)化為稀疏存儲方式函數(shù)A=sparse(S)將矩陣S轉(zhuǎn)化為稀疏存儲方式的矩陣A。當(dāng)矩陣S是稀疏存儲方式時,則函數(shù)調(diào)用相當(dāng)于A=S。sparse函數(shù)還有其他一些調(diào)用格式。①sparse(m,n):生成一個m×n的所有元素都是0的稀疏矩陣。②sparse(u,v,S):其中u、v、S是3個等長的向量。S是要建立的稀疏矩陣的非零元素,u(i)、v(i)分別是S(i)的行和列下標(biāo),該函數(shù)建立一個max(u)行

溫馨提示

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

評論

0/150

提交評論