第2章MATLAB矩陣及其運(yùn)算1ppt課件_第1頁(yè)
第2章MATLAB矩陣及其運(yùn)算1ppt課件_第2頁(yè)
第2章MATLAB矩陣及其運(yùn)算1ppt課件_第3頁(yè)
第2章MATLAB矩陣及其運(yùn)算1ppt課件_第4頁(yè)
第2章MATLAB矩陣及其運(yùn)算1ppt課件_第5頁(yè)
已閱讀5頁(yè),還剩73頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第第2章章 MATLAB矩陣及其運(yùn)算矩陣及其運(yùn)算2.1 變量和數(shù)據(jù)操作變量和數(shù)據(jù)操作2.2 MATLAB矩陣矩陣2.3 MATLAB運(yùn)算運(yùn)算2.4 矩陣分析矩陣分析2.5 矩陣的超越函數(shù)矩陣的超越函數(shù)2.6 字符串字符串2.7 構(gòu)造數(shù)據(jù)和單元數(shù)據(jù)構(gòu)造數(shù)據(jù)和單元數(shù)據(jù)2.8 稀疏矩陣稀疏矩陣2.1 變量和數(shù)據(jù)操作變量和數(shù)據(jù)操作2.1.1 變量與賦值變量與賦值1變量命名變量命名在在MATLAB 6.5中,變量名是以字母開頭,中,變量名是以字母開頭,后接字母、數(shù)字或下劃線的字符序列,最后接字母、數(shù)字或下劃線的字符序列,最多多63個(gè)字符。在個(gè)字符。在MATLAB中,變量名區(qū)分中,變量名區(qū)分字母的大小寫。

2、字母的大小寫。2賦值語(yǔ)句賦值語(yǔ)句(1) 變量變量=表達(dá)式表達(dá)式 (2) 表達(dá)式表達(dá)式其中表達(dá)式是用運(yùn)算符將有關(guān)運(yùn)算量銜接其中表達(dá)式是用運(yùn)算符將有關(guān)運(yùn)算量銜接起來(lái)的式子,其結(jié)果是一個(gè)矩陣。起來(lái)的式子,其結(jié)果是一個(gè)矩陣。例例2-1 計(jì)算表達(dá)式的值,并顯示計(jì)算結(jié)果。計(jì)算表達(dá)式的值,并顯示計(jì)算結(jié)果。在在MATLAB命令窗口輸入命令:命令窗口輸入命令:x=1+2i;y=3-sqrt(17);z=(cos(abs(x+y)-sin(78*pi/180)/(x+abs(y)其中其中pi和和i都是都是MATLAB預(yù)先定義的變量,預(yù)先定義的變量,分別代表代表圓周率分別代表代表圓周率和虛數(shù)單位。和虛數(shù)單位。輸出結(jié)

3、果是:輸出結(jié)果是:z = -0.3488 + 0.3286i 2.1.2 預(yù)定義變量預(yù)定義變量在在MATLAB任務(wù)空間中,還駐留幾個(gè)由系統(tǒng)任務(wù)空間中,還駐留幾個(gè)由系統(tǒng)本身定義的變量。例如,用本身定義的變量。例如,用pi表示圓周率表示圓周率的近似值,用的近似值,用i,j表示虛數(shù)單位。表示虛數(shù)單位。預(yù)定義變量有特定的含義,在運(yùn)用時(shí),應(yīng)預(yù)定義變量有特定的含義,在運(yùn)用時(shí),應(yīng)盡量防止對(duì)這些變量重新賦值。盡量防止對(duì)這些變量重新賦值。2.1.3 內(nèi)存變量的管理內(nèi)存變量的管理1內(nèi)存變量的刪除與修正內(nèi)存變量的刪除與修正MATLAB任務(wù)空間窗口專門用于內(nèi)存變量任務(wù)空間窗口專門用于內(nèi)存變量的管理。在任務(wù)空間窗口中可

4、以顯示一切的管理。在任務(wù)空間窗口中可以顯示一切內(nèi)存變量的屬性。中選中某些變量后,再內(nèi)存變量的屬性。中選中某些變量后,再單擊單擊Delete按鈕,就能刪除這些變量。中選按鈕,就能刪除這些變量。中選中某些變量后,再單擊中某些變量后,再單擊Open按鈕,將進(jìn)入按鈕,將進(jìn)入變量編輯器。經(jīng)過(guò)變量編輯器可以直接察變量編輯器。經(jīng)過(guò)變量編輯器可以直接察看變量中的詳細(xì)元素,也可修正變量中的看變量中的詳細(xì)元素,也可修正變量中的詳細(xì)元素。詳細(xì)元素。clear命令用于刪除命令用于刪除MATLAB任務(wù)空間中的變?nèi)蝿?wù)空間中的變量。量。who和和whos這兩個(gè)命令用于顯示在這兩個(gè)命令用于顯示在MATLAB任務(wù)空間中曾經(jīng)駐留

5、的變量名清任務(wù)空間中曾經(jīng)駐留的變量名清單。單。who命令只顯示出駐留變量的稱號(hào),命令只顯示出駐留變量的稱號(hào),whos在給出變量名的同時(shí),還給出它們的在給出變量名的同時(shí),還給出它們的大小、所占字節(jié)數(shù)及數(shù)據(jù)類型等信息。大小、所占字節(jié)數(shù)及數(shù)據(jù)類型等信息。2內(nèi)存變量文件內(nèi)存變量文件利用利用MAT文件可以把當(dāng)前文件可以把當(dāng)前MATLAB任務(wù)空任務(wù)空間中的一些有用變量長(zhǎng)久地保管下來(lái),擴(kuò)間中的一些有用變量長(zhǎng)久地保管下來(lái),擴(kuò)展名是展名是.mat。MAT文件的生成和裝入由文件的生成和裝入由save和和load命令來(lái)完成。常用格式為:命令來(lái)完成。常用格式為:save 文件名文件名 變量名表變量名表 -append

6、-asciiload 文件名文件名 變量名表變量名表 -ascii其中,文件名可以帶途徑,但不需帶擴(kuò)展其中,文件名可以帶途徑,但不需帶擴(kuò)展名名.mat,命令隱含一定對(duì),命令隱含一定對(duì).mat文件進(jìn)展操作。文件進(jìn)展操作。變量名表中的變量個(gè)數(shù)不限,只需內(nèi)存或變量名表中的變量個(gè)數(shù)不限,只需內(nèi)存或文件中存在即可,變量名之間以空格分隔。文件中存在即可,變量名之間以空格分隔。當(dāng)變量名表省略時(shí),保管或裝入全部變量。當(dāng)變量名表省略時(shí),保管或裝入全部變量。-ascii選項(xiàng)使文件以選項(xiàng)使文件以ASCII格式處置,省略格式處置,省略該選項(xiàng)時(shí)文件將以二進(jìn)制格式處置。該選項(xiàng)時(shí)文件將以二進(jìn)制格式處置。save命命令中的令

7、中的-append選項(xiàng)控制將變量追加到選項(xiàng)控制將變量追加到MAT文件中。文件中。2.1.4 MATLAB常用數(shù)學(xué)函數(shù)常用數(shù)學(xué)函數(shù)MATLAB提供了許多數(shù)學(xué)函數(shù),函數(shù)的自提供了許多數(shù)學(xué)函數(shù),函數(shù)的自變量規(guī)定為矩陣變量,運(yùn)算法那么是將函變量規(guī)定為矩陣變量,運(yùn)算法那么是將函數(shù)逐項(xiàng)作用于矩陣的元素上,因此運(yùn)算的數(shù)逐項(xiàng)作用于矩陣的元素上,因此運(yùn)算的結(jié)果是一個(gè)與自變量同維數(shù)的矩陣。結(jié)果是一個(gè)與自變量同維數(shù)的矩陣。函數(shù)運(yùn)用闡明:函數(shù)運(yùn)用闡明:(1) 三角函數(shù)以弧度為單位計(jì)算。三角函數(shù)以弧度為單位計(jì)算。(2) abs函數(shù)可以務(wù)虛數(shù)的絕對(duì)值、復(fù)數(shù)的模、函數(shù)可以務(wù)虛數(shù)的絕對(duì)值、復(fù)數(shù)的模、字符串的字符串的ASCII

8、碼值。碼值。(3) 用于取整的函數(shù)有用于取整的函數(shù)有fix、floor、ceil、round,要留意它們的區(qū)別。,要留意它們的區(qū)別。(4) rem與與mod函數(shù)的區(qū)別。函數(shù)的區(qū)別。rem(x,y)和和mod(x,y)要求要求x,y必需為一樣大小的實(shí)矩陣必需為一樣大小的實(shí)矩陣或?yàn)闃?biāo)量?;?yàn)闃?biāo)量。2.1.5 數(shù)據(jù)的輸出格式數(shù)據(jù)的輸出格式 MATLAB用十進(jìn)制數(shù)表示一個(gè)常數(shù),詳用十進(jìn)制數(shù)表示一個(gè)常數(shù),詳細(xì)可采用日常記數(shù)法和科學(xué)記數(shù)法兩種表細(xì)可采用日常記數(shù)法和科學(xué)記數(shù)法兩種表示方法。示方法。 在普通情況下,在普通情況下,MATLAB內(nèi)部每一個(gè)數(shù)內(nèi)部每一個(gè)數(shù)據(jù)元素都是用雙精度數(shù)來(lái)表示和存儲(chǔ)的。據(jù)元素都是

