




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、matlab 矩陣的表示和簡單操作一、矩陣的表示在 MATLAB 中創(chuàng)建矩陣有以下規(guī)則:a、矩陣元素必須在內(nèi)”;b、矩陣的同行元素之間用空格(或,)”隔開;c、矩陣的行與行之間用;(或回車符)隔開;d、矩陣的元素可以是數(shù)值、變量、表達式或函數(shù);e、矩陣的尺寸不必預(yù)先定義。二,矩陣的創(chuàng)建:1、直接輸入法最簡單的建立矩陣的方法是從鍵盤直接輸入矩陣的元素,輸入的方法按照上面的規(guī)則。建立向量的時候可以利用冒號表達式,冒號表達式可以產(chǎn)生一個行向量,一般格式是:e1:e2:e3,其中 el 為初始值,e2 為步長,e3 為終止值。還可以用 linspace 函數(shù)產(chǎn)生行向量,其調(diào)用格式為:linspace(
2、a,b,n),其中 a 和 b 是生成向量的第一個和最后一個元素,n 是元素總數(shù)。2、利用 MATLAB 函數(shù)創(chuàng)建矩陣基本矩陣函數(shù)如下:(1)ones()函數(shù):產(chǎn)生全為 1 的矩陣,ones(n):產(chǎn)生 n*n 維的全 1 矩陣,ones(m,n):產(chǎn)生 m*n 維的全 1 矩陣;zeros()函數(shù):產(chǎn)生全為 0 的矩陣;(3) rand()函數(shù):產(chǎn)生在(0,1)區(qū)間均勻分布的隨機陣;eye()函數(shù):產(chǎn)生單位陣;randn()函數(shù):產(chǎn)生均值為 0,方差為 1 的標(biāo)準(zhǔn)正態(tài)分布隨機矩陣。3、利用文件建立矩陣當(dāng)矩陣尺寸較大或為經(jīng)常使用的數(shù)據(jù)矩陣,則可以將此矩陣保存為文件,在需要時直接將文件利用 lo
3、ad 命令調(diào)入工作環(huán)境中使用即可。同時可以利用命令 reshape 對調(diào)入的矩陣進行重排。reshape(A,m,n),它在矩陣總元素保持不變的前提下,將矩陣 A 重新排成 m*n 的二維矩陣。二、矩陣的簡單操作1 .獲取矩陣元素可以通過下標(biāo)(行列索引)引用矩陣的元素,如 Matrix(m,n)。也可以采用矩陣元素的序號來引用矩陣元素。矩陣元素的序號就是相應(yīng)元素在內(nèi)存中的排列順序。在 MATLAB 中,矩陣元素按列存儲。序號(Index)與下標(biāo)(Subscript)是一一對應(yīng)的,以 m*n 矩 BA 為例,矩陣元素 A(i,j)的序號為(j-1)*m+i。其相互轉(zhuǎn)換關(guān)系也可利用 sub2ind
4、 和 ind2sub 函數(shù)求得。2 .矩陣拆分利用冒號表達式獲得子矩陣:A(:,j)表示取 A 矩陣的第 j 列全部元素;A(i,:)表示 A 矩陣第 i 行的全部元素;A(i,j)表示取 A 矩陣第 i 行、第 j列的元素。A(i:i+m,:)表示取 A 矩陣第 ii+m 行的全部元素;A(:,k:k+m)表示取 A 矩陣第 kk+m 列的全部元素,A(i:i+m,k:k+m)表示取 A 矩陣第 ii+m 行內(nèi),并在第 kk+m 列中的所有元素。此外,還可利用一般向量和 end 運算符來表示矩陣下標(biāo),從而獲得子矩陣。end 表示某一維的末尾元素下標(biāo)。利用空矩陣刪除矩陣的元素:在 MATLAB
5、 中,定義口為空矩陣。給變量 X 賦空矩陣的語句為 X=。注意,X=與 clearX 不同,clear 是將 X從工作空間中刪除,而空矩陣則存在于工作空間中,只是維數(shù)為 0。3、特殊矩陣(1)魔方矩陣魔方矩陣有一個有趣的性質(zhì),其每行、每列及兩條對角線上的元素和都相等。對于 n 階魔方陣,其元素由 1,2,3,n2 共 n2 個整數(shù)組成。MATLAB 提供了求魔方矩陣的函數(shù) magic(n),其功能是生成一個 n 階魔方陣。(2)范得蒙矩陣范得蒙(Vandermonde)矩陣最后一列全為 1,倒數(shù)第二列為一個指定的向量,其他各列是其后列與倒數(shù)第二列的點乘積??梢杂靡粋€指定向量生成一個范得蒙矩陣。
6、在 MATLAB 中,函數(shù)vander(V)生成以向量 V 為基礎(chǔ)向量的范得蒙矩陣。(3)希爾伯特矩陣在 MATLAB 中,生成希爾伯特矩陣的函數(shù)是 hilb(n)。使用一般方法求逆會因為原始數(shù)據(jù)的微小擾動而產(chǎn)生不可靠的計算結(jié)果。MATLAB 中,有一個專門求希爾伯特矩陣的逆的函數(shù) invhilb(n),其功能是求 n 階的希爾伯特矩陣的逆矩陣(4)托普利茲矩陣托普利茲(Toeplitz)矩陣除第一行第一列外,其他每個元素都與左上角的元素相同。生成托普利茲矩陣的函數(shù)是 toeplitz(x,y),它生成一個以 x 為第一列,y 為第一行的托普利茲矩陣。這里 x,y 均為向量,兩者不必等長。to
7、eplitz(x)用向量 x 生成一個對稱的托普利茲矩陣。伴隨!陣 MATLAB 生成伴隨矩陣的函數(shù)是 compan(p),其中 p 是一個多項式的系數(shù)向量,高次募系數(shù)排在前,低次募排在后。(6)帕斯卡矩陣我們知道,二次項(x+y)n 展開后的系數(shù)隨 n 的增大組成一個三角形表,稱為楊輝三角形。由楊輝三角形表組成的矩陣稱為帕斯卡(Pascal)矩陣。函數(shù) pascal(n)生成一個 n 階帕斯卡矩陣。三、矩陣的運算1、算術(shù)運算MATLAB 的基本算術(shù)運算有:+(加)、(減)、*(乘)、/(右除)、(左除)、A(乘方)、轉(zhuǎn)置)。運算是在矩陣意義下進行的,單個數(shù)據(jù)的算術(shù)運算只是一種特例。(1)矩陣
8、加減運算假定有兩個矩陣 A 和 B,則可以由 A+B 和 A-B 實現(xiàn)矩陣的加減運算。運算規(guī)則是:若 A 和 B 矩陣的維數(shù)相同,則可以執(zhí)行矩陣的加減運算,A 和 B 矩陣的相應(yīng)元素相加減。如果 A 與 B 的維數(shù)不相同,則 MATLAB 將給出錯誤信息,提示用戶兩個矩陣的維數(shù)不匹配。矩陣乘法假定有兩個矩陣 A 和 B,若 A 為 m*n 矩陣,B 為 n*p 矩陣,則 C=A*B 為 m*p 矩陣。(3)矩陣除法在 MATLAB 中,有兩種矩陣除法運算:和/,分別表示左除和右除。如果 A 矩陣是非奇異方陣,則 AB 和 B/A 運算可以實現(xiàn)。AB 等效于 A 的逆左乘 B 矩陣,也就是 in
9、v(A)*B,而 B/A 等效于A 矩陣的逆右乘 B 矩陣,也就是 B*inv(A)。對于含有標(biāo)量的運算,兩種除法運算的結(jié)果相同。對于矩陣來說,左除和右除表示兩種不同的除數(shù)矩陣和被除數(shù)矩陣的關(guān)系,一般BwB/A。(4)矩陣的乘方一個矩陣的乘方運算可以表示成 AAx,要求 A 為方陣,x 為標(biāo)量。(5)矩陣的轉(zhuǎn)置對實數(shù)矩陣進行行列互換,對復(fù)數(shù)矩陣,共斬轉(zhuǎn)置,特殊的,操作符.共樂不轉(zhuǎn)置(見點運算);(6)點運算在 MATLAB 中,有一種特殊的運算,因為其運算符是在有關(guān)算術(shù)運算符前面加點,所以叫點運算。點運算符有.*、./、和 A。兩矩陣進行點運算是指它們的對應(yīng)元素進行相關(guān)運算,要求兩矩陣的維參數(shù)
10、相同。2、關(guān)系運算MATLAB 提供了 6 種關(guān)系運算符:(小于)、=(小于或等于)、(大于)、=(大于或等于)、=(等于)、=(不等于)。關(guān)系運算符的運算法則為:(1)當(dāng)兩個比較量是標(biāo)量時,直接比較兩數(shù)的大小。若關(guān)系成立,關(guān)系表達式結(jié)果為 1,否則為0;(2)當(dāng)參與比較的量是兩個維數(shù)相同的矩陣時,比較是對兩矩陣相同位置的元素按標(biāo)量關(guān)系運算規(guī)則逐個進行,并給出元素比較結(jié)果。最終的關(guān)系運算的結(jié)果是一個維數(shù)與原矩陣相同的矩陣,它的元素由0 或 1 組成;(3)當(dāng)參與比較的一個是標(biāo)量, 而另一個是矩陣時, 則把標(biāo)量與矩陣的每一個元素按標(biāo)量關(guān)系運算規(guī)則逐個比較,并給出元素比較結(jié)果。最終的關(guān)系運算的結(jié)果
11、是一個維數(shù)與原矩陣相同的矩陣,它的元素由 0 或 1 組成。3、邏輯運算MATLAB 提供了 3 種邏輯運算符:&(與)、|(或)和(非)。邏輯運算的運算法則為:(1)在邏輯運算中,確認非零元素為真,用 1 表示,零元素為假,用 0 表示;(2)設(shè)參與邏輯運算的是兩個標(biāo)量 a 和 b,那么,a&ba,b 全為非零時,運算結(jié)果為 1,否則為 0。a|ba,b 中只要有一個非零,運算結(jié)果為 1。a 當(dāng) a 是零時,運算結(jié)果為 1;當(dāng) a 非零時,運算結(jié)果為 0。(3)若參與邏輯運算的是兩個同維矩陣,那么運算將對矩陣相同位置上的元素按標(biāo)量規(guī)則逐個進行。最終運算結(jié)果是一個與原矩陣同維的
12、矩陣,其元素由 1 或 0 組成;(4)若參與邏輯運算的一個是標(biāo)量,一個是矩陣,那么運算將在標(biāo)量與矩陣中的每個元素之間按標(biāo)量規(guī)則逐個進行。最終運算結(jié)果是一個與矩陣同維的矩陣,其元素由 1 或 0 組成;(5)邏輯非是單目運算符,也服從矩陣運算規(guī)則;(6)在算術(shù)、關(guān)系、邏輯運算中,算術(shù)運算優(yōu)先級最高,邏輯運算優(yōu)先級最低。四、矩陣分析1、對角陣(1)對角陣只有對角線上有非 0 元素的矩陣稱為對角矩陣,對角線上的元素相等的對角矩陣稱為數(shù)量矩陣,對角線上的元素都為 1 的對角矩陣稱為單位矩陣。(1)提取矩陣的對角線元素設(shè) A 為 m*n 矩陣,diag(A)函數(shù)用于提取矩陣 A 主對角線元素,產(chǎn)生一個
13、具有 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)對角陣,其第 m 條對角線的元素即為向量 V 的元素。2、三角陣三角陣又進一步分為上三角陣和下三角陣,所謂上三角陣,即矩陣的對角線以下的元素全為 0的一種矩陣,而下三角陣則是對角線以上的元素全為 0 的一種矩陣。(1)上三角矩陣求矩陣 A 的上三角陣
14、的 MATLAB 函數(shù)是 triu(A)。triu(A)函數(shù)也有另一種形式 triu(A,k),其功能是求矩陣 A 的第 k 條對角線以上的元素。(2)下三角矩陣在 MATLAB 中,提取矩陣 A 的下三角矩陣的函數(shù)是 tril(A)和 tril(A,k),其用法與提取上三角矩陣的函數(shù) triu(A)和 triu(A,k)完全相同。3、矩陣的轉(zhuǎn)置與旋轉(zhuǎn)(1)矩陣的轉(zhuǎn)置轉(zhuǎn)置運算符是單撇號(O)矩陣的旋轉(zhuǎn)利用函數(shù) rot90(A,k)將矩陣 A 旋車專90o 的 k 倍,當(dāng) k 為 1 時可省略。4、矩陣的翻轉(zhuǎn)對矩陣實施左右翻轉(zhuǎn)是將原矩陣的第一列和最后一列調(diào)換,第二列和倒數(shù)第二列調(diào)換,依次類推。矩
15、陣 A 實施左右翻轉(zhuǎn)的函數(shù)是 fliplr(A),對矩陣 A 實施上下翻轉(zhuǎn)的函數(shù)是 flipud(A)。5、矩陣的逆與偽逆(1)矩陣的逆對于一個方陣 A,如果存在一個與其同階的方陣 B,使得:AB=BA=I(I 為單位矩陣)則稱 B 為 A 的逆矩陣,當(dāng)然,A 也是 B 的逆矩陣。求方陣 A 的逆矩陣可調(diào)用函數(shù) inv(A)。(2)矩陣的偽逆如果矩陣 A 不是一個方陣,或者 A 是一個非滿秩的方陣時,矩 B人沒有逆矩陣,但可以找到一個與 A 的轉(zhuǎn)置矩陣 A同型的矩陣 B,使得:ABA=A,BAB=B 此時稱矩陣 B 為矩 BA 的偽逆,也稱為廣義逆矩陣。在 MATLAB 中,求一個矩陣偽逆的函
16、數(shù)是 pinv(A)。6、方陣的行列式把一個方陣看作一個行列式,并對其按行列式的規(guī)則求值,這個值就稱為矩陣所對應(yīng)的行列式的值。在 MATLAB 中,求方陣 A 所對應(yīng)的行列式的值的函數(shù)是 det(A)。7、矩陣的秩與跡(1)矩陣的秩矩陣線性無關(guān)的行數(shù)與列數(shù)稱為矩陣的秩。在rank(A)。(2)矩陣的跡矩陣的跡等于矩陣的對角線元素之和,也等于矩陣的特征值之和。在 MATLAB 中,求矩陣的跡的函數(shù)是 trace(A)。8、向量和矩陣的范數(shù)MATLAB 中,求矩陣秩的函數(shù)是矩陣或向量的范數(shù)用來度量矩陣或向量在某種意義下的長度。范數(shù)有多種方法定義,其定義不同,范數(shù)值也就不同。(1)向量的 3 種常用
17、范數(shù)及其計算函數(shù)在 MATLAB 中,求向量范數(shù)的函數(shù)為:a、norm(V)或 norm(V,2):計算向量 V 的 2-范數(shù);b、norm(V,1):計算向量 V 的 1-范數(shù);c、norm(V,inf):計算向量 V 的00-范數(shù)。(2)矩陣的范數(shù)及其計算函數(shù) MATLAB 提供了求 3 種矩陣范數(shù)的函數(shù),其函數(shù)調(diào)用格式與求向量的范數(shù)的函數(shù)完全相同。(3)矩陣的條件數(shù)在 MATLAB 中,計算矩陣 A 的 3 種條件數(shù)的函數(shù)是:a、cond(A,1)計算 A 的 1-范數(shù)下的條件數(shù);b、cond(A)或 cond(A,2)計算 A 的 2-范數(shù)數(shù)下的條件數(shù);c、cond(A,inf)計算
18、A 的00-范數(shù)下的條件數(shù)。9、矩陣的特征值與特征向量在 MATLAB 中,計算矩陣 A 的特征值和特征向量的函數(shù)是 eig(A),常用的調(diào)用格式有 3 種: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 作相似變換后求矩 BA 的特征值和特征向量,而格式 3 直接求矩陣 A 的特征值和特征向量。五、字符串在 MATLAB 中,字符串是用單撇號括起來的字符序列。MATLAB 將
19、字符串當(dāng)作一個行向量,每個元素對應(yīng)一個字符,其標(biāo)識方法和數(shù)值向量相同。也可以建立多行字符串矩陣。字符串是以ASCII 碼形式存儲的。abs 和 double 函數(shù)都可以用來獲取字符串矩陣所對應(yīng)的 ASCII 碼數(shù)值矩陣。相反,char 函數(shù)可以把 ASCII 碼矩陣轉(zhuǎn)換為字符串矩陣。與字符串有關(guān)的另一個重要函數(shù)是 eval,其調(diào)用格式為:eval_r(t)其中 t 為字符串。它的作用是把字符串的內(nèi)容作為對應(yīng)的 MATLAB 語句來執(zhí)行。六、其他查看矩陣非零元素的分布 spy(A);第二部分矩陣的應(yīng)用一、稀疏矩陣對于一個 n 階矩陣,通常需要 n2 的存儲空間,當(dāng) n 很大時,進行矩陣運算時會占
20、用大量的內(nèi)存空間和運算時間。在許多實際問題中遇到的大規(guī)模矩陣中通常含有大量 0 元素,這樣的矩陣稱為稀疏矩陣。Matlab 支持稀疏矩陣,只存儲矩陣的非零元素。由于不存儲那些0元素,也不對它們進行操作,從而節(jié)省內(nèi)存空間和計算時間,其計算的復(fù)雜性和代價僅僅取決于稀疏矩陣的非零元素的個數(shù),這在矩陣的存儲空間和計算時間上都有很大的優(yōu)點。矩陣的密度定義為矩陣中非零元素的個數(shù)除以矩陣中總的元素個數(shù)。對于低密度的矩陣,采用稀疏方式存儲是一種很好的選擇。1、稀疏矩陣的創(chuàng)建(1)將完全存儲方式轉(zhuǎn)化為稀疏存儲方式函數(shù) A=sparse(S)將矩陣 S 轉(zhuǎn)化為稀疏存儲方式的矩陣 A。當(dāng)矩陣 S 是稀疏存儲方式時,則函數(shù)調(diào)用相當(dāng)于 A=Sosparse 函數(shù)還有其他一些調(diào)用格式:sparse(m,n):生成一個 m*n 的所有元素都是 0 的稀疏矩陣。sparse(u,v,S)-:u,v,S 是 3 個等長的向量。S 是要建立的稀疏矩陣的非 0 元素,u(i)、v(i)分別是 S(i)的行和列下標(biāo),該函數(shù)建立一個 max(u)行、max(v)列并以 S 為稀疏元素的稀疏矩陣。此外,還有一些和稀疏矩陣操作有關(guān)的函數(shù)。full(A):返回和稀疏存儲矩陣 A 對應(yīng)的完全存儲方式矩陣。(2)直接創(chuàng)建稀疏矩陣 S=sparse(i,j,s,m,n),其中 i 和 j 分別是矩陣非零元
溫馨提示
- 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. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 云平臺服務(wù)質(zhì)量管理與提升
- 物業(yè)管理停車場租賃合同(3篇)
- 加強老舊小區(qū)排水管網(wǎng)修復(fù)與維護
- 網(wǎng)絡(luò)文明面試題及答案
- 數(shù)據(jù)結(jié)構(gòu)的試題及答案
- 產(chǎn)品檢測面試題庫及答案
- 村級災(zāi)害信息員培訓(xùn)的面臨的問題、機遇與挑戰(zhàn)
- 促進民營經(jīng)濟高質(zhì)量發(fā)展研究
- 生蠔買賣合同協(xié)議書
- 信職解剖實訓(xùn)考試題及答案
- DB42∕T 1710-2021 工程勘察鉆探封孔技術(shù)規(guī)程
- 空白個人簡歷表格
- 中考數(shù)學(xué)二次函數(shù)壓軸題專題
- 海洋生物活性物質(zhì)-活性多糖
- 飯店出兌合同范本兌店合同范本
- 質(zhì)量品控員績效考核表
- 中國銀行信用貸款業(yè)務(wù)產(chǎn)品介紹
- 懸挑腳手架懸挑方式與要求
- 專利申請流程PPT課件
- 偷盜行為主題班會教育ppt課件.pptx
- 迪斯尼最愛英文兒歌歌詞
評論
0/150
提交評論