版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第第3 3章章 數(shù)組和矩陣分析數(shù)組和矩陣分析MATLAB語言最基本和最重要的功能就是進(jìn)行矩陣運(yùn)算,所語言最基本和最重要的功能就是進(jìn)行矩陣運(yùn)算,所有的數(shù)值功能都以矩陣為基本單元來實(shí)現(xiàn)。本章將對(duì)有的數(shù)值功能都以矩陣為基本單元來實(shí)現(xiàn)。本章將對(duì)MATLAB中的數(shù)組和矩陣及其運(yùn)算進(jìn)行詳細(xì)的介紹。中的數(shù)組和矩陣及其運(yùn)算進(jìn)行詳細(xì)的介紹。3.1 3.1 數(shù)組及其函數(shù)數(shù)組及其函數(shù)下面介紹下面介紹MATLAB中如何建立數(shù)組,以及數(shù)組的常用操作等中如何建立數(shù)組,以及數(shù)組的常用操作等,包括數(shù)組的算術(shù)運(yùn)算、關(guān)系運(yùn)算和邏輯運(yùn)算,以及數(shù),包括數(shù)組的算術(shù)運(yùn)算、關(guān)系運(yùn)算和邏輯運(yùn)算,以及數(shù)組信息的獲取等。組信息的獲取等。3.1.
2、1 3.1.1 數(shù)組的建立和操作數(shù)組的建立和操作在在MATLAB中,一般使用方括號(hào)(中,一般使用方括號(hào)( )、逗號(hào)()、逗號(hào)(,)、空格)、空格及分號(hào)(及分號(hào)(;)來創(chuàng)建數(shù)組。數(shù)組中同一行的元素之間用逗)來創(chuàng)建數(shù)組。數(shù)組中同一行的元素之間用逗號(hào)或空格進(jìn)行分割,不同行之間用分號(hào)進(jìn)行分割。需要號(hào)或空格進(jìn)行分割,不同行之間用分號(hào)進(jìn)行分割。需要注意的是,這些符號(hào)都必須在英文輸入狀態(tài)下輸入。注意的是,這些符號(hào)都必須在英文輸入狀態(tài)下輸入??諗?shù)組是空數(shù)組是MATLAB中最特殊的數(shù)組,不含有任何元素,可以中最特殊的數(shù)組,不含有任何元素,可以用于數(shù)組的聲明或者清空等。創(chuàng)建空數(shù)組非常簡單,只用于數(shù)組的聲明或者清空
3、等。創(chuàng)建空數(shù)組非常簡單,只要把變量賦值為一對(duì)方括號(hào)即可。數(shù)組是有方向的,一要把變量賦值為一對(duì)方括號(hào)即可。數(shù)組是有方向的,一維數(shù)組包括行向量和列向量,行向量是以行方向分布的維數(shù)組包括行向量和列向量,行向量是以行方向分布的,列向量是以列方向分布的。創(chuàng)建一維行向量,把所有,列向量是以列方向分布的。創(chuàng)建一維行向量,把所有用空格或逗號(hào)分割的元素用方括號(hào)括起來;創(chuàng)建一維列用空格或逗號(hào)分割的元素用方括號(hào)括起來;創(chuàng)建一維列向量,把所有用分號(hào)分割的元素用方括號(hào)括起來。向量,把所有用分號(hào)分割的元素用方括號(hào)括起來。3.1.2 3.1.2 數(shù)組的算術(shù)運(yùn)算數(shù)組的算術(shù)運(yùn)算數(shù)組運(yùn)算是從數(shù)組的單個(gè)元素出發(fā),針對(duì)每個(gè)元素進(jìn)行的
4、運(yùn)數(shù)組運(yùn)算是從數(shù)組的單個(gè)元素出發(fā),針對(duì)每個(gè)元素進(jìn)行的運(yùn)算。在算。在MATLAB中,一維數(shù)組的基本算術(shù)運(yùn)算有:(中,一維數(shù)組的基本算術(shù)運(yùn)算有:(加)、(減)、加)、(減)、.*(乘)、(乘)、./(左除)、(左除)、.(右除)和(右除)和(乘方)等。(乘方)等。數(shù)組的加減運(yùn)算規(guī)則:若數(shù)組數(shù)組的加減運(yùn)算規(guī)則:若數(shù)組A和和B的維數(shù)相同,則可以執(zhí)的維數(shù)相同,則可以執(zhí)行加減運(yùn)算,相應(yīng)元素相加減。如果行加減運(yùn)算,相應(yīng)元素相加減。如果A和和B的維數(shù)不相同的維數(shù)不相同,則,則MATLAB將給出錯(cuò)誤信息,提示用戶兩個(gè)數(shù)組的維將給出錯(cuò)誤信息,提示用戶兩個(gè)數(shù)組的維數(shù)不匹配。數(shù)不匹配。3.1.2 3.1.2 數(shù)組的算
5、術(shù)運(yùn)算數(shù)組的算術(shù)運(yùn)算在在MATLAB中,數(shù)組的乘法和除法分別用中,數(shù)組的乘法和除法分別用“.*”和和“./”表示表示。如果數(shù)組。如果數(shù)組A和和B具有相同的維數(shù),則數(shù)組的乘法表示數(shù)具有相同的維數(shù),則數(shù)組的乘法表示數(shù)組組A和和B中對(duì)應(yīng)的元素相乘,數(shù)組的除法表示數(shù)組中對(duì)應(yīng)的元素相乘,數(shù)組的除法表示數(shù)組A和和B中中對(duì)應(yīng)的元素相除。對(duì)應(yīng)的元素相除。 右除和左除的關(guān)系為:右除和左除的關(guān)系為:A./B=B.A,其中是,其中是A被除數(shù),被除數(shù),B是除是除數(shù)。數(shù)。 3.1.3 3.1.3 數(shù)組的關(guān)系運(yùn)算數(shù)組的關(guān)系運(yùn)算MATLAB提供了提供了6種關(guān)系運(yùn)算符:種關(guān)系運(yùn)算符:(小于(小于)、(大于(大于)、=(大于或
6、等于)、(大于或等于)、=(恒等于)、(恒等于)、=(不等于)。它們的含義很容易理解,需要注意的是其(不等于)。它們的含義很容易理解,需要注意的是其書寫方法與數(shù)學(xué)中的不等式符號(hào)不盡相同。書寫方法與數(shù)學(xué)中的不等式符號(hào)不盡相同。當(dāng)參與比較的量是兩個(gè)維數(shù)相同的數(shù)組時(shí),比較兩數(shù)組相同當(dāng)參與比較的量是兩個(gè)維數(shù)相同的數(shù)組時(shí),比較兩數(shù)組相同位置的元素,并給出比較結(jié)果。最終的關(guān)系運(yùn)算的結(jié)果位置的元素,并給出比較結(jié)果。最終的關(guān)系運(yùn)算的結(jié)果是一個(gè)維數(shù)與原矩陣相同的數(shù)組,由是一個(gè)維數(shù)與原矩陣相同的數(shù)組,由0或或1組成。組成。當(dāng)參與比較的一個(gè)是標(biāo)量,而另一個(gè)是數(shù)組時(shí),則把標(biāo)量與當(dāng)參與比較的一個(gè)是標(biāo)量,而另一個(gè)是數(shù)組時(shí)
7、,則把標(biāo)量與數(shù)組的每一個(gè)元素逐個(gè)比較,最終的關(guān)系運(yùn)算的結(jié)果是數(shù)組的每一個(gè)元素逐個(gè)比較,最終的關(guān)系運(yùn)算的結(jié)果是一個(gè)維數(shù)與原數(shù)組相同的數(shù)組。一個(gè)維數(shù)與原數(shù)組相同的數(shù)組。3.1.4 3.1.4 數(shù)組的邏輯運(yùn)算數(shù)組的邏輯運(yùn)算在在MATLAB中,提供了中,提供了3種邏輯運(yùn)算符,分別是種邏輯運(yùn)算符,分別是&(邏輯與(邏輯與)、)、|(邏輯或)和(邏輯非)。(邏輯或)和(邏輯非)。在邏輯運(yùn)算中,如果為非零元素則為邏輯真,用在邏輯運(yùn)算中,如果為非零元素則為邏輯真,用1表示,零表示,零元素為邏輯假,用元素為邏輯假,用0表示。表示。3.1.3 3.1.3 數(shù)組信息的獲取數(shù)組信息的獲取下面介紹如何獲取數(shù)組的
8、信息,包括數(shù)組大小、維度、數(shù)據(jù)下面介紹如何獲取數(shù)組的信息,包括數(shù)組大小、維度、數(shù)據(jù)類型、內(nèi)存占用,以及數(shù)組的元素查找和排序等。類型、內(nèi)存占用,以及數(shù)組的元素查找和排序等。函數(shù)函數(shù)isempty(A):該函數(shù)檢測數(shù)組是否為空,如果為空,返:該函數(shù)檢測數(shù)組是否為空,如果為空,返回值為回值為1,否則,返回值為,否則,返回值為0。函數(shù)函數(shù)isscalar(A) 檢測數(shù)組是否為單個(gè)元素的標(biāo)量。檢測數(shù)組是否為單個(gè)元素的標(biāo)量。函數(shù)函數(shù)isvector(A) 檢測數(shù)組是否為行向量或列向量。檢測數(shù)組是否為行向量或列向量。函數(shù)函數(shù)isrow( ) 檢測數(shù)組是否為列向量。檢測數(shù)組是否為列向量。函數(shù)函數(shù)iscolum
9、( ) 檢測數(shù)組是否為行向量。檢測數(shù)組是否為行向量。函數(shù)函數(shù)issparse( ) 檢測數(shù)組是否為稀疏矩陣。檢測數(shù)組是否為稀疏矩陣。3.1.3 3.1.3 數(shù)組信息的獲取數(shù)組信息的獲取下面介紹如何獲取數(shù)組的信息,包括數(shù)組大小、維度、數(shù)據(jù)下面介紹如何獲取數(shù)組的信息,包括數(shù)組大小、維度、數(shù)據(jù)類型、內(nèi)存占用,以及數(shù)組的元素查找和排序等。類型、內(nèi)存占用,以及數(shù)組的元素查找和排序等。函數(shù)函數(shù)isempty(A):該函數(shù)檢測數(shù)組是否為空,如果為空,返:該函數(shù)檢測數(shù)組是否為空,如果為空,返回值為回值為1,否則,返回值為,否則,返回值為0。函數(shù)函數(shù)isscalar(A) 檢測數(shù)組是否為單個(gè)元素的標(biāo)量。檢測數(shù)組
10、是否為單個(gè)元素的標(biāo)量。函數(shù)函數(shù)isvector(A) 檢測數(shù)組是否為行向量或列向量。檢測數(shù)組是否為行向量或列向量。函數(shù)函數(shù)isrow( ) 檢測數(shù)組是否為列向量。檢測數(shù)組是否為列向量。函數(shù)函數(shù)iscolum( ) 檢測數(shù)組是否為行向量。檢測數(shù)組是否為行向量。函數(shù)函數(shù)issparse( ) 檢測數(shù)組是否為稀疏矩陣。檢測數(shù)組是否為稀疏矩陣。3.1.3 3.1.3 數(shù)組信息的獲取數(shù)組信息的獲取在在MATLAB中,最常用的檢測數(shù)組大小的函數(shù)是中,最常用的檢測數(shù)組大小的函數(shù)是size( )和和length( )。 函數(shù)函數(shù)size( ) 獲取數(shù)組的行數(shù)和列數(shù)獲取數(shù)組的行數(shù)和列數(shù) ,函數(shù),函數(shù)length
11、( )獲取獲取一一維數(shù)組的長度,如果是二維數(shù)組,則返回行數(shù)和列數(shù)中維數(shù)組的長度,如果是二維數(shù)組,則返回行數(shù)和列數(shù)中的較大者的較大者 。函數(shù)函數(shù)ndims( )計(jì)算數(shù)組的維度計(jì)算數(shù)組的維度 。3.1.3 3.1.3 數(shù)組信息的獲取數(shù)組信息的獲取在在MATLAB中,可以采用函數(shù)中,可以采用函數(shù)whos來獲取數(shù)組的大小,以來獲取數(shù)組的大小,以及占用內(nèi)存的多少。對(duì)于數(shù)組中不同的數(shù)據(jù)類型,占用及占用內(nèi)存的多少。對(duì)于數(shù)組中不同的數(shù)據(jù)類型,占用的內(nèi)存也不一樣。的內(nèi)存也不一樣。在在MATLAB中,數(shù)組元素的查找采用函數(shù)中,數(shù)組元素的查找采用函數(shù)find( ),返回關(guān)系,返回關(guān)系表達(dá)式為真的元素的下標(biāo)。表達(dá)式為
12、真的元素的下標(biāo)。 在在MATLAB中,數(shù)組的排序使用函數(shù)中,數(shù)組的排序使用函數(shù)sort( ),該函數(shù)默認(rèn)按,該函數(shù)默認(rèn)按照升序排列,返回值為排序后的數(shù)組,和原數(shù)組維數(shù)相照升序排列,返回值為排序后的數(shù)組,和原數(shù)組維數(shù)相同。同。3.2 3.2 矩陣的創(chuàng)建矩陣的創(chuàng)建矩陣的創(chuàng)建有多種方式,最簡單的是在命令窗口中直接輸入矩陣的創(chuàng)建有多種方式,最簡單的是在命令窗口中直接輸入矩陣,比較適合創(chuàng)建比較小的矩陣。把矩陣的元素放到矩陣,比較適合創(chuàng)建比較小的矩陣。把矩陣的元素放到方括號(hào)里面,每行的元素用空格或逗號(hào)分割,每列用分方括號(hào)里面,每行的元素用空格或逗號(hào)分割,每列用分號(hào)分割。需要注意的是每行的元素?cái)?shù)必須相等,每
13、列的號(hào)分割。需要注意的是每行的元素?cái)?shù)必須相等,每列的元素?cái)?shù)也必須相等。元素?cái)?shù)也必須相等。此外,還可以通過語句和函數(shù)生成矩陣,例如函數(shù)此外,還可以通過語句和函數(shù)生成矩陣,例如函數(shù)eye( )用用于生成單位矩陣。另外,還可以通過于生成單位矩陣。另外,還可以通過M文件來建立矩陣,文件來建立矩陣,以及從外部數(shù)據(jù)文件中導(dǎo)入矩陣,例如通過函數(shù)以及從外部數(shù)據(jù)文件中導(dǎo)入矩陣,例如通過函數(shù)imread( )讀取圖片,從而得到圖像數(shù)據(jù)的二維矩陣。讀取圖片,從而得到圖像數(shù)據(jù)的二維矩陣。3.2 3.2 矩陣的創(chuàng)建矩陣的創(chuàng)建在在MATLAB中,矩陣的元素按照列進(jìn)行保存,先第一列,再中,矩陣的元素按照列進(jìn)行保存,先第一列
14、,再第二列,直到結(jié)束。矩陣中的元素可以采用單下標(biāo)獲取第二列,直到結(jié)束。矩陣中的元素可以采用單下標(biāo)獲取,也可以采用雙下標(biāo)獲取。單下標(biāo)和雙下標(biāo)之間,可以,也可以采用雙下標(biāo)獲取。單下標(biāo)和雙下標(biāo)之間,可以通過通過MATLAB提供的函數(shù)提供的函數(shù)sub2ind( )和和ind2sub( )進(jìn)行轉(zhuǎn)進(jìn)行轉(zhuǎn)換。換。 在程序中,對(duì)矩陣中的元素進(jìn)行賦值。如果行或者列超出矩在程序中,對(duì)矩陣中的元素進(jìn)行賦值。如果行或者列超出矩陣的大小,則陣的大小,則MATLAB自動(dòng)擴(kuò)充矩陣的大小,然后再進(jìn)自動(dòng)擴(kuò)充矩陣的大小,然后再進(jìn)行賦值,擴(kuò)充部分用零填充。行賦值,擴(kuò)充部分用零填充。 3.3 3.3 矩陣的基本操作矩陣的基本操作在在
15、MATLAB中,矩陣是基本的計(jì)算單元,有很多關(guān)于矩陣操中,矩陣是基本的計(jì)算單元,有很多關(guān)于矩陣操作的函數(shù)。下面介紹常用的矩陣的擴(kuò)展、塊操作、轉(zhuǎn)置作的函數(shù)。下面介紹常用的矩陣的擴(kuò)展、塊操作、轉(zhuǎn)置、旋轉(zhuǎn)和翻轉(zhuǎn),以及改變矩陣的大小等。、旋轉(zhuǎn)和翻轉(zhuǎn),以及改變矩陣的大小等。3.3.1 3.3.1 矩陣的擴(kuò)展矩陣的擴(kuò)展在在MATLAB中,可以通過數(shù)組的擴(kuò)展,將多個(gè)小矩陣轉(zhuǎn)換為中,可以通過數(shù)組的擴(kuò)展,將多個(gè)小矩陣轉(zhuǎn)換為大的矩陣。進(jìn)行數(shù)組連接的函數(shù)有函數(shù)大的矩陣。進(jìn)行數(shù)組連接的函數(shù)有函數(shù)cat( )、函數(shù)、函數(shù)vertcat( )和函數(shù)和函數(shù)horzcat( )。下面對(duì)這些函數(shù)進(jìn)行介紹:。下面對(duì)這些函數(shù)進(jìn)行介
16、紹:C=cat(DIM, A, B):該函數(shù)在:該函數(shù)在DIM維度上進(jìn)行矩陣維度上進(jìn)行矩陣A和和B的連的連接,返回值為連接后的矩陣。接,返回值為連接后的矩陣。C=vertcat(A, B):該函數(shù)在水平方向上連接數(shù)組:該函數(shù)在水平方向上連接數(shù)組A和和B,相,相當(dāng)于當(dāng)于cat(1, A, B)。C=horzcat(A, B):該函數(shù)在垂直方向上連接數(shù)組:該函數(shù)在垂直方向上連接數(shù)組A和和B,相,相當(dāng)于當(dāng)于cat(2, A, B)。3.3.2 3.3.2 矩陣的塊操作矩陣的塊操作在在MATLAB中,通過函數(shù)中,通過函數(shù)repmat( )、函數(shù)、函數(shù)blkdiag( )和函數(shù)和函數(shù)kron( )進(jìn)行矩
17、陣的塊操作,下面分別進(jìn)行介紹。進(jìn)行矩陣的塊操作,下面分別進(jìn)行介紹。在在MATLAB中,通過函數(shù)中,通過函數(shù)repmat( )進(jìn)行數(shù)據(jù)塊的復(fù)制,該進(jìn)行數(shù)據(jù)塊的復(fù)制,該函數(shù)的調(diào)用格式為:函數(shù)的調(diào)用格式為:B=repmat(A, m, n):該函數(shù)產(chǎn)生大的矩陣:該函數(shù)產(chǎn)生大的矩陣B,把矩陣,把矩陣A當(dāng)作當(dāng)作單個(gè)元素,產(chǎn)生由單個(gè)元素,產(chǎn)生由m行和行和n列的矩陣列的矩陣A組成的大矩陣組成的大矩陣B。B=repmat(A, m):該函數(shù)產(chǎn)生大的矩陣:該函數(shù)產(chǎn)生大的矩陣B,把矩陣,把矩陣A當(dāng)作單當(dāng)作單個(gè)元素,產(chǎn)生個(gè)元素,產(chǎn)生m行和行和m列的矩陣列的矩陣A組成的大矩陣組成的大矩陣B。3.3.2 3.3.2 矩
18、陣的塊操作矩陣的塊操作在在MATLAB中,采用函數(shù)中,采用函數(shù)blkdiag( )將多個(gè)矩陣作為對(duì)角塊將多個(gè)矩陣作為對(duì)角塊,產(chǎn)生新的矩陣。該函數(shù)的調(diào)用格式為:,產(chǎn)生新的矩陣。該函數(shù)的調(diào)用格式為:Y=blkdiag(A, B):該函數(shù)將矩陣:該函數(shù)將矩陣A和和B作為對(duì)角塊,產(chǎn)生新作為對(duì)角塊,產(chǎn)生新的矩陣的矩陣Y。Y=blkdiag(A, B, ):該函數(shù)將多個(gè)矩陣作為對(duì)角塊,產(chǎn)生:該函數(shù)將多個(gè)矩陣作為對(duì)角塊,產(chǎn)生新的矩陣。新的矩陣。3.3.3 3.3.3 矩陣中元素的刪除矩陣中元素的刪除在在MATLAB中,利用空矩陣刪除矩陣的元素。在中,利用空矩陣刪除矩陣的元素。在MATLAB中,空矩陣為一對(duì)方
19、括號(hào)(中,空矩陣為一對(duì)方括號(hào)()。矩陣賦值為空矩陣的語)。矩陣賦值為空矩陣的語句為句為X=。注意,。注意,X=與與clear X不同,不同,clear是將是將X從工從工作空間中刪除,而空矩陣則存在于工作空間中,只是維作空間中刪除,而空矩陣則存在于工作空間中,只是維數(shù)為數(shù)為0。3.3.4 3.3.4 矩陣的轉(zhuǎn)置矩陣的轉(zhuǎn)置在在MATLAB中進(jìn)行矩陣的轉(zhuǎn)置,最簡單的是采用轉(zhuǎn)置操作符中進(jìn)行矩陣的轉(zhuǎn)置,最簡單的是采用轉(zhuǎn)置操作符(),從而實(shí)現(xiàn)矩陣),從而實(shí)現(xiàn)矩陣A的的Hermition轉(zhuǎn)置為轉(zhuǎn)置為A。如果矩。如果矩陣中含有復(fù)數(shù),則進(jìn)行矩陣轉(zhuǎn)置后,復(fù)數(shù)轉(zhuǎn)化為共軛復(fù)陣中含有復(fù)數(shù),則進(jìn)行矩陣轉(zhuǎn)置后,復(fù)數(shù)轉(zhuǎn)化為共
20、軛復(fù)數(shù)。數(shù)。矩陣的真正轉(zhuǎn)置為矩陣的真正轉(zhuǎn)置為A.,即使為復(fù)數(shù),也不轉(zhuǎn)換為共軛。也,即使為復(fù)數(shù),也不轉(zhuǎn)換為共軛。也可以采用函數(shù)可以采用函數(shù)transpose(A)來實(shí)現(xiàn),兩者完全一致。來實(shí)現(xiàn),兩者完全一致。3.3.5 3.3.5 矩陣的旋轉(zhuǎn)矩陣的旋轉(zhuǎn)在在MATLAB中,矩陣的旋轉(zhuǎn)可以采用轉(zhuǎn)置的方法,也可以采中,矩陣的旋轉(zhuǎn)可以采用轉(zhuǎn)置的方法,也可以采用函數(shù)用函數(shù)rot90( )。該函數(shù)的調(diào)用格式為:。該函數(shù)的調(diào)用格式為:B=rot90(A):該函數(shù)將矩陣逆時(shí)針旋轉(zhuǎn):該函數(shù)將矩陣逆時(shí)針旋轉(zhuǎn)90度。度。B=rot90(A, k):該函數(shù)將矩陣逆時(shí)針旋轉(zhuǎn):該函數(shù)將矩陣逆時(shí)針旋轉(zhuǎn)90度的度的k倍,倍,k的
21、的默認(rèn)值為默認(rèn)值為1。3.3.6 3.3.6 矩陣的翻轉(zhuǎn)矩陣的翻轉(zhuǎn)對(duì)矩陣實(shí)施左右翻轉(zhuǎn)是將原矩陣的第一列和最后一列調(diào)換,對(duì)矩陣實(shí)施左右翻轉(zhuǎn)是將原矩陣的第一列和最后一列調(diào)換,第二列和倒數(shù)第二列調(diào)換,依次類推。在第二列和倒數(shù)第二列調(diào)換,依次類推。在MATLAB中,中,對(duì)矩陣進(jìn)行左右翻轉(zhuǎn)的函數(shù)是對(duì)矩陣進(jìn)行左右翻轉(zhuǎn)的函數(shù)是fliplr(A),實(shí)現(xiàn)矩陣的左右,實(shí)現(xiàn)矩陣的左右翻轉(zhuǎn)。翻轉(zhuǎn)。對(duì)矩陣進(jìn)行上下翻轉(zhuǎn)是將原矩陣的第一行和最后一行調(diào)換,對(duì)矩陣進(jìn)行上下翻轉(zhuǎn)是將原矩陣的第一行和最后一行調(diào)換,第二行和倒數(shù)第二行調(diào)換,依次類推。在第二行和倒數(shù)第二行調(diào)換,依次類推。在MATLAB中,中,對(duì)矩陣進(jìn)行上下翻轉(zhuǎn)的函數(shù)是對(duì)
22、矩陣進(jìn)行上下翻轉(zhuǎn)的函數(shù)是flipud(A),實(shí)現(xiàn)矩陣的上,實(shí)現(xiàn)矩陣的上下翻轉(zhuǎn)。下翻轉(zhuǎn)。此外,還可以采用函數(shù)此外,還可以采用函數(shù)flipdim( )進(jìn)行矩陣的翻轉(zhuǎn),該函數(shù)進(jìn)行矩陣的翻轉(zhuǎn),該函數(shù)的調(diào)用格式為:的調(diào)用格式為:flipdim(A, k),該函數(shù)在指定的方向,該函數(shù)在指定的方向k進(jìn)進(jìn)行矩陣的翻轉(zhuǎn)。當(dāng)行矩陣的翻轉(zhuǎn)。當(dāng)k=1時(shí),相當(dāng)于時(shí),相當(dāng)于flipud(A),當(dāng)時(shí),當(dāng)時(shí)k=2,相當(dāng)于相當(dāng)于fliplr(A)。3.3.7 3.3.7 矩陣尺寸的改變矩陣尺寸的改變?cè)诰仃嚳傇乇3植蛔兊那疤嵯?,在在矩陣總元素保持不變的前提下,在MATLAB中才用函數(shù)中才用函數(shù)reshape()改變矩陣的尺寸。
23、該函數(shù)的調(diào)用格式為:改變矩陣的尺寸。該函數(shù)的調(diào)用格式為:Y=reshape(X, m, n),將矩陣轉(zhuǎn)換為,將矩陣轉(zhuǎn)換為m行行n列的二維矩陣列的二維矩陣。矩陣的總元素?cái)?shù)不變。矩陣的總元素?cái)?shù)不變。3.4 3.4 矩陣的基本數(shù)值運(yùn)算矩陣的基本數(shù)值運(yùn)算矩陣的基本數(shù)值計(jì)算包括矩陣的加法、減法、乘法和除法,矩陣的基本數(shù)值計(jì)算包括矩陣的加法、減法、乘法和除法,以及矩陣元素的查找、排序、求和和求積等。下面分別以及矩陣元素的查找、排序、求和和求積等。下面分別進(jìn)行介紹。進(jìn)行介紹。3.4.1 3.4.1 矩陣的加減運(yùn)算矩陣的加減運(yùn)算假定有兩個(gè)矩陣假定有兩個(gè)矩陣A和和B,則可以由,則可以由A+B和和A-B實(shí)現(xiàn)矩陣的
24、加實(shí)現(xiàn)矩陣的加減運(yùn)算,要求矩陣減運(yùn)算,要求矩陣A和和B的維數(shù)必須相同。矩陣的加法和的維數(shù)必須相同。矩陣的加法和減法是矩陣中對(duì)應(yīng)元素加減。如果和中有一個(gè)為標(biāo)量,減法是矩陣中對(duì)應(yīng)元素加減。如果和中有一個(gè)為標(biāo)量,則將矩陣中的每一個(gè)元素和該標(biāo)量進(jìn)行加減運(yùn)算。則將矩陣中的每一個(gè)元素和該標(biāo)量進(jìn)行加減運(yùn)算。3.4.2 3.4.2 矩陣的乘法矩陣的乘法在在MATLAB中,矩陣中,矩陣A和和B的乘法為的乘法為A*B,要求矩陣,要求矩陣A的列數(shù)的列數(shù)和矩陣和矩陣B的行數(shù)必須相等。的行數(shù)必須相等。此外,矩陣此外,矩陣A和和B的點(diǎn)乘為的點(diǎn)乘為A.*B,表示矩陣,表示矩陣A和和B中對(duì)應(yīng)元素中對(duì)應(yīng)元素相乘,要求矩陣相乘,
25、要求矩陣A和和B具有相同的維數(shù),返回結(jié)果和原矩具有相同的維數(shù),返回結(jié)果和原矩陣有相同的維數(shù)。如果陣有相同的維數(shù)。如果A和和B的維數(shù)不滿足要求,系統(tǒng)會(huì)的維數(shù)不滿足要求,系統(tǒng)會(huì)給出出錯(cuò)信息,提示兩個(gè)數(shù)組的維數(shù)不匹配。給出出錯(cuò)信息,提示兩個(gè)數(shù)組的維數(shù)不匹配。3.4.3 3.4.3 矩陣的除法矩陣的除法在在MATLAB中,矩陣的除法有左除和右除兩種,分別用中,矩陣的除法有左除和右除兩種,分別用“”和和“/”表示。通常矩陣的除法用來求解方程組的解。一般表示。通常矩陣的除法用來求解方程組的解。一般情況下,矩陣情況下,矩陣A和和B的左除為的左除為X=AB,表示方程組,表示方程組A*X=B的解。矩陣的解。矩陣
26、A和和B的右除為的右除為X=B/A,表示線性方程組,表示線性方程組X*A=B的解。如果的解。如果X不存在或不唯一,則系統(tǒng)顯示警告信不存在或不唯一,則系統(tǒng)顯示警告信息。息。此外,還有矩陣的點(diǎn)除,采用此外,還有矩陣的點(diǎn)除,采用“./”或或“.”表示,表示兩個(gè)矩表示,表示兩個(gè)矩陣中對(duì)應(yīng)元素相除。陣中對(duì)應(yīng)元素相除。3.4.4 3.4.4 矩陣元素的查找矩陣元素的查找在在MATLAB中,采用函數(shù)中,采用函數(shù)find( )進(jìn)行矩陣元素的查找。函數(shù)進(jìn)行矩陣元素的查找。函數(shù)find( )通常和關(guān)系運(yùn)算和邏輯運(yùn)算相結(jié)合,能夠?qū)仃囍型ǔ:完P(guān)系運(yùn)算和邏輯運(yùn)算相結(jié)合,能夠?qū)仃囍械脑剡M(jìn)行查找。該函數(shù)的調(diào)用格式為:
27、的元素進(jìn)行查找。該函數(shù)的調(diào)用格式為:i=find(A):該函數(shù)查找矩陣中的非零元素,函數(shù)返回這些元:該函數(shù)查找矩陣中的非零元素,函數(shù)返回這些元素的單下標(biāo)。素的單下標(biāo)。i,j=find(A):該函數(shù)查找矩陣中的非零元素,函數(shù)返回這:該函數(shù)查找矩陣中的非零元素,函數(shù)返回這些元素的雙下標(biāo)和。些元素的雙下標(biāo)和。3.4.5 3.4.5 矩陣元素的排序矩陣元素的排序在在MATLAB中,矩陣元素的排序使用函數(shù)中,矩陣元素的排序使用函數(shù)sort( ),該函數(shù)默,該函數(shù)默認(rèn)按照升序排列,返回排序后的矩陣。認(rèn)按照升序排列,返回排序后的矩陣。Y=sort(X):該函數(shù)對(duì)矩陣按照升序進(jìn)行排列。當(dāng):該函數(shù)對(duì)矩陣按照升序
28、進(jìn)行排列。當(dāng)X為向量時(shí)為向量時(shí),返回由小到大排序后的向量;當(dāng),返回由小到大排序后的向量;當(dāng)X為矩陣時(shí),返回為矩陣時(shí),返回X中中各列按照由小到大排序后的矩陣。各列按照由小到大排序后的矩陣。Y=sort(X, DIM):該函數(shù)返回在給定的維數(shù)上的按照由小到:該函數(shù)返回在給定的維數(shù)上的按照由小到大的順序排序后的結(jié)果,當(dāng)大的順序排序后的結(jié)果,當(dāng)DIM=1時(shí),按照列進(jìn)行排序時(shí),按照列進(jìn)行排序,當(dāng),當(dāng)DIM=2時(shí),按照行進(jìn)行排序。時(shí),按照行進(jìn)行排序。Y=sort(X, DIM, MODE):該函數(shù)可以指定排序的方式。參:該函數(shù)可以指定排序的方式。參數(shù)數(shù)MODE默認(rèn)值為默認(rèn)值為ascend,即按照升序進(jìn)行排
29、列;當(dāng),即按照升序進(jìn)行排列;當(dāng)MODE為為descend時(shí),對(duì)矩陣進(jìn)行降序排列。時(shí),對(duì)矩陣進(jìn)行降序排列。3.4.6 3.4.6 矩陣元素的求和矩陣元素的求和在在MATLAB中,進(jìn)行矩陣中元素求和時(shí)采用函數(shù)中,進(jìn)行矩陣中元素求和時(shí)采用函數(shù)sum( )和和cumsum( )。其調(diào)用格式為:。其調(diào)用格式為:Y=sum(X):該函數(shù)對(duì)矩陣:該函數(shù)對(duì)矩陣X的元素求和,返回矩陣中各列的元素求和,返回矩陣中各列元素的和組成的向量。元素的和組成的向量。Y=sum(X, DIM):該函數(shù)返回在給定的維數(shù):該函數(shù)返回在給定的維數(shù)DIM上的元素的上的元素的和,當(dāng)和,當(dāng)DIM=1時(shí),計(jì)算矩陣各列元素的和,當(dāng)時(shí),計(jì)算矩
30、陣各列元素的和,當(dāng)DIM=2時(shí),時(shí),得到矩陣各行元素的和。得到矩陣各行元素的和。函數(shù)函數(shù)cumsum( )的調(diào)用格式和函數(shù)的調(diào)用格式和函數(shù)sum( )類似,不同之處是類似,不同之處是函數(shù)函數(shù)cumsum( )的返回值為矩陣。的返回值為矩陣。3.4.7 3.4.7 矩陣元素的求積矩陣元素的求積在在MATLAB中,進(jìn)行矩陣中元素求積時(shí)采用函數(shù)中,進(jìn)行矩陣中元素求積時(shí)采用函數(shù)prod( )和和cumprod( )。其調(diào)用格式為:。其調(diào)用格式為:Y=prod(X):該函數(shù)對(duì)矩陣的元素求積,返回矩陣:該函數(shù)對(duì)矩陣的元素求積,返回矩陣X中各列中各列元素的積組成的向量。元素的積組成的向量。Y=prod(X,
31、 DIM):該函數(shù)返回在給定的維數(shù)上的元素的積:該函數(shù)返回在給定的維數(shù)上的元素的積,當(dāng),當(dāng)DIM=1時(shí),計(jì)算矩陣各列元素的積,當(dāng)時(shí),計(jì)算矩陣各列元素的積,當(dāng)DIM=2時(shí),得時(shí),得到矩陣各行元素的積。到矩陣各行元素的積。函數(shù)函數(shù)cumprod( )的調(diào)用格式和函數(shù)的調(diào)用格式和函數(shù)prod( )類似,不同之處類似,不同之處是函數(shù)是函數(shù)cumprod( )的返回值為矩陣。的返回值為矩陣。3.4.8 3.4.8 矩陣元素的差分矩陣元素的差分在在MATLAB中,利用函數(shù)中,利用函數(shù)diff( )計(jì)算矩陣的差分,該函數(shù)的計(jì)算矩陣的差分,該函數(shù)的調(diào)用格式為:調(diào)用格式為:Y=diff(X):該函數(shù)計(jì)算矩陣各列
32、的差分。:該函數(shù)計(jì)算矩陣各列的差分。Y=diff(X, N):該函數(shù)計(jì)算矩陣各列的:該函數(shù)計(jì)算矩陣各列的N階差分。階差分。Y=diff(X, N, DIM):該函數(shù)計(jì)算矩陣在方向:該函數(shù)計(jì)算矩陣在方向DIM上的上的N階差階差分。當(dāng)分。當(dāng)DIM=1時(shí),計(jì)算矩陣各列元素的差分,當(dāng)時(shí),計(jì)算矩陣各列元素的差分,當(dāng)DIM=2時(shí)時(shí),得到矩陣各行元素的差分。,得到矩陣各行元素的差分。3.5 3.5 特殊矩陣的生成特殊矩陣的生成在在MATLAB中,有許多用于創(chuàng)建矩陣的函數(shù)。通過這些函數(shù)中,有許多用于創(chuàng)建矩陣的函數(shù)。通過這些函數(shù)可以創(chuàng)建二維矩陣,甚至更高維的矩陣。下面對(duì)這些產(chǎn)可以創(chuàng)建二維矩陣,甚至更高維的矩陣。
33、下面對(duì)這些產(chǎn)生通用特殊矩陣的函數(shù)進(jìn)行介紹。生通用特殊矩陣的函數(shù)進(jìn)行介紹。3.5.1 3.5.1 全零矩陣全零矩陣在在MATLAB中,采用函數(shù)中,采用函數(shù)zeros( )產(chǎn)生全零矩陣,該函數(shù)的產(chǎn)生全零矩陣,該函數(shù)的調(diào)用格式為:調(diào)用格式為:A=zeros(N):該函數(shù)產(chǎn)生:該函數(shù)產(chǎn)生N行行N列的全零矩陣。列的全零矩陣。A=zeros(M, N):該函數(shù)產(chǎn)生:該函數(shù)產(chǎn)生M行行N列的全零矩陣。列的全零矩陣。A=zeros(M, N, P,):該函數(shù)產(chǎn)生:該函數(shù)產(chǎn)生M*N*P*的全零矩陣。的全零矩陣。A=zeros(size(B):該函數(shù)產(chǎn)生和矩陣:該函數(shù)產(chǎn)生和矩陣B維數(shù)相同的全零矩維數(shù)相同的全零矩陣。
34、陣。3.5.2 3.5.2 全全1 1矩陣矩陣在在MATLAB中,采用函數(shù)中,采用函數(shù)ones( )產(chǎn)生全產(chǎn)生全1矩陣,該函數(shù)的調(diào)矩陣,該函數(shù)的調(diào)用格式和函數(shù)用格式和函數(shù)zeros( )基本一致。基本一致。3.5.3 3.5.3 單位矩陣單位矩陣在在MATLAB中,采用函數(shù)中,采用函數(shù)eye( )產(chǎn)生單位矩陣,該函數(shù)的調(diào)產(chǎn)生單位矩陣,該函數(shù)的調(diào)用格式為:用格式為:A=eye(N):該函數(shù)產(chǎn)生:該函數(shù)產(chǎn)生N行行N列的單位矩陣。列的單位矩陣。A=zeros(M, N):該函數(shù)產(chǎn)生:該函數(shù)產(chǎn)生M行行N列的矩陣,對(duì)角線元素列的矩陣,對(duì)角線元素為為1,其余元素均為,其余元素均為0。A=zeros(siz
35、e(B):該函數(shù)產(chǎn)生和矩陣:該函數(shù)產(chǎn)生和矩陣B維數(shù)相同的單位矩維數(shù)相同的單位矩陣。陣。3.5.4 03.5.4 01 1間均勻分布的隨機(jī)矩陣間均勻分布的隨機(jī)矩陣在在MATLAB中,采用函數(shù)中,采用函數(shù)rand( )產(chǎn)生產(chǎn)生01之間均勻分布的隨之間均勻分布的隨機(jī)矩陣,該函數(shù)的調(diào)用格式為:機(jī)矩陣,該函數(shù)的調(diào)用格式為:A=rand(N):該函數(shù)產(chǎn)生:該函數(shù)產(chǎn)生N行行N列的列的01之間均勻分布的隨機(jī)之間均勻分布的隨機(jī)矩陣。矩陣。A=rand(M, N):該函數(shù)產(chǎn)生:該函數(shù)產(chǎn)生M行行N列的列的01之間均勻分布的之間均勻分布的隨機(jī)矩陣。隨機(jī)矩陣。A=rand(M, N, P,):該函數(shù)產(chǎn)生:該函數(shù)產(chǎn)生M*
36、N*P*的的01之間均勻之間均勻分布的隨機(jī)矩陣。分布的隨機(jī)矩陣。A=rand(size(B):該函數(shù)產(chǎn)生和矩陣:該函數(shù)產(chǎn)生和矩陣B維數(shù)相同的維數(shù)相同的01之間之間均勻分布的隨機(jī)矩陣。均勻分布的隨機(jī)矩陣。3.5.5 3.5.5 標(biāo)準(zhǔn)正態(tài)分布隨機(jī)矩陣標(biāo)準(zhǔn)正態(tài)分布隨機(jī)矩陣在在MATLAB中,采用函數(shù)中,采用函數(shù)randn( )產(chǎn)生均值為產(chǎn)生均值為0,方差為,方差為1的的標(biāo)準(zhǔn)正態(tài)分布隨機(jī)矩陣。該函數(shù)的調(diào)用格式和函數(shù)標(biāo)準(zhǔn)正態(tài)分布隨機(jī)矩陣。該函數(shù)的調(diào)用格式和函數(shù)rand( )基本一致。基本一致。3.5.6 3.5.6 魔方矩陣魔方矩陣魔方矩陣中每行、每列及兩條對(duì)角線上的元素和都相等。對(duì)魔方矩陣中每行、每列
37、及兩條對(duì)角線上的元素和都相等。對(duì)于于n階魔方陣,其元素由階魔方陣,其元素由1,2,3,n2組成,共組成,共n2個(gè)整數(shù)。個(gè)整數(shù)。在在MATLAB中,通過函數(shù)中,通過函數(shù)magic(n),求,求n階魔方矩陣。階魔方矩陣。3.5.7 3.5.7 范得蒙矩陣范得蒙矩陣范得蒙(范得蒙(Vandermonde)矩陣最后一列全為)矩陣最后一列全為1,倒數(shù)第二列,倒數(shù)第二列為一個(gè)指定的向量,其他各列是其后列與倒數(shù)第二列的為一個(gè)指定的向量,其他各列是其后列與倒數(shù)第二列的點(diǎn)乘積??梢杂靡粋€(gè)指定向量生成一個(gè)范得蒙矩陣。點(diǎn)乘積。可以用一個(gè)指定向量生成一個(gè)范得蒙矩陣。在在MATLAB中,通過函數(shù)中,通過函數(shù)vander
38、(V)生成以向量生成以向量V為基礎(chǔ)向?yàn)榛A(chǔ)向量的范得蒙矩陣。量的范得蒙矩陣。3.5.8 3.5.8 希爾伯特矩陣希爾伯特矩陣在在MATLAB中,通過函數(shù)中,通過函數(shù)hilb( )生成希爾伯特(生成希爾伯特(Hilbert)矩)矩陣。該函數(shù)的調(diào)用格式為:陣。該函數(shù)的調(diào)用格式為:hilb(n),產(chǎn)生,產(chǎn)生n階的希爾伯特階的希爾伯特矩陣。希爾伯特矩陣是一種病態(tài)矩陣,矩陣中任何一個(gè)矩陣。希爾伯特矩陣是一種病態(tài)矩陣,矩陣中任何一個(gè)元素發(fā)生微小的變化,整個(gè)矩陣的值和逆矩陣都發(fā)生巨元素發(fā)生微小的變化,整個(gè)矩陣的值和逆矩陣都發(fā)生巨大的變化。大的變化。MATLAB中,通過函數(shù)函數(shù)中,通過函數(shù)函數(shù)invhilb(
39、 )求希爾伯特矩陣的逆求希爾伯特矩陣的逆矩陣,該函數(shù)的調(diào)用格式為:矩陣,該函數(shù)的調(diào)用格式為:invhilb(n),該函數(shù)產(chǎn)生,該函數(shù)產(chǎn)生n階希爾伯特矩陣的逆矩陣。階希爾伯特矩陣的逆矩陣。3.5.9 3.5.9 托普利茲矩陣托普利茲矩陣托普利茲(托普利茲(Toeplitz)矩陣除第一行和第一列外,其它每個(gè))矩陣除第一行和第一列外,其它每個(gè)元素都與左上角的元素相同。在元素都與左上角的元素相同。在MATLAB中,通過函數(shù)中,通過函數(shù)toeplitz( )生成托普利茲矩陣。該函數(shù)的調(diào)用格式為:生成托普利茲矩陣。該函數(shù)的調(diào)用格式為:toeplitz(x):該函數(shù)用向量:該函數(shù)用向量x生成一個(gè)對(duì)稱托普利茲
40、矩陣。生成一個(gè)對(duì)稱托普利茲矩陣。toeplitz(x, y):該函數(shù)產(chǎn)生一個(gè)以:該函數(shù)產(chǎn)生一個(gè)以x為第一列,為第一列,y為第一行的為第一行的托普利茲矩陣。托普利茲矩陣。x和和y均為向量,兩者不必等長。需要注均為向量,兩者不必等長。需要注意的是,向量意的是,向量x和和y的第一個(gè)元素必須相等。的第一個(gè)元素必須相等。3.5.10 3.5.10 伴隨矩陣伴隨矩陣在在MATLAB中,通過函數(shù)中,通過函數(shù)compan( )產(chǎn)生伴隨矩陣,該函數(shù)產(chǎn)生伴隨矩陣,該函數(shù)的調(diào)用格式為:的調(diào)用格式為:compan(p),其中,其中p為多項(xiàng)式的系數(shù)向量,高次冪系數(shù)排在為多項(xiàng)式的系數(shù)向量,高次冪系數(shù)排在前,低次冪排在后。
41、前,低次冪排在后。3.5.11 3.5.11 帕斯卡矩陣帕斯卡矩陣二次項(xiàng)展開后的系數(shù)隨二次項(xiàng)展開后的系數(shù)隨n的增大組成一個(gè)三角形表,稱為楊的增大組成一個(gè)三角形表,稱為楊輝三角形。由楊輝三角形表組成的矩陣稱為帕斯卡(輝三角形。由楊輝三角形表組成的矩陣稱為帕斯卡(Pascal)矩陣。該函數(shù)的調(diào)用格式為:)矩陣。該函數(shù)的調(diào)用格式為:pascal(n),產(chǎn)生,產(chǎn)生一個(gè)一個(gè)n階的帕斯卡矩陣。階的帕斯卡矩陣。3.6 3.6 矩陣的特征和線性代數(shù)矩陣的特征和線性代數(shù)下面介紹矩陣的一些基本操作,包括矩陣的特征值、三角陣下面介紹矩陣的一些基本操作,包括矩陣的特征值、三角陣、對(duì)角陣、矩陣的翻轉(zhuǎn)等,以及矩陣的一些特
42、征,例如、對(duì)角陣、矩陣的翻轉(zhuǎn)等,以及矩陣的一些特征,例如矩陣的秩、矩陣的跡和矩陣的范數(shù)等。最后介紹了矩陣矩陣的秩、矩陣的跡和矩陣的范數(shù)等。最后介紹了矩陣的超越函數(shù)。的超越函數(shù)。3.6.1 3.6.1 方陣的行列式方陣的行列式把一個(gè)方陣看作一個(gè)行列式,并對(duì)其按行列式的規(guī)則求值,把一個(gè)方陣看作一個(gè)行列式,并對(duì)其按行列式的規(guī)則求值,這個(gè)值就稱為矩陣所對(duì)應(yīng)的行列式的值。這個(gè)值就稱為矩陣所對(duì)應(yīng)的行列式的值。在在MATALB中,采用函數(shù)中,采用函數(shù)det( )求方陣的行列式,該函數(shù)的求方陣的行列式,該函數(shù)的調(diào)用格式為:調(diào)用格式為:det(X),得到方陣,得到方陣X的行列式。的行列式。3.6.2 3.6.2
43、 特征值、特征向量和特征多項(xiàng)式特征值、特征向量和特征多項(xiàng)式在在MATLAB中,計(jì)算矩陣中,計(jì)算矩陣A的特征值和特征向量的函數(shù)是的特征值和特征向量的函數(shù)是eig( ),該函數(shù)的調(diào)用格式為:,該函數(shù)的調(diào)用格式為:E=eig(A):求矩陣:求矩陣A的全部特征值,組成向量的全部特征值,組成向量E。V, D=eig(A):該函數(shù)計(jì)算矩陣的特征值和特征向量,返回:該函數(shù)計(jì)算矩陣的特征值和特征向量,返回值值V和和D為兩個(gè)方陣。方陣為兩個(gè)方陣。方陣V的每一列為一個(gè)特征向量,的每一列為一個(gè)特征向量,方陣方陣D為對(duì)角矩陣,對(duì)角線上的元素為特征值。為對(duì)角矩陣,對(duì)角線上的元素為特征值。3.6.3 3.6.3 對(duì)角陣對(duì)
44、角陣只有對(duì)角線上有非只有對(duì)角線上有非0元素的矩陣稱為對(duì)角矩陣,對(duì)角線上的元素的矩陣稱為對(duì)角矩陣,對(duì)角線上的元素相等的對(duì)角矩陣稱為數(shù)量矩陣,對(duì)角線上的元素都元素相等的對(duì)角矩陣稱為數(shù)量矩陣,對(duì)角線上的元素都為為1的對(duì)角矩陣稱為單位矩陣。在的對(duì)角矩陣稱為單位矩陣。在MATLAB中,通過函數(shù)中,通過函數(shù)diag( )獲取矩陣的對(duì)角線元素,該函數(shù)的調(diào)用格式為:獲取矩陣的對(duì)角線元素,該函數(shù)的調(diào)用格式為:diag(A):該函數(shù)用于提取矩陣:該函數(shù)用于提取矩陣A的主對(duì)角線元素,產(chǎn)生一個(gè)的主對(duì)角線元素,產(chǎn)生一個(gè)列向量。列向量。diag(A, k):該函數(shù)提取第:該函數(shù)提取第k條對(duì)角線的元素,組成一個(gè)列向條對(duì)角線
45、的元素,組成一個(gè)列向量。量。3.6.4 3.6.4 上三角陣和下三角陣上三角陣和下三角陣三角陣可以分為上三角陣和下三角陣,所謂上三角陣,即矩陣三角陣可以分為上三角陣和下三角陣,所謂上三角陣,即矩陣的對(duì)角線以下的元素全為的對(duì)角線以下的元素全為0的矩陣,而下三角陣則是對(duì)角線的矩陣,而下三角陣則是對(duì)角線以上的元素全為以上的元素全為0的一種矩陣。在的一種矩陣。在MATLAB中,通過函數(shù)中,通過函數(shù)triu( )獲取矩陣的上三角矩陣,該函數(shù)的調(diào)用格式為:獲取矩陣的上三角矩陣,該函數(shù)的調(diào)用格式為:triu(A),該函數(shù)返回矩陣,該函數(shù)返回矩陣A的上三角矩陣。的上三角矩陣。triu(A, k):該函數(shù)返回矩
46、陣:該函數(shù)返回矩陣A的第的第k條對(duì)角線以上的元素。條對(duì)角線以上的元素。在在MATLAB中,采用函數(shù)中,采用函數(shù)tril( )求矩陣的下三角矩陣,該函數(shù)求矩陣的下三角矩陣,該函數(shù)的調(diào)用格式和函數(shù)的調(diào)用格式和函數(shù)triu( )完全相同,這里不再贅述。完全相同,這里不再贅述。3.6.5 3.6.5 矩陣的逆和偽逆矩陣的逆和偽逆對(duì)于方陣對(duì)于方陣A,如果存在一個(gè)與其同階的方陣,如果存在一個(gè)與其同階的方陣B,使得,使得A*B=B*A=E,則稱,則稱A和和B互為逆矩陣。采用函數(shù)互為逆矩陣。采用函數(shù)inv( )求求方陣的逆矩陣。方陣的逆矩陣。如果矩陣如果矩陣A不是一個(gè)方陣,或者是一個(gè)非滿秩方陣時(shí),沒有不是一個(gè)
47、方陣,或者是一個(gè)非滿秩方陣時(shí),沒有逆矩陣,但可以找到一個(gè)與逆矩陣,但可以找到一個(gè)與A的轉(zhuǎn)置矩陣同型的矩陣的轉(zhuǎn)置矩陣同型的矩陣B,使得:使得:此時(shí),稱矩陣此時(shí),稱矩陣B為矩陣為矩陣A的偽逆,也稱為廣義逆矩陣。在的偽逆,也稱為廣義逆矩陣。在MATLAB中,求矩陣的廣義逆矩陣的函數(shù)是中,求矩陣的廣義逆矩陣的函數(shù)是pinv( )。該。該函數(shù)的調(diào)用格式為:函數(shù)的調(diào)用格式為:pinv(A),該函數(shù)計(jì)算矩陣,該函數(shù)計(jì)算矩陣A的廣義的廣義逆矩陣。逆矩陣。ABAABABB3.6.6 3.6.6 矩陣的秩矩陣的秩矩陣的秩包括行秩和列秩,行秩和列秩相等。行秩為矩陣的矩陣的秩包括行秩和列秩,行秩和列秩相等。行秩為矩陣
48、的行向量組成的極大無關(guān)組中行向量的個(gè)數(shù),列秩為矩陣行向量組成的極大無關(guān)組中行向量的個(gè)數(shù),列秩為矩陣的列向量組成的極大無關(guān)組中列向量的個(gè)數(shù)。矩陣的秩的列向量組成的極大無關(guān)組中列向量的個(gè)數(shù)。矩陣的秩反映了矩陣中各行向量之間和各列向量之間的線性關(guān)系反映了矩陣中各行向量之間和各列向量之間的線性關(guān)系。對(duì)于滿秩矩陣,秩等于行數(shù)或列數(shù),其各行向量或列。對(duì)于滿秩矩陣,秩等于行數(shù)或列數(shù),其各行向量或列向量都線性無關(guān)。向量都線性無關(guān)。在在MATLAB中,通過函數(shù)中,通過函數(shù)rank( )求矩陣的秩。該函數(shù)的調(diào)求矩陣的秩。該函數(shù)的調(diào)用格式為:用格式為:rank(A),該函數(shù)求矩陣的秩。,該函數(shù)求矩陣的秩。3.6.7
49、 3.6.7 矩陣的跡矩陣的跡矩陣的跡等于矩陣的對(duì)角線元素之和,也等于矩陣的特征值矩陣的跡等于矩陣的對(duì)角線元素之和,也等于矩陣的特征值之和。之和。在在MATLAB中,通過函數(shù)中,通過函數(shù)trace( )求矩陣的跡。該函數(shù)的調(diào)求矩陣的跡。該函數(shù)的調(diào)用格式為:用格式為:trace(A),求矩陣的跡。,求矩陣的跡。3.6.8 3.6.8 矩陣的范數(shù)矩陣的范數(shù)矩陣的范數(shù)常用的有矩陣的范數(shù)常用的有3種。在種。在MATLAB中,求矩陣范數(shù)的函中,求矩陣范數(shù)的函數(shù)為數(shù)為norm( ),該函數(shù)的調(diào)用格式為:,該函數(shù)的調(diào)用格式為:norm(X)或或norm(X, 2):計(jì)算矩陣的:計(jì)算矩陣的2-范數(shù),返回矩陣的
50、最范數(shù),返回矩陣的最大奇異值。大奇異值。norm(X, 1):計(jì)算矩陣的:計(jì)算矩陣的1-范數(shù),返回矩陣的的列向元素和范數(shù),返回矩陣的的列向元素和的最大值。的最大值。norm(X, inf):計(jì)算矩陣的:計(jì)算矩陣的-范數(shù),返回矩陣的行向元素和范數(shù),返回矩陣的行向元素和的最大值。的最大值。norm(X, fro):該函數(shù)計(jì)算矩陣的:該函數(shù)計(jì)算矩陣的Frobenius范數(shù)。范數(shù)。3.6.9 3.6.9 矩陣的條件數(shù)矩陣的條件數(shù)矩陣的條件數(shù)是用來判斷矩陣病態(tài)的一個(gè)量,矩陣的條件數(shù)矩陣的條件數(shù)是用來判斷矩陣病態(tài)的一個(gè)量,矩陣的條件數(shù)越大,表明該矩陣越病態(tài),否則該矩陣越良態(tài)。越大,表明該矩陣越病態(tài),否則該
51、矩陣越良態(tài)。Hilbert矩陣就是有名的病態(tài)矩陣。矩陣就是有名的病態(tài)矩陣。在在MATLAB中,通過函數(shù)中,通過函數(shù)cond( )求矩陣的條件數(shù),該函數(shù)求矩陣的條件數(shù),該函數(shù)的調(diào)用格式為:的調(diào)用格式為:cond(X, 1):該函數(shù)計(jì)算矩陣:該函數(shù)計(jì)算矩陣X的的1-范數(shù)下的條件數(shù)。范數(shù)下的條件數(shù)。cond(X)或或cond(X, 2):該函數(shù)計(jì)算矩陣:該函數(shù)計(jì)算矩陣X的的2-范數(shù)數(shù)下的條范數(shù)數(shù)下的條件數(shù)。件數(shù)。cond(X, inf):該函數(shù)計(jì)算矩陣:該函數(shù)計(jì)算矩陣X的的-范數(shù)下的條件數(shù)。范數(shù)下的條件數(shù)。3.6.10 3.6.10 矩陣的標(biāo)準(zhǔn)正交基矩陣的標(biāo)準(zhǔn)正交基在在MATLAB中,通過函數(shù)中,通
52、過函數(shù)orth( )得到矩陣的標(biāo)準(zhǔn)正交基,該得到矩陣的標(biāo)準(zhǔn)正交基,該函數(shù)的調(diào)用格式為:函數(shù)的調(diào)用格式為:B=orth(A),矩陣,矩陣B的列向量組成了的列向量組成了矩陣矩陣A的一組標(biāo)準(zhǔn)正交基。的一組標(biāo)準(zhǔn)正交基。3.6.11 3.6.11 矩陣的超越函數(shù)矩陣的超越函數(shù)下面介紹矩陣的超越函數(shù),主要包括:函數(shù)下面介紹矩陣的超越函數(shù),主要包括:函數(shù)sqrtm( )、函數(shù)、函數(shù)logm( )、函數(shù)、函數(shù)expm( )和函數(shù)和函數(shù)funm( )。函數(shù)函數(shù)sqrtm( )用于計(jì)算矩陣的平方根。用于計(jì)算矩陣的平方根。函數(shù)函數(shù)logm()用于計(jì)算矩陣的自然對(duì)數(shù)。用于計(jì)算矩陣的自然對(duì)數(shù)。函數(shù)函數(shù)expm()用于求
53、矩陣的指數(shù)。用于求矩陣的指數(shù)。函數(shù)函數(shù)funm( )用于計(jì)算矩陣的超越函數(shù)值。用于計(jì)算矩陣的超越函數(shù)值。3.7 3.7 稀疏矩陣稀疏矩陣在在MATLAB中,對(duì)于矩陣的存儲(chǔ)有兩種方式:完全存儲(chǔ)方式中,對(duì)于矩陣的存儲(chǔ)有兩種方式:完全存儲(chǔ)方式和稀疏存儲(chǔ)方式。完全存儲(chǔ)方式是將矩陣的全部元素按和稀疏存儲(chǔ)方式。完全存儲(chǔ)方式是將矩陣的全部元素按照矩陣的列存儲(chǔ)。以前講到的矩陣的存儲(chǔ)方式都是按這照矩陣的列存儲(chǔ)。以前講到的矩陣的存儲(chǔ)方式都是按這個(gè)方式存儲(chǔ)的。如果矩陣中的元素只有少數(shù)不是零,會(huì)個(gè)方式存儲(chǔ)的。如果矩陣中的元素只有少數(shù)不是零,會(huì)浪費(fèi)大量的存儲(chǔ)空間。下面介紹矩陣的稀疏存儲(chǔ)。浪費(fèi)大量的存儲(chǔ)空間。下面介紹矩陣
54、的稀疏存儲(chǔ)。3.7.1 3.7.1 矩陣存儲(chǔ)方式矩陣存儲(chǔ)方式稀疏存儲(chǔ)矩陣只是矩陣的存儲(chǔ)方式不同,它的運(yùn)算規(guī)則與普稀疏存儲(chǔ)矩陣只是矩陣的存儲(chǔ)方式不同,它的運(yùn)算規(guī)則與普通矩陣是一樣的。用戶可以創(chuàng)建整型、雙精度、復(fù)數(shù)類通矩陣是一樣的。用戶可以創(chuàng)建整型、雙精度、復(fù)數(shù)類型和邏輯類型的稀疏矩陣。稀疏矩陣不能自動(dòng)生成。定型和邏輯類型的稀疏矩陣。稀疏矩陣不能自動(dòng)生成。定義在完全存儲(chǔ)方式下的運(yùn)算只能產(chǎn)生完全存儲(chǔ)的矩陣,義在完全存儲(chǔ)方式下的運(yùn)算只能產(chǎn)生完全存儲(chǔ)的矩陣,不論多少個(gè)元素為不論多少個(gè)元素為0。在運(yùn)算過程中,稀疏存儲(chǔ)矩陣可以。在運(yùn)算過程中,稀疏存儲(chǔ)矩陣可以直接參與運(yùn)算,產(chǎn)生的結(jié)果也是稀疏矩陣。直接參與運(yùn)算
55、,產(chǎn)生的結(jié)果也是稀疏矩陣。3.7.2 3.7.2 產(chǎn)生稀疏矩陣產(chǎn)生稀疏矩陣在在MATLAB中,通過函數(shù)中,通過函數(shù)sparse( )把普通矩陣轉(zhuǎn)換為稀疏把普通矩陣轉(zhuǎn)換為稀疏矩陣,該函數(shù)的調(diào)用格式為:矩陣,該函數(shù)的調(diào)用格式為:S=sparse(A),該函數(shù)將矩陣,該函數(shù)將矩陣A轉(zhuǎn)換為稀疏矩陣轉(zhuǎn)換為稀疏矩陣S。當(dāng)矩陣。當(dāng)矩陣A是稀疏存儲(chǔ)方式時(shí),則函數(shù)調(diào)用相當(dāng)于是稀疏存儲(chǔ)方式時(shí),則函數(shù)調(diào)用相當(dāng)于S=A。S=sparse(m, n):該函數(shù)產(chǎn)生大小為:該函數(shù)產(chǎn)生大小為m行行n列,所有元素都列,所有元素都是是0的稀疏矩陣。的稀疏矩陣。在在MATLAB中,通過函數(shù)中,通過函數(shù)full( )把稀疏矩陣轉(zhuǎn)換為
56、普通矩陣把稀疏矩陣轉(zhuǎn)換為普通矩陣,該函數(shù)的調(diào)用格式為:,該函數(shù)的調(diào)用格式為:B=full(A),該函數(shù)將稀疏矩陣,該函數(shù)將稀疏矩陣A轉(zhuǎn)換為普通矩陣轉(zhuǎn)換為普通矩陣B。3.7.2 3.7.2 產(chǎn)生稀疏矩陣產(chǎn)生稀疏矩陣在在MATLAB中,通過函數(shù)中,通過函數(shù)sparse( )把普通矩陣轉(zhuǎn)換為稀疏把普通矩陣轉(zhuǎn)換為稀疏矩陣,該函數(shù)的調(diào)用格式為:矩陣,該函數(shù)的調(diào)用格式為:S=sparse(A),該函數(shù)將矩陣,該函數(shù)將矩陣A轉(zhuǎn)換為稀疏矩陣轉(zhuǎn)換為稀疏矩陣S。當(dāng)矩陣。當(dāng)矩陣A是稀疏存儲(chǔ)方式時(shí),則函數(shù)調(diào)用相當(dāng)于是稀疏存儲(chǔ)方式時(shí),則函數(shù)調(diào)用相當(dāng)于S=A。S=sparse(m, n):該函數(shù)產(chǎn)生大小為:該函數(shù)產(chǎn)生大小
57、為m行行n列,所有元素都列,所有元素都是是0的稀疏矩陣。的稀疏矩陣。在在MATLAB中,通過函數(shù)中,通過函數(shù)full( )把稀疏矩陣轉(zhuǎn)換為普通矩陣把稀疏矩陣轉(zhuǎn)換為普通矩陣,該函數(shù)的調(diào)用格式為:,該函數(shù)的調(diào)用格式為:B=full(A),該函數(shù)將稀疏矩陣,該函數(shù)將稀疏矩陣A轉(zhuǎn)換為普通矩陣轉(zhuǎn)換為普通矩陣B。3.7.2 3.7.2 產(chǎn)生稀疏矩陣產(chǎn)生稀疏矩陣在在MATLAB中采用函數(shù)中采用函數(shù)nnz(S)計(jì)算稀疏矩陣計(jì)算稀疏矩陣S中非零值的個(gè)中非零值的個(gè)數(shù)數(shù) 。通過函數(shù)通過函數(shù)spy( )對(duì)稀疏矩陣中非零元素的分布進(jìn)行圖形化顯對(duì)稀疏矩陣中非零元素的分布進(jìn)行圖形化顯示。示。獲取稀疏矩陣中非零元素的密度。獲
58、取稀疏矩陣中非零元素的密度。在在MATLAB中,采用函數(shù)中,采用函數(shù)spalloc( )為稀疏矩陣分配空間為稀疏矩陣分配空間 。3.7.3 3.7.3 特殊稀疏矩陣特殊稀疏矩陣單位矩陣只有對(duì)角線元素為單位矩陣只有對(duì)角線元素為1,其它元素都為,其它元素都為0,是一種具有,是一種具有稀疏特征的矩陣。在稀疏特征的矩陣。在MATLAB中,函數(shù)中,函數(shù)eye( )產(chǎn)生一個(gè)完產(chǎn)生一個(gè)完全存儲(chǔ)方式的單位矩陣。在全存儲(chǔ)方式的單位矩陣。在MATLAB中,還有一個(gè)產(chǎn)生中,還有一個(gè)產(chǎn)生稀疏存儲(chǔ)方式的單位矩陣的函數(shù)稀疏存儲(chǔ)方式的單位矩陣的函數(shù)speye( )。該函數(shù)的調(diào)用。該函數(shù)的調(diào)用格式為:格式為:S=speye(
59、n) 產(chǎn)生一個(gè)產(chǎn)生一個(gè)n行行n列的單位稀疏存儲(chǔ)矩陣。列的單位稀疏存儲(chǔ)矩陣。S=speye(m, n) 產(chǎn)生一個(gè)產(chǎn)生一個(gè)m行行n列的單位稀疏存儲(chǔ)矩陣。列的單位稀疏存儲(chǔ)矩陣。3.7.3 3.7.3 特殊稀疏矩陣特殊稀疏矩陣函數(shù)函數(shù)spones( )將稀疏矩陣中的非零元素替換為將稀疏矩陣中的非零元素替換為1。通過函數(shù)通過函數(shù)spconvert( )將普通矩陣轉(zhuǎn)換為稀疏矩陣。將普通矩陣轉(zhuǎn)換為稀疏矩陣。3.8 3.8 矩陣的分解矩陣的分解矩陣分解是指根據(jù)一定的原理用某種算法將一個(gè)矩陣分解成矩陣分解是指根據(jù)一定的原理用某種算法將一個(gè)矩陣分解成若干個(gè)矩陣的乘積。常見的矩陣分解有若干個(gè)矩陣的乘積。常見的矩陣分
60、解有Cholesky分解、分解、LU分解、分解、QR分解,以及分解,以及Schur分解和分解和Hessenberg分解分解等。下面分別進(jìn)行介紹。等。下面分別進(jìn)行介紹。3.8.1 Cholesky3.8.1 Cholesky分解分解對(duì)于正定矩陣,可以分解為上三角矩陣和下三角矩陣的乘積對(duì)于正定矩陣,可以分解為上三角矩陣和下三角矩陣的乘積,這種分解稱為,這種分解稱為Cholesky分解。并不是所有的矩陣都可分解。并不是所有的矩陣都可以進(jìn)行以進(jìn)行Cholesky分解。能夠進(jìn)行分解。能夠進(jìn)行Cholesky分解的矩陣必分解的矩陣必須是正定的,矩陣的所有對(duì)角元素必須是正的,同時(shí)矩須是正定的,矩陣的所有對(duì)角元素必須
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度財(cái)務(wù)信息系統(tǒng)集成合同3篇
- 2024石子深加工技術(shù)研發(fā)與應(yīng)用合同3篇
- 2024玩具樂園設(shè)備采購及租賃服務(wù)合同3篇
- 2024版影視作品版權(quán)轉(zhuǎn)讓與授權(quán)播放合同
- 2025年松樹造林項(xiàng)目采購合同3篇
- 二零二五版船舶光租及船舶安全管理體系合同3篇
- 二零二五年度安置房項(xiàng)目公共設(shè)施維護(hù)合同3篇
- 2025年度淋浴房綠色環(huán)保材料采購與安裝服務(wù)合同4篇
- 2025年度鋁材貿(mào)易結(jié)算與風(fēng)險(xiǎn)管理合同4篇
- 二零二五年度跨境電商進(jìn)口采購合同3篇
- 領(lǐng)導(dǎo)溝通的藝術(shù)
- 發(fā)生用藥錯(cuò)誤應(yīng)急預(yù)案
- 南潯至臨安公路(南潯至練市段)公路工程環(huán)境影響報(bào)告
- 綠色貸款培訓(xùn)課件
- 大學(xué)生預(yù)征對(duì)象登記表(樣表)
- 主管部門審核意見三篇
- 初中數(shù)學(xué)校本教材(完整版)
- 父母教育方式對(duì)幼兒社會(huì)性發(fā)展影響的研究
- 新課標(biāo)人教版數(shù)學(xué)三年級(jí)上冊(cè)第八單元《分?jǐn)?shù)的初步認(rèn)識(shí)》教材解讀
- (人教版2019)數(shù)學(xué)必修第一冊(cè) 第三章 函數(shù)的概念與性質(zhì) 復(fù)習(xí)課件
- 重慶市銅梁區(qū)2024屆數(shù)學(xué)八上期末檢測試題含解析
評(píng)論
0/150
提交評(píng)論