9、用雙精度數(shù)來(lái)表示和存儲(chǔ)的。數(shù)據(jù)輸出時(shí)用戶可以用數(shù)據(jù)輸出時(shí)用戶可以用format命令設(shè)置或命令設(shè)置或改動(dòng)數(shù)據(jù)輸出格式。改動(dòng)數(shù)據(jù)輸出格式。format命令的格式為:命令的格式為: format 格式符格式符其中格式符決議數(shù)據(jù)的輸出格式其中格式符決議數(shù)據(jù)的輸出格式2.2 MATLAB矩陣矩陣2.2.1 矩陣的建立矩陣的建立1直接輸入法直接輸入法 最簡(jiǎn)單的建立矩陣的方法是從鍵盤直接最簡(jiǎn)單的建立矩陣的方法是從鍵盤直接輸入矩陣的元素。詳細(xì)方法如下:將矩陣輸入矩陣的元素。詳細(xì)方法如下:將矩陣的元素用方括號(hào)括起來(lái),按矩陣行的順序的元素用方括號(hào)括起來(lái),按矩陣行的順序輸入各元素,同一行的各元素之間用空格輸入各元素

10、,同一行的各元素之間用空格或逗號(hào)分隔,不同行的元素之間用分號(hào)分或逗號(hào)分隔,不同行的元素之間用分號(hào)分隔。隔。2利用利用M文件建立矩陣文件建立矩陣 對(duì)于比較大且比較復(fù)雜的矩陣,可以為對(duì)于比較大且比較復(fù)雜的矩陣,可以為它專門建立一個(gè)它專門建立一個(gè)M文件。下面經(jīng)過(guò)一個(gè)簡(jiǎn)文件。下面經(jīng)過(guò)一個(gè)簡(jiǎn)單例子來(lái)闡明如何利用單例子來(lái)闡明如何利用M文件創(chuàng)建矩陣。文件創(chuàng)建矩陣。 例例2-2 利用利用M文件建立文件建立MYMAT矩陣。矩陣。(1) 啟動(dòng)有關(guān)編輯程序或啟動(dòng)有關(guān)編輯程序或MATLAB文本編輯文本編輯器,并輸入待建矩陣:器,并輸入待建矩陣: (2) 把輸入的內(nèi)容以純文本方式存盤把輸入的內(nèi)容以純文本方式存盤(設(shè)文設(shè)

11、文件名為件名為mymatrix.m)。 (3) 在在MATLAB命令窗口中輸入命令窗口中輸入mymatrix,即運(yùn)轉(zhuǎn)該即運(yùn)轉(zhuǎn)該M文件,就會(huì)自動(dòng)建立一個(gè)名為文件,就會(huì)自動(dòng)建立一個(gè)名為MYMAT的矩陣,可供以后運(yùn)用。的矩陣,可供以后運(yùn)用。3利用冒號(hào)表達(dá)式建立一個(gè)向量利用冒號(hào)表達(dá)式建立一個(gè)向量 冒號(hào)表達(dá)式可以產(chǎn)生一個(gè)行向量,普通格式是:冒號(hào)表達(dá)式可以產(chǎn)生一個(gè)行向量,普通格式是: e1:e2:e3其中其中e1為初始值,為初始值,e2為步長(zhǎng),為步長(zhǎng),e3為終止值。為終止值。在在MATLAB中,還可以用中,還可以用linspace函數(shù)產(chǎn)生行向函數(shù)產(chǎn)生行向量。其調(diào)用格式為:量。其調(diào)用格式為:linspace

12、(a,b,n)其中其中a和和b是生成向量的第一個(gè)和最后一個(gè)元素,是生成向量的第一個(gè)和最后一個(gè)元素,n是元素總數(shù)。是元素總數(shù)。顯然,顯然,linspace(a,b,n)與與a:(b-a)/(n-1):b等價(jià)。等價(jià)。4建立大矩陣建立大矩陣大矩陣可由方括號(hào)中的小矩陣或向量建立起來(lái)。大矩陣可由方括號(hào)中的小矩陣或向量建立起來(lái)。2.2.2 矩陣的拆分矩陣的拆分1矩陣元素矩陣元素 經(jīng)過(guò)下標(biāo)援用矩陣的元素,例如經(jīng)過(guò)下標(biāo)援用矩陣的元素,例如A(3,2)=200采用矩陣元素的序號(hào)來(lái)援用矩陣元素。矩陣元素的序號(hào)就采用矩陣元素的序號(hào)來(lái)援用矩陣元素。矩陣元素的序號(hào)就是相應(yīng)元素在內(nèi)存中的陳列順序。在是相應(yīng)元素在內(nèi)存中的陳

13、列順序。在MATLAB中,矩陣中,矩陣元素按列存儲(chǔ),先第一列,再第二列,依次類推。例如元素按列存儲(chǔ),先第一列,再第二列,依次類推。例如A=1,2,3;4,5,6;A(3)ans = 2顯然,序號(hào)顯然,序號(hào)(Index)與下標(biāo)與下標(biāo)(Subscript )是一一對(duì)應(yīng)的,以是一一對(duì)應(yīng)的,以mn矩陣矩陣A為例,矩陣元素為例,矩陣元素A(i,j)的序號(hào)為的序號(hào)為(j-1)*m+i。其相。其相互轉(zhuǎn)換關(guān)系也可利用互轉(zhuǎn)換關(guān)系也可利用sub2ind和和ind2sub函數(shù)求得。函數(shù)求得。2矩陣拆分矩陣拆分 (1) 利用冒號(hào)表達(dá)式獲得子矩陣?yán)妹疤?hào)表達(dá)式獲得子矩陣 A(:,j)表示取表示取A矩陣的第矩陣的第j列全

14、部元素;列全部元素;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),并在第行內(nèi),并在第kk+m列中的一切元素。列中的一切元素。此外,還可利用普通向量和此外,還可利用普通向量和end運(yùn)算符來(lái)表示矩陣下標(biāo),運(yùn)算符來(lái)表示矩陣下標(biāo),從而獲得子矩陣。從而獲得子矩陣。end表示某一維的末

15、尾元素下標(biāo)。表示某一維的末尾元素下標(biāo)。 (2) 利用空矩陣刪除矩陣的元素利用空矩陣刪除矩陣的元素 在在MATLAB中,定義中,定義為空矩陣。給變?yōu)榭站仃?。給變量量X賦空矩陣的語(yǔ)句為賦空矩陣的語(yǔ)句為X=。留意,。留意,X=與與clear X不同,不同,clear是將是將X從任務(wù)空間中刪除,從任務(wù)空間中刪除,而空矩陣那么存在于任務(wù)空間中,只是維而空矩陣那么存在于任務(wù)空間中,只是維數(shù)為數(shù)為0。2.2.3 特殊矩陣特殊矩陣1通用的特殊矩陣通用的特殊矩陣常用的產(chǎn)生通用特殊矩陣的函數(shù)有:常用的產(chǎn)生通用特殊矩陣的函數(shù)有:zeros:產(chǎn)生全:產(chǎn)生全0矩陣矩陣(零矩陣零矩陣)。ones:產(chǎn)生全:產(chǎn)生全1矩陣矩陣

16、(幺矩陣幺矩陣)。eye:產(chǎn)生單位矩陣。:產(chǎn)生單位矩陣。rand:產(chǎn)生:產(chǎn)生01間均勻分布的隨機(jī)矩陣。間均勻分布的隨機(jī)矩陣。randn:產(chǎn)生均值為:產(chǎn)生均值為0,方差為,方差為1的規(guī)范正態(tài)的規(guī)范正態(tài)分布隨機(jī)矩陣。分布隨機(jī)矩陣。例例2-3 分別建立分別建立33、32和與矩陣和與矩陣A同樣大小的零同樣大小的零矩陣。矩陣。(1) 建立一個(gè)建立一個(gè)33零矩陣。零矩陣。zeros(3) (2) 建立一個(gè)建立一個(gè)32零矩陣。零矩陣。zeros(3,2) (3) 設(shè)設(shè)A為為23矩陣,那么可以用矩陣,那么可以用zeros(size(A)建建立一個(gè)與矩陣立一個(gè)與矩陣A同樣大小零矩陣。同樣大小零矩陣。A=1 2

17、3;4 5 6; %產(chǎn)生一個(gè)產(chǎn)生一個(gè)23階矩陣階矩陣Azeros(size(A) %產(chǎn)生一個(gè)與矩陣產(chǎn)生一個(gè)與矩陣A同樣大小的同樣大小的零矩陣零矩陣?yán)?-4 建立隨機(jī)矩陣:建立隨機(jī)矩陣:(1) 在區(qū)間在區(qū)間20,50內(nèi)均勻分布的內(nèi)均勻分布的5階隨機(jī)矩陣。階隨機(jī)矩陣。(2) 均值為均值為0.6、方差為、方差為0.1的的5階正態(tài)分布隨機(jī)矩陣。階正態(tài)分布隨機(jī)矩陣。命令如下:命令如下:x=20+(50-20)*rand(5)y=0.6+sqrt(0.1)*randn(5)此外,常用的函數(shù)還有此外,常用的函數(shù)還有reshape(A,m,n),它在矩,它在矩陣總元素堅(jiān)持不變的前提下,將矩陣陣總元素堅(jiān)持不變

18、的前提下,將矩陣A重新排成重新排成mn的二維矩陣。的二維矩陣。2用于專門學(xué)科的特殊矩陣用于專門學(xué)科的特殊矩陣 (1) 魔方矩陣魔方矩陣魔方矩陣有一個(gè)有趣的性質(zhì),其每行、每魔方矩陣有一個(gè)有趣的性質(zhì),其每行、每列及兩條對(duì)角線上的元素和都相等。對(duì)于列及兩條對(duì)角線上的元素和都相等。對(duì)于n階魔方陣,其元素由階魔方陣,其元素由1,2,3,n2共共n2個(gè)整數(shù)個(gè)整數(shù)組成。組成。MATLAB提供了求魔方矩陣的函數(shù)提供了求魔方矩陣的函數(shù)magic(n),其功能是生成一個(gè),其功能是生成一個(gè)n階魔方陣。階魔方陣。例例2-5 將將101125等等25個(gè)數(shù)填入一個(gè)個(gè)數(shù)填入一個(gè)5行行5列的列的表格中,使其每行每列及對(duì)角線的

19、和均為表格中,使其每行每列及對(duì)角線的和均為565。M=100+magic(5) (2) 范得蒙矩陣范得蒙矩陣范得蒙范得蒙(Vandermonde)矩陣最后一列全為矩陣最后一列全為1,倒數(shù)第二列為一個(gè)指定的向量,其他各列倒數(shù)第二列為一個(gè)指定的向量,其他各列是其后列與倒數(shù)第二列的點(diǎn)乘積??梢杂檬瞧浜罅信c倒數(shù)第二列的點(diǎn)乘積??梢杂靡粋€(gè)指定向量生成一個(gè)范得蒙矩陣。在一個(gè)指定向量生成一個(gè)范得蒙矩陣。在MATLAB中,函數(shù)中,函數(shù)vander(V)生成以向量生成以向量V為根底向量的范得蒙矩陣。例如,為根底向量的范得蒙矩陣。例如,A=vander(1;2;3;5)即可得到上述范得蒙矩即可得到上述范得蒙矩陣。

20、陣。(3) 希爾伯特矩陣希爾伯特矩陣在在MATLAB中,生成希爾伯特矩陣的函數(shù)中,生成希爾伯特矩陣的函數(shù)是是hilb(n)。運(yùn)用普通方法求逆會(huì)由于原始數(shù)據(jù)的微小運(yùn)用普通方法求逆會(huì)由于原始數(shù)據(jù)的微小擾動(dòng)而產(chǎn)生不可靠的計(jì)算結(jié)果。擾動(dòng)而產(chǎn)生不可靠的計(jì)算結(jié)果。MATLAB中,有一個(gè)專門求希爾伯特矩陣的逆的函中,有一個(gè)專門求希爾伯特矩陣的逆的函數(shù)數(shù)invhilb(n),其功能是求,其功能是求n階的希爾伯特矩階的希爾伯特矩陣的逆矩陣。陣的逆矩陣。例例2-6 求求4階希爾伯特矩陣及其逆矩陣。階希爾伯特矩陣及其逆矩陣。命令如下:命令如下:format rat %以有理方式輸出以有理方式輸出H=hilb(4)H

21、=invhilb(4) (4) 托普利茲矩陣托普利茲矩陣托普利茲托普利茲(Toeplitz)矩陣除第一行第一列外,矩陣除第一行第一列外,其他每個(gè)元素都與左上角的元素一樣。生其他每個(gè)元素都與左上角的元素一樣。生成托普利茲矩陣的函數(shù)是成托普利茲矩陣的函數(shù)是toeplitz(x,y),它,它生成一個(gè)以生成一個(gè)以x為第一列,為第一列,y為第一行的托普為第一行的托普利茲矩陣。這里利茲矩陣。這里x, y均為向量,兩者不用等均為向量,兩者不用等長(zhǎng)。長(zhǎng)。toeplitz(x)用向量用向量x生成一個(gè)對(duì)稱的托普生成一個(gè)對(duì)稱的托普利茲矩陣。例如利茲矩陣。例如T=toeplitz(1:6) (5) 伴隨矩陣伴隨矩陣M

22、ATLAB生成伴隨矩陣的函數(shù)是生成伴隨矩陣的函數(shù)是compan(p),其中,其中p是一個(gè)多項(xiàng)式的系數(shù)向是一個(gè)多項(xiàng)式的系數(shù)向量,高次冪系數(shù)排在前,低次冪排在后。量,高次冪系數(shù)排在前,低次冪排在后。例如,為了求多項(xiàng)式的例如,為了求多項(xiàng)式的x3-7x+6的伴隨矩陣,的伴隨矩陣,可運(yùn)用命令:可運(yùn)用命令:p=1,0,-7,6;compan(p) (6) 帕斯卡矩陣帕斯卡矩陣我們知道,二次項(xiàng)我們知道,二次項(xiàng)(x+y)n展開后的系數(shù)隨展開后的系數(shù)隨n的增大組成一個(gè)三角形表,稱為楊輝三角的增大組成一個(gè)三角形表,稱為楊輝三角形。由楊輝三角形表組成的矩陣稱為帕斯形。由楊輝三角形表組成的矩陣稱為帕斯卡卡(Pasca

23、l)矩陣。函數(shù)矩陣。函數(shù)pascal(n)生成一個(gè)生成一個(gè)n階階帕斯卡矩陣。帕斯卡矩陣。例例2-7 求求(x+y)5的展開式。的展開式。在在MATLAB命令窗口,輸入命令:命令窗口,輸入命令:pascal(6)矩陣次對(duì)角線上的元素矩陣次對(duì)角線上的元素1,5,10,10,5,1即為展即為展開式的系數(shù)。開式的系數(shù)。 2.3 MATLAB運(yùn)算運(yùn)算 2.3.1算術(shù)運(yùn)算算術(shù)運(yùn)算1根本算術(shù)運(yùn)算根本算術(shù)運(yùn)算 MATLAB的根本算術(shù)運(yùn)算有:的根本算術(shù)運(yùn)算有:(加加)、(減減)、*(乘乘)、/(右除右除)、(左除左除)、(乘方乘方)。留意,運(yùn)算是在矩陣意義下進(jìn)展的,單個(gè)留意,運(yùn)算是在矩陣意義下進(jìn)展的,單個(gè)數(shù)據(jù)的

24、算術(shù)運(yùn)算只是一種特例。數(shù)據(jù)的算術(shù)運(yùn)算只是一種特例。 (1) 矩陣加減運(yùn)算矩陣加減運(yùn)算 假定有兩個(gè)矩陣假定有兩個(gè)矩陣A和和B,那么可以由,那么可以由A+B和和A-B實(shí)現(xiàn)矩陣的加減運(yùn)算。運(yùn)算規(guī)那么是:實(shí)現(xiàn)矩陣的加減運(yùn)算。運(yùn)算規(guī)那么是:假設(shè)假設(shè)A和和B矩陣的維數(shù)一樣,那么可以執(zhí)行矩陣的維數(shù)一樣,那么可以執(zhí)行矩陣的加減運(yùn)算,矩陣的加減運(yùn)算,A和和B矩陣的相應(yīng)元素相矩陣的相應(yīng)元素相加減。假設(shè)加減。假設(shè)A與與B的維數(shù)不一樣,那么的維數(shù)不一樣,那么MATLAB將給出錯(cuò)誤信息,提示用戶兩個(gè)將給出錯(cuò)誤信息,提示用戶兩個(gè)矩陣的維數(shù)不匹配。矩陣的維數(shù)不匹配。 (2) 矩陣乘法矩陣乘法 假定有兩個(gè)矩陣假定有兩個(gè)矩陣A

25、和和B,假設(shè),假設(shè)A為為mn矩陣,矩陣,B為為np矩陣,那么矩陣,那么C=A*B為為mp矩陣。矩陣。 (3) 矩陣除法矩陣除法在在MATLAB中,有兩種矩陣除法運(yùn)算:中,有兩種矩陣除法運(yùn)算:和和/,分,分別表示左除和右除。假設(shè)別表示左除和右除。假設(shè)A矩陣是非奇特方陣,矩陣是非奇特方陣,那么那么AB和和B/A運(yùn)算可以實(shí)現(xiàn)。運(yùn)算可以實(shí)現(xiàn)。AB等效于等效于A的逆的逆左乘左乘B矩陣,也就是矩陣,也就是inv(A)*B,而,而B/A等效于等效于A矩矩陣的逆右乘陣的逆右乘B矩陣,也就是矩陣,也就是B*inv(A)。對(duì)于含有標(biāo)量的運(yùn)算,兩種除法運(yùn)算的結(jié)果一樣,對(duì)于含有標(biāo)量的運(yùn)算,兩種除法運(yùn)算的結(jié)果一樣,如如

26、3/4和和43有一樣的值,都等于有一樣的值,都等于0.75。又如,設(shè)。又如,設(shè)a=10.5,25,那么,那么a/5=5a=2.1000 5.0000。對(duì)于。對(duì)于矩陣來(lái)說(shuō),左除和右除表示兩種不同的除數(shù)矩陣矩陣來(lái)說(shuō),左除和右除表示兩種不同的除數(shù)矩陣和被除數(shù)矩陣的關(guān)系。對(duì)于矩陣運(yùn)算,普通和被除數(shù)矩陣的關(guān)系。對(duì)于矩陣運(yùn)算,普通ABB/A。 (4) 矩陣的乘方矩陣的乘方 一個(gè)矩陣的乘方運(yùn)算可以表示成一個(gè)矩陣的乘方運(yùn)算可以表示成Ax,要,要求求A為方陣,為方陣,x為標(biāo)量。為標(biāo)量。2點(diǎn)運(yùn)算點(diǎn)運(yùn)算 在在MATLAB中,有一種特殊的運(yùn)算,由中,有一種特殊的運(yùn)算,由于其運(yùn)算符是在有關(guān)算術(shù)運(yùn)算符前面加點(diǎn),于其運(yùn)算符

27、是在有關(guān)算術(shù)運(yùn)算符前面加點(diǎn),所以叫點(diǎn)運(yùn)算。點(diǎn)運(yùn)算符有所以叫點(diǎn)運(yùn)算。點(diǎn)運(yùn)算符有.*、./、.和和.。兩矩陣進(jìn)展點(diǎn)運(yùn)算是指它們的對(duì)應(yīng)元素進(jìn)兩矩陣進(jìn)展點(diǎn)運(yùn)算是指它們的對(duì)應(yīng)元素進(jìn)展相關(guān)運(yùn)算,要求兩矩陣的維參數(shù)一樣。展相關(guān)運(yùn)算,要求兩矩陣的維參數(shù)一樣。2.3.2 關(guān)系運(yùn)算關(guān)系運(yùn)算 MATLAB提供了提供了6種關(guān)系運(yùn)算符:種關(guān)系運(yùn)算符:(小小于于)、(大于大于)、=(大于或大于或等于等于)、=(等于等于)、=(不等于不等于)。它們的含。它們的含義不難了解,但要留意其書寫方法與數(shù)學(xué)義不難了解,但要留意其書寫方法與數(shù)學(xué)中的不等式符號(hào)不盡一樣。中的不等式符號(hào)不盡一樣。 關(guān)系運(yùn)算符的運(yùn)算法那么為:關(guān)系運(yùn)算符的運(yùn)算

28、法那么為: (1) 當(dāng)兩個(gè)比競(jìng)賽是標(biāo)量時(shí),直接比較兩當(dāng)兩個(gè)比競(jìng)賽是標(biāo)量時(shí),直接比較兩數(shù)的大小。假設(shè)關(guān)系成立,關(guān)系表達(dá)式結(jié)數(shù)的大小。假設(shè)關(guān)系成立,關(guān)系表達(dá)式結(jié)果為果為1,否那么為,否那么為0。 (2) 當(dāng)參與比較的量是兩個(gè)維數(shù)一樣的矩當(dāng)參與比較的量是兩個(gè)維數(shù)一樣的矩陣時(shí),比較是對(duì)兩矩陣一樣位置的元素按陣時(shí),比較是對(duì)兩矩陣一樣位置的元素按標(biāo)量關(guān)系運(yùn)算規(guī)那么逐個(gè)進(jìn)展,并給出元標(biāo)量關(guān)系運(yùn)算規(guī)那么逐個(gè)進(jìn)展,并給出元素比較結(jié)果。最終的關(guān)系運(yùn)算的結(jié)果是一素比較結(jié)果。最終的關(guān)系運(yùn)算的結(jié)果是一個(gè)維數(shù)與原矩陣一樣的矩陣,它的元素由個(gè)維數(shù)與原矩陣一樣的矩陣,它的元素由0或或1組成。組成。 (3) 當(dāng)參與比較的一個(gè)是

29、標(biāo)量,而另一個(gè)是當(dāng)參與比較的一個(gè)是標(biāo)量,而另一個(gè)是矩陣時(shí),那么把標(biāo)量與矩陣的每一個(gè)元素矩陣時(shí),那么把標(biāo)量與矩陣的每一個(gè)元素按標(biāo)量關(guān)系運(yùn)算規(guī)那么逐個(gè)比較,并給出按標(biāo)量關(guān)系運(yùn)算規(guī)那么逐個(gè)比較,并給出元素比較結(jié)果。最終的關(guān)系運(yùn)算的結(jié)果是元素比較結(jié)果。最終的關(guān)系運(yùn)算的結(jié)果是一個(gè)維數(shù)與原矩陣一樣的矩陣,它的元素一個(gè)維數(shù)與原矩陣一樣的矩陣,它的元素由由0或或1組成。組成。 例例2-8 產(chǎn)生產(chǎn)生5階隨機(jī)方陣階隨機(jī)方陣A,其元素為,其元素為10,90區(qū)間區(qū)間的隨機(jī)整數(shù),然后判別的隨機(jī)整數(shù),然后判別A的元素能否能被的元素能否能被3整除。整除。 (1) 生成生成5階隨機(jī)方陣階隨機(jī)方陣A。A=fix(90-10+1

30、)*rand(5)+10) (2) 判別判別A的元素能否可以被的元素能否可以被3整除。整除。 P=rem(A,3)=0其中,其中,rem(A,3)是矩陣是矩陣A的每個(gè)元素除以的每個(gè)元素除以3的余數(shù)的余數(shù)矩陣。此時(shí),矩陣。此時(shí),0被擴(kuò)展為與被擴(kuò)展為與A同維數(shù)的零矩陣,同維數(shù)的零矩陣,P是進(jìn)展等于是進(jìn)展等于(=)比較的結(jié)果矩陣。比較的結(jié)果矩陣。2.3.3 邏輯運(yùn)算邏輯運(yùn)算 MATLAB提供了提供了3種邏輯運(yùn)算符:種邏輯運(yùn)算符:&(與與)、|(或或)和和(非非)。 邏輯運(yùn)算的運(yùn)算法那么為:邏輯運(yùn)算的運(yùn)算法那么為: (1) 在邏輯運(yùn)算中,確認(rèn)非零元素為真,用在邏輯運(yùn)算中,確認(rèn)非零元素為真,用1

31、表示,零元表示,零元素為假,用素為假,用0表示。表示。 (2) 設(shè)參與邏輯運(yùn)算的是兩個(gè)標(biāo)量設(shè)參與邏輯運(yùn)算的是兩個(gè)標(biāo)量a和和b,那么,那么, a&b a,b全為非零時(shí),運(yùn)算結(jié)果為全為非零時(shí),運(yùn)算結(jié)果為1,否那么為,否那么為0。 a|b a,b中只需有一個(gè)非零,運(yùn)算結(jié)果為中只需有一個(gè)非零,運(yùn)算結(jié)果為1。 a 當(dāng)當(dāng)a是零時(shí),運(yùn)算結(jié)果為是零時(shí),運(yùn)算結(jié)果為1;當(dāng);當(dāng)a非零時(shí),運(yùn)算結(jié)果非零時(shí),運(yùn)算結(jié)果為為0。 (3) 假設(shè)參與邏輯運(yùn)算的是兩個(gè)同維矩陣,假設(shè)參與邏輯運(yùn)算的是兩個(gè)同維矩陣,那么運(yùn)算將對(duì)矩陣一樣位置上的元素按標(biāo)那么運(yùn)算將對(duì)矩陣一樣位置上的元素按標(biāo)量規(guī)那么逐個(gè)進(jìn)展。最終運(yùn)算結(jié)果是一個(gè)量規(guī)那

32、么逐個(gè)進(jìn)展。最終運(yùn)算結(jié)果是一個(gè)與原矩陣同維的矩陣,其元素由與原矩陣同維的矩陣,其元素由1或或0組成。組成。 (4) 假設(shè)參與邏輯運(yùn)算的一個(gè)是標(biāo)量,一個(gè)假設(shè)參與邏輯運(yùn)算的一個(gè)是標(biāo)量,一個(gè)是矩陣,那么運(yùn)算將在標(biāo)量與矩陣中的每是矩陣,那么運(yùn)算將在標(biāo)量與矩陣中的每個(gè)元素之間按標(biāo)量規(guī)那么逐個(gè)進(jìn)展。最終個(gè)元素之間按標(biāo)量規(guī)那么逐個(gè)進(jìn)展。最終運(yùn)算結(jié)果是一個(gè)與矩陣同維的矩陣,其元運(yùn)算結(jié)果是一個(gè)與矩陣同維的矩陣,其元素由素由1或或0組成。組成。 (5) 邏輯非是單目運(yùn)算符,也服從矩陣運(yùn)算規(guī)邏輯非是單目運(yùn)算符,也服從矩陣運(yùn)算規(guī)那么。那么。(6) 在算術(shù)、關(guān)系、邏輯運(yùn)算中,算術(shù)運(yùn)算在算術(shù)、關(guān)系、邏輯運(yùn)算中,算術(shù)運(yùn)算優(yōu)

33、先級(jí)最高,邏輯運(yùn)算優(yōu)先級(jí)最低。優(yōu)先級(jí)最高,邏輯運(yùn)算優(yōu)先級(jí)最低。例例2-9 建立矩陣建立矩陣A,然后找出大于,然后找出大于4的元素的的元素的位置。位置。(1) 建立矩陣建立矩陣A。A=4,-65,-54,0,6;56,0,67,-45,0 (2) 找出大于找出大于4的元素的位置。的元素的位置。find(A4)2.4 矩陣分析矩陣分析2.4.1 對(duì)角陣與三角陣對(duì)角陣與三角陣1對(duì)角陣對(duì)角陣只需對(duì)角線上有非只需對(duì)角線上有非0元素的矩陣稱為對(duì)角矩元素的矩陣稱為對(duì)角矩陣,對(duì)角線上的元素相等的對(duì)角矩陣稱為陣,對(duì)角線上的元素相等的對(duì)角矩陣稱為數(shù)量矩陣,對(duì)角線上的元素都為數(shù)量矩陣,對(duì)角線上的元素都為1的對(duì)角矩的

34、對(duì)角矩陣稱為單位矩陣。陣稱為單位矩陣。(1) 提取矩陣的對(duì)角線元素提取矩陣的對(duì)角線元素設(shè)設(shè)A為為mn矩陣,矩陣,diag(A)函數(shù)用于提取矩陣函數(shù)用于提取矩陣A主對(duì)角線元主對(duì)角線元素,產(chǎn)生一個(gè)具有素,產(chǎn)生一個(gè)具有min(m,n)個(gè)元素的列向量。個(gè)元素的列向量。diag(A)函數(shù)還有一種方式函數(shù)還有一種方式diag(A,k),其功能是提取第,其功能是提取第k條條對(duì)角線的元素。對(duì)角線的元素。(2) 構(gòu)造對(duì)角矩陣構(gòu)造對(duì)角矩陣設(shè)設(shè)V為具有為具有m個(gè)元素的向量,個(gè)元素的向量,diag(V)將產(chǎn)生一個(gè)將產(chǎn)生一個(gè)mm對(duì)角對(duì)角矩陣,其主對(duì)角線元素即為向量矩陣,其主對(duì)角線元素即為向量V的元素。的元素。diag(

35、V)函數(shù)也有另一種方式函數(shù)也有另一種方式diag(V,k),其功能是產(chǎn)生一個(gè),其功能是產(chǎn)生一個(gè)nn(n=m+)對(duì)角陣,其第對(duì)角陣,其第k條對(duì)角線的元素即為向量條對(duì)角線的元素即為向量V的元的元素。素。例例2-10 先建立先建立55矩陣矩陣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,對(duì),對(duì)A的每行乘的每行乘以一個(gè)指定常數(shù)以一個(gè)指定常數(shù)2三角陣三角陣三

36、角陣又進(jìn)一步分為上三角陣和下三角陣,三角陣又進(jìn)一步分為上三角陣和下三角陣,所謂上三角陣,即矩陣的對(duì)角線以下的元所謂上三角陣,即矩陣的對(duì)角線以下的元素全為素全為0的一種矩陣,而下三角陣那么是對(duì)的一種矩陣,而下三角陣那么是對(duì)角線以上的元素全為角線以上的元素全為0的一種矩陣。的一種矩陣。(1) 上三角矩陣上三角矩陣求矩陣求矩陣A的上三角陣的的上三角陣的MATLAB函數(shù)是函數(shù)是triu(A)。triu(A)函數(shù)也有另一種方式函數(shù)也有另一種方式triu(A,k),其功能是,其功能是求矩陣求矩陣A的第的第k條對(duì)角線以上的元素。例如,提取條對(duì)角線以上的元素。例如,提取矩陣矩陣A的第的第2條對(duì)角線以上的元素,

37、構(gòu)成新的矩陣條對(duì)角線以上的元素,構(gòu)成新的矩陣B。(2) 下三角矩陣下三角矩陣在在MATLAB中,提取矩陣中,提取矩陣A的下三角矩陣的函數(shù)的下三角矩陣的函數(shù)是是tril(A)和和tril(A,k),其用法與提取上三角矩陣的,其用法與提取上三角矩陣的函數(shù)函數(shù)triu(A)和和triu(A,k)完全一樣。完全一樣。2.4.2 矩陣的轉(zhuǎn)置與旋轉(zhuǎn)矩陣的轉(zhuǎn)置與旋轉(zhuǎn)1矩陣的轉(zhuǎn)置矩陣的轉(zhuǎn)置轉(zhuǎn)置運(yùn)算符是單撇號(hào)轉(zhuǎn)置運(yùn)算符是單撇號(hào)()。2矩陣的旋轉(zhuǎn)矩陣的旋轉(zhuǎn)利用函數(shù)利用函數(shù)rot90(A,k)將矩陣將矩陣A旋轉(zhuǎn)旋轉(zhuǎn)90的的k倍,倍,當(dāng)當(dāng)k為為1時(shí)可省略。時(shí)可省略。3矩陣的左右翻轉(zhuǎn)矩陣的左右翻轉(zhuǎn)對(duì)矩陣實(shí)施左右翻轉(zhuǎn)是將

38、原矩陣的第一列對(duì)矩陣實(shí)施左右翻轉(zhuǎn)是將原矩陣的第一列和最后一列互換,第二列和倒數(shù)第二列互和最后一列互換,第二列和倒數(shù)第二列互換,換,依次類推。,依次類推。MATLAB對(duì)矩陣對(duì)矩陣A實(shí)實(shí)施左右翻轉(zhuǎn)的函數(shù)是施左右翻轉(zhuǎn)的函數(shù)是fliplr(A)。4矩陣的上下翻轉(zhuǎn)矩陣的上下翻轉(zhuǎn)MATLAB對(duì)矩陣對(duì)矩陣A實(shí)施上下翻轉(zhuǎn)的函數(shù)是實(shí)施上下翻轉(zhuǎn)的函數(shù)是flipud(A)。2.4.3 矩陣的逆與偽逆矩陣的逆與偽逆1矩陣的逆矩陣的逆對(duì)于一個(gè)方陣對(duì)于一個(gè)方陣A,假設(shè)存在一個(gè)與其同階的方陣,假設(shè)存在一個(gè)與其同階的方陣B,使得:,使得:AB=BA=I (I為單位矩陣為單位矩陣)那么稱那么稱B為為A的逆矩陣,當(dāng)然,的逆矩陣,

39、當(dāng)然,A也是也是B的逆矩陣。的逆矩陣。求一個(gè)矩陣的逆是一件非常煩瑣的任務(wù),容易出錯(cuò),但在求一個(gè)矩陣的逆是一件非常煩瑣的任務(wù),容易出錯(cuò),但在MATLAB中,求一個(gè)矩陣的逆非常容易。求方陣中,求一個(gè)矩陣的逆非常容易。求方陣A的逆矩的逆矩陣可調(diào)用函數(shù)陣可調(diào)用函數(shù)inv(A)。例例2-11 用求逆矩陣的方法解線性方程組。用求逆矩陣的方法解線性方程組。Ax=b其解為:其解為:x=A-1b2矩陣的偽逆矩陣的偽逆假設(shè)矩陣假設(shè)矩陣A不是一個(gè)方陣,或者不是一個(gè)方陣,或者A是一個(gè)非滿秩的是一個(gè)非滿秩的方陣時(shí),矩陣方陣時(shí),矩陣A沒(méi)有逆矩陣,但可以找到一個(gè)與沒(méi)有逆矩陣,但可以找到一個(gè)與A的轉(zhuǎn)置矩陣的轉(zhuǎn)置矩陣A同型的矩

40、陣同型的矩陣B,使得:,使得:ABA=ABAB=B此時(shí)稱矩陣此時(shí)稱矩陣B為矩陣為矩陣A的偽逆,也稱為廣義逆矩陣。的偽逆,也稱為廣義逆矩陣。在在MATLAB中,求一個(gè)矩陣偽逆的函數(shù)是中,求一個(gè)矩陣偽逆的函數(shù)是pinv(A)。2.4.4 方陣的行列式方陣的行列式把一個(gè)方陣看作一個(gè)行列式,并對(duì)其按行把一個(gè)方陣看作一個(gè)行列式,并對(duì)其按行列式的規(guī)那么求值,這個(gè)值就稱為矩陣所列式的規(guī)那么求值,這個(gè)值就稱為矩陣所對(duì)應(yīng)的行列式的值。在對(duì)應(yīng)的行列式的值。在MATLAB中,求方中,求方陣陣A所對(duì)應(yīng)的行列式的值的函數(shù)是所對(duì)應(yīng)的行列式的值的函數(shù)是det(A)。2.4.5 矩陣的秩與跡矩陣的秩與跡1矩陣的秩矩陣的秩矩陣

41、線性無(wú)關(guān)的行數(shù)與列數(shù)稱為矩陣的秩。矩陣線性無(wú)關(guān)的行數(shù)與列數(shù)稱為矩陣的秩。在在MATLAB中,求矩陣秩的函數(shù)是中,求矩陣秩的函數(shù)是rank(A)。2矩陣的跡矩陣的跡矩陣的跡等于矩陣的對(duì)角線元素之和,也矩陣的跡等于矩陣的對(duì)角線元素之和,也等于矩陣的特征值之和。在等于矩陣的特征值之和。在MATLAB中,中,求矩陣的跡的函數(shù)是求矩陣的跡的函數(shù)是trace(A)。2.4.6 向量和矩陣的范數(shù)向量和矩陣的范數(shù)矩陣或向量的范數(shù)用來(lái)度量矩陣或向量在矩陣或向量的范數(shù)用來(lái)度量矩陣或向量在某種意義下的長(zhǎng)度。范數(shù)有多種方法定義,某種意義下的長(zhǎng)度。范數(shù)有多種方法定義,其定義不同,范數(shù)值也就不同。其定義不同,范數(shù)值也就不

42、同。1向量的向量的3種常用范數(shù)及其計(jì)算函數(shù)種常用范數(shù)及其計(jì)算函數(shù)在在MATLAB中,求向量范數(shù)的函數(shù)為:中,求向量范數(shù)的函數(shù)為:(1) norm(V)或或norm(V,2):計(jì)算向量:計(jì)算向量V的的2范數(shù)。范數(shù)。(2) norm(V,1):計(jì)算向量:計(jì)算向量V的的1范數(shù)。范數(shù)。(3) norm(V,inf):計(jì)算向量:計(jì)算向量V的的范數(shù)。范數(shù)。2矩陣的范數(shù)及其計(jì)算函數(shù)矩陣的范數(shù)及其計(jì)算函數(shù)MATLAB提供了求提供了求3種矩陣范數(shù)的函數(shù),其函數(shù)種矩陣范數(shù)的函數(shù),其函數(shù)調(diào)用格式與求向量的范數(shù)的函數(shù)完全一樣。調(diào)用格式與求向量的范數(shù)的函數(shù)完全一樣。2.4.7 矩陣的條件數(shù)矩陣的條件數(shù)在在MATLAB中

43、,計(jì)算矩陣中,計(jì)算矩陣A的的3種條件數(shù)的函數(shù)是:種條件數(shù)的函數(shù)是:(1) cond(A,1) 計(jì)算計(jì)算A的的1范數(shù)下的條件數(shù)。范數(shù)下的條件數(shù)。(2) cond(A)或或cond(A,2) 計(jì)算計(jì)算A的的2范數(shù)數(shù)下的范數(shù)數(shù)下的條件數(shù)。條件數(shù)。(3) cond(A,inf) 計(jì)算計(jì)算A的的 范數(shù)下的條件數(shù)。范數(shù)下的條件數(shù)。2.4.8 矩陣的特征值與特征向量矩陣的特征值與特征向量在在MATLAB中,計(jì)算矩陣中,計(jì)算矩陣A的特征值和特的特征值和特征向量的函數(shù)是征向量的函數(shù)是eig(A),常用的調(diào)用格式有,常用的調(diào)用格式有3種:種:(1) E=eig(A):求矩陣:求矩陣A的全部特征值,構(gòu)的全部特征值,

44、構(gòu)成向量成向量E。(2) V,D=eig(A):求矩陣:求矩陣A的全部特征值,的全部特征值,構(gòu)成對(duì)角陣構(gòu)成對(duì)角陣D,并求,并求A的特征向量構(gòu)成的特征向量構(gòu)成V的的列向量。列向量。(3) V,D=eig(A,nobalance):與第:與第2種格式類種格式類似,但第似,但第2種格式中先對(duì)種格式中先對(duì)A作類似變換后求作類似變換后求矩陣矩陣A的特征值和特征向量,而格式的特征值和特征向量,而格式3直接直接求矩陣求矩陣A的特征值和特征向量。的特征值和特征向量。例例2-12 用求特征值的方法解方程。用求特征值的方法解方程。3x5-7x4+5x2+2x-18=0p=3,-7,0,5,2,-18;A=comp

45、an(p); %A的伴隨矩陣的伴隨矩陣x1=eig(A) %求求A的特征值的特征值x2=roots(p) %直接求多項(xiàng)式直接求多項(xiàng)式p的零的零點(diǎn)點(diǎn)2.5 矩陣的超越函數(shù)矩陣的超越函數(shù)1矩陣平方根矩陣平方根sqrtmsqrtm(A)計(jì)算矩陣計(jì)算矩陣A的平方根。的平方根。2矩陣對(duì)數(shù)矩陣對(duì)數(shù)logmlogm(A)計(jì)算矩陣計(jì)算矩陣A的自然對(duì)數(shù)。此函數(shù)輸?shù)淖匀粚?duì)數(shù)。此函數(shù)輸入?yún)?shù)的條件與輸出結(jié)果間的關(guān)系和函數(shù)入?yún)?shù)的條件與輸出結(jié)果間的關(guān)系和函數(shù)sqrtm(A)完全一樣完全一樣3矩陣指數(shù)矩陣指數(shù)expm、expm1、expm2、expm3expm(A)、expm1(A)、expm2(A)、expm3(A)

46、的功能都求矩陣指數(shù)的功能都求矩陣指數(shù)eA。4普通矩陣函數(shù)普通矩陣函數(shù)funmfunm(A,fun)用來(lái)計(jì)算直接作用于矩陣用來(lái)計(jì)算直接作用于矩陣A的的由由fun指定的超越函數(shù)值。當(dāng)指定的超越函數(shù)值。當(dāng)fun取取sqrt時(shí),時(shí),funm(A,sqrt)可以計(jì)算矩陣可以計(jì)算矩陣A的平方根,的平方根,與與sqrtm(A)的計(jì)算結(jié)果一樣。的計(jì)算結(jié)果一樣。 2.6 字符串字符串 在在MATLAB中,字符串是用單撇號(hào)括起中,字符串是用單撇號(hào)括起來(lái)的字符序列。來(lái)的字符序列。MATLAB將字符串當(dāng)作一個(gè)行向量,每個(gè)將字符串當(dāng)作一個(gè)行向量,每個(gè)元素對(duì)應(yīng)一個(gè)字符,其標(biāo)識(shí)方法和數(shù)值向元素對(duì)應(yīng)一個(gè)字符,其標(biāo)識(shí)方法和數(shù)值

47、向量一樣。也可以建立多行字符串矩陣。量一樣。也可以建立多行字符串矩陣。字符串是以字符串是以ASCII碼方式存儲(chǔ)的。碼方式存儲(chǔ)的。abs和和double函數(shù)都可以用來(lái)獲取字符串矩陣所函數(shù)都可以用來(lái)獲取字符串矩陣所對(duì)應(yīng)的對(duì)應(yīng)的ASCII碼數(shù)值矩陣。相反,碼數(shù)值矩陣。相反,char函數(shù)函數(shù)可以把可以把ASCII碼矩陣轉(zhuǎn)換為字符串矩陣。碼矩陣轉(zhuǎn)換為字符串矩陣。例例2-13 建立一個(gè)字符串向量,然后對(duì)該向量建立一個(gè)字符串向量,然后對(duì)該向量做如下處置:做如下處置:(1) 取第取第15個(gè)字符組成的子字符串。個(gè)字符組成的子字符串。(2) 將字符串倒過(guò)來(lái)重新陳列。將字符串倒過(guò)來(lái)重新陳列。(3) 將字符串中的小寫

48、字母變成相應(yīng)的大寫將字符串中的小寫字母變成相應(yīng)的大寫字母,其他字符不變。字母,其他字符不變。(4) 統(tǒng)計(jì)字符串中小寫字母的個(gè)數(shù)。統(tǒng)計(jì)字符串中小寫字母的個(gè)數(shù)。命令如下:命令如下:ch=ABc123d4e56Fg9;subch=ch(1:5) %取子字符串取子字符串revch=ch(end:-1:1) %將字符串倒排將字符串倒排k=find(ch=a&ch=z); %找小寫字母的位置找小寫字母的位置ch(k)=ch(k)-(a-A); %將小寫字母變成相應(yīng)將小寫字母變成相應(yīng)的大寫字母的大寫字母char(ch) length(k) %統(tǒng)計(jì)小寫字母的個(gè)數(shù)統(tǒng)計(jì)小寫字母的個(gè)數(shù) 與字符串有關(guān)的另一個(gè)

49、重要函數(shù)是與字符串有關(guān)的另一個(gè)重要函數(shù)是eval,其調(diào)用,其調(diào)用格式為:格式為: eval(t)其中其中t為字符串。它的作用是把字符串的內(nèi)容作為對(duì)為字符串。它的作用是把字符串的內(nèi)容作為對(duì)應(yīng)的應(yīng)的MATLAB語(yǔ)句來(lái)執(zhí)行。語(yǔ)句來(lái)執(zhí)行。2.7 構(gòu)造數(shù)據(jù)和單元數(shù)據(jù)構(gòu)造數(shù)據(jù)和單元數(shù)據(jù)2.7.1 構(gòu)造數(shù)據(jù)構(gòu)造數(shù)據(jù)1構(gòu)造矩陣的建立與援用構(gòu)造矩陣的建立與援用構(gòu)造矩陣的元素可以是不同的數(shù)據(jù)類型,構(gòu)造矩陣的元素可以是不同的數(shù)據(jù)類型,它能將一組具有不同屬性的數(shù)據(jù)納入到一它能將一組具有不同屬性的數(shù)據(jù)納入到一個(gè)一致的變量名下進(jìn)展管理。建立一個(gè)構(gòu)個(gè)一致的變量名下進(jìn)展管理。建立一個(gè)構(gòu)造矩陣可采用給構(gòu)呵斥員賦值的方法。詳造矩

50、陣可采用給構(gòu)呵斥員賦值的方法。詳細(xì)格式為:細(xì)格式為:構(gòu)造矩陣名構(gòu)造矩陣名.成員名成員名=表達(dá)式表達(dá)式其中表達(dá)式應(yīng)了解為矩陣表達(dá)式。其中表達(dá)式應(yīng)了解為矩陣表達(dá)式。2構(gòu)呵斥員的修正構(gòu)呵斥員的修正可以根據(jù)需求添加或刪除構(gòu)造的成員。例如要給構(gòu)造矩陣可以根據(jù)需求添加或刪除構(gòu)造的成員。例如要給構(gòu)造矩陣a添加一個(gè)成員添加一個(gè)成員x4,可給,可給a中恣意一個(gè)元素添加成員中恣意一個(gè)元素添加成員x4:a(1).x4=410075;但其他成員均為空矩陣,可以運(yùn)用賦值語(yǔ)句給它賦確定的但其他成員均為空矩陣,可以運(yùn)用賦值語(yǔ)句給它賦確定的值。值。要?jiǎng)h除構(gòu)造的成員,那么可以運(yùn)用要?jiǎng)h除構(gòu)造的成員,那么可以運(yùn)用rmfield函數(shù)

51、來(lái)完成。例函數(shù)來(lái)完成。例如,刪除成員如,刪除成員x4:a=rmfield(a,x4);3關(guān)于構(gòu)造的函數(shù)關(guān)于構(gòu)造的函數(shù)除了普通的構(gòu)造數(shù)據(jù)的操作外,除了普通的構(gòu)造數(shù)據(jù)的操作外,MATLAB還提供了部分還提供了部分函數(shù)來(lái)進(jìn)展構(gòu)造矩陣的操作。函數(shù)來(lái)進(jìn)展構(gòu)造矩陣的操作。2.7.2 單元數(shù)據(jù)單元數(shù)據(jù)1單元矩陣的建立與援用單元矩陣的建立與援用建立單元矩陣和普通矩陣類似,只是矩陣元素用建立單元矩陣和普通矩陣類似,只是矩陣元素用大括號(hào)括起來(lái)。大括號(hào)括起來(lái)??梢杂脦в写罄ㄌ?hào)下標(biāo)的方式援用單元矩陣元素??梢杂脦в写罄ㄌ?hào)下標(biāo)的方式援用單元矩陣元素。例如例如b3,3。單元矩陣的元素可以是構(gòu)造或單元。單元矩陣的元素可以是

52、構(gòu)造或單元數(shù)據(jù)。數(shù)據(jù)??梢赃\(yùn)用可以運(yùn)用celldisp函數(shù)來(lái)顯示整個(gè)單元矩陣,如函數(shù)來(lái)顯示整個(gè)單元矩陣,如celldisp(b)。還可以刪除單元矩陣中的某個(gè)元素。還可以刪除單元矩陣中的某個(gè)元素。2關(guān)于單元的函數(shù)關(guān)于單元的函數(shù)MATLAB還提供了部分函數(shù)用于單元的操作。還提供了部分函數(shù)用于單元的操作。2.8 稀疏矩陣稀疏矩陣2.8.1 矩陣存儲(chǔ)方式矩陣存儲(chǔ)方式MATLAB的矩陣有兩種存儲(chǔ)方式:完全存的矩陣有兩種存儲(chǔ)方式:完全存儲(chǔ)方式和稀疏存儲(chǔ)方式。儲(chǔ)方式和稀疏存儲(chǔ)方式。1完全存儲(chǔ)方式完全存儲(chǔ)方式完全存儲(chǔ)方式是將矩陣的全部元素按列存完全存儲(chǔ)方式是將矩陣的全部元素按列存儲(chǔ)。以前講到的矩陣的存儲(chǔ)方式都

53、是按這儲(chǔ)。以前講到的矩陣的存儲(chǔ)方式都是按這個(gè)方式存儲(chǔ)的,此存儲(chǔ)方式對(duì)稀疏矩陣也個(gè)方式存儲(chǔ)的,此存儲(chǔ)方式對(duì)稀疏矩陣也適用。適用。2稀疏存儲(chǔ)方式稀疏存儲(chǔ)方式稀疏存儲(chǔ)方式僅存儲(chǔ)矩陣一切的非零元素稀疏存儲(chǔ)方式僅存儲(chǔ)矩陣一切的非零元素的值及其位置,即行號(hào)和列號(hào)。在的值及其位置,即行號(hào)和列號(hào)。在MATLAB中,稀疏存儲(chǔ)方式也是按列存儲(chǔ)中,稀疏存儲(chǔ)方式也是按列存儲(chǔ)的。的。留意,在講稀疏矩陣時(shí),有兩個(gè)不同的概留意,在講稀疏矩陣時(shí),有兩個(gè)不同的概念,一是指矩陣的念,一是指矩陣的0元素較多,該矩陣是一元素較多,該矩陣是一個(gè)具有稀疏特征的矩陣,二是指采用稀疏個(gè)具有稀疏特征的矩陣,二是指采用稀疏方式存儲(chǔ)的矩陣。方式存儲(chǔ)的矩陣。2.8.2 稀疏存儲(chǔ)方式的產(chǎn)生稀疏存儲(chǔ)方式的產(chǎn)生1將完全存儲(chǔ)方式轉(zhuǎn)化為稀疏存儲(chǔ)方式將完全存儲(chǔ)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論