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

下載本文檔

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

文檔簡介

第2章MATLAB矩陣及其運(yùn)算2.1變量和數(shù)據(jù)操作

2.2MATLAB矩陣

2.3MATLAB運(yùn)算

2.4矩陣分析

2.5矩陣的超越函數(shù)

2.6字符串

2.7結(jié)構(gòu)數(shù)據(jù)和單元數(shù)據(jù)

2.8稀疏矩陣2.1變量和數(shù)據(jù)操作2.1.1變量與賦值

1.變量命名

在MATLAB6.5中,變量名是以字母開頭,后接字母、數(shù)字或下劃線的字符序列,最多63個(gè)字符。在MATLAB中,變量名區(qū)分字母的大小寫。2.賦值語句

(1)變量=表達(dá)式

(2)表達(dá)式

其中表達(dá)式是用運(yùn)算符將有關(guān)運(yùn)算量連接起來的式子,其結(jié)果是一個(gè)矩陣。

例2-1計(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ù)先定義的變量,分別代表代表圓周率π和虛數(shù)單位。

輸出結(jié)果是:

z=

-0.3488+0.3286i任何MATLAB的語句的執(zhí)行結(jié)果都可以在屏幕上顯示,同時(shí)賦值給指定的變量,沒有指定變量時(shí),賦值給一個(gè)特殊的變量ans,數(shù)據(jù)的顯示格式由format命令控制。format只是影響結(jié)果的顯示,不影響其計(jì)算與存儲(chǔ);MATLAB總是以雙字長浮點(diǎn)數(shù)(雙精度)來執(zhí)行所有的運(yùn)算。2.1.2預(yù)定義變量在MATLAB工作空間中,還駐留幾個(gè)由系統(tǒng)本身定義的變量。預(yù)定義變量有特定的含義,在使用時(shí),應(yīng)盡量避免對這些變量重新賦值。預(yù)定義變量含義預(yù)定義變量含義ans計(jì)算結(jié)果的缺省變量名NaN不定量,如0/0,∞/∞i、j虛數(shù)單位nargin函數(shù)的輸入變量個(gè)數(shù)pi圓周率nargout函數(shù)的輸出變量個(gè)數(shù)inf無窮大realmin最小正實(shí)數(shù)eps計(jì)算機(jī)的最小數(shù)realmax最大正實(shí)數(shù)2.1.3內(nèi)存變量的管理1.內(nèi)存變量的刪除與修改

MATLAB工作空間窗口專門用于內(nèi)存變量的管理。在工作空間窗口中可以顯示所有內(nèi)存變量的屬性。當(dāng)選中某些變量后,再單擊Delete按鈕,就能刪除這些變量。當(dāng)選中某些變量后,再單擊Open按鈕,將進(jìn)入變量編輯器。通過變量編輯器可以直接觀察變量中的具體元素,也可修改變量中的具體元素。clear命令用于刪除MATLAB工作空間中的變量。who和whos這兩個(gè)命令用于顯示在MATLAB工作空間中已經(jīng)駐留的變量名清單。who命令只顯示出駐留變量的名稱,whos在給出變量名的同時(shí),還給出它們的大小、所占字節(jié)數(shù)及數(shù)據(jù)類型等信息。其中,文件名可以帶路徑,但不需帶擴(kuò)展名.mat,命令隱含一定對.mat文件進(jìn)行操作。變量名表中的變量個(gè)數(shù)不限,只要內(nèi)存或文件中存在即可,變量名之間以空格分隔。當(dāng)變量名表省略時(shí),保存或裝入全部變量。-ascii選項(xiàng)使文件以ASCII格式處理,省略該選項(xiàng)時(shí)文件將以二進(jìn)制格式處理。save命令中的-append選項(xiàng)控制將變量追加到MAT文件中。

MATLAB提供了許多數(shù)學(xué)函數(shù),函數(shù)的自變量規(guī)定為矩陣變量,運(yùn)算法則是將函數(shù)逐項(xiàng)作用于矩陣的元素上,因而運(yùn)算的結(jié)果是一個(gè)與自變量同維數(shù)的矩陣。

函數(shù)使用說明:

(1)三角函數(shù)以弧度為單位計(jì)算。

(2)abs函數(shù)可以求實(shí)數(shù)的絕對值、復(fù)數(shù)的模、字符串的ASCII碼值。

(3)用于取整的函數(shù)有fix、floor、ceil、round,要注意它們的區(qū)別。

(4)rem與mod函數(shù)的區(qū)別。rem(x,y)和mod(x,y)要求x,y必須為相同大小的實(shí)矩陣或?yàn)闃?biāo)量。2.內(nèi)內(nèi)存變變量文文件利利用用MAT文文件可可以把把當(dāng)前前MATLAB工作作空間間中的的一些些有用用變量量長久久地保保留下下來,,擴(kuò)展展名是是.mat。MAT文件件的生生成和和裝入入由save和和load命令令來完完成。。常用用格式式為::save文文件件名[變變量名名表][-append][-ascii]load文文件名名[變變量名名表][-ascii]2.1.5數(shù)數(shù)據(jù)據(jù)的輸輸出格格式MATLAB用用十進(jìn)進(jìn)制數(shù)數(shù)表示示一個(gè)個(gè)常數(shù)數(shù),具具體可可采用用日常常記數(shù)數(shù)法和和科學(xué)學(xué)記數(shù)數(shù)法兩兩種表表示方方法。。在在一般般情況況下,,MATLAB內(nèi)部部每一一個(gè)數(shù)數(shù)據(jù)元元素都都是用用雙精精度數(shù)數(shù)來表表示和和存儲(chǔ)儲(chǔ)的。。數(shù)據(jù)據(jù)輸出出時(shí)用用戶可可以用用format命令令設(shè)置置或改改變數(shù)數(shù)據(jù)輸輸出格格式。。format命令令的格格式為為:format格格式式符其其中中格式式符決決定數(shù)數(shù)據(jù)的的輸出出格式式如果結(jié)結(jié)果為為整數(shù)數(shù),則則顯示示沒有有小數(shù)數(shù);如如果結(jié)結(jié)果不不是整整數(shù),,則用戶可可以用用format命令令設(shè)置置或改改變輸輸出格格式。。短格式式(Short)::默認(rèn)認(rèn)格式式1.33330.0000短格式式e方方式(Shorte):1.3333e+001.2345e-06短格式式g方方式(Shortg):1.33330.0長格式式(Long):1.333333333333330.00000123450000長格式式e方方式(Longe)::1.33333333333333e+001.2345000000000e-06長格式式g方方式(Longg)::1.333333333333330.0000012345銀行格格式(Bank)::1.330.00十六進(jìn)進(jìn)制格格式(Hex):3ff5555555553eb46231abfd71+格式式(+)::++有理數(shù)數(shù)(Rational)):1/32469/20000000002.2MATLAB矩陣陣2.2.1矩矩陣陣的建建立1.直直接輸輸入法法直接輸輸入需需遵循循以下下基本本規(guī)則則:整個(gè)矩矩陣應(yīng)應(yīng)以““[]”為為首尾尾,即即整個(gè)個(gè)輸入入矩陣陣必須須包含含在方方括號(hào)號(hào)中;;矩陣陣中,,行與與行之之間必必須用用分號(hào)號(hào)“;;””或Enter鍵鍵((按按Enter鍵鍵)符符分隔隔;每每行中中的元元素用用逗號(hào)號(hào)“,,””或空空格分分隔;;矩陣陣中的的元素素可以以是數(shù)數(shù)字或或表達(dá)達(dá)式,,但表表達(dá)式式中不不可包包含未未知的的變量量,MATLAB用用表達(dá)達(dá)式的的值為為該位位置的的矩陣陣元素素賦值值。當(dāng)當(dāng)矩陣陣中沒沒有任任何元元素時(shí)時(shí),該該矩陣陣被稱稱作““空空陣””(EmptyMatrix))。例2-2直直接輸輸入矩矩陣>>A=[1,2,3,4;5,6,7,8;9,10,11,12;13,14,15,16]A=12345678910111213141516利用表表達(dá)式式輸入入>>B=[1,sqrt(25),9,132,6,10,7*23+sin(pi),7,11,154,abs(-8),12,16]B=159132610143711154812162.利利用M文件件建立立矩陣陣對于比比較大大且比比較復(fù)復(fù)雜的的矩陣陣,可可以為為它專專門建建立一一個(gè)M文件件。下下面通通過一一個(gè)簡簡單例例子來來說明明如何何利用用M文文件創(chuàng)創(chuàng)建矩矩陣。。3.利利用冒冒號(hào)表表達(dá)式式建立立一個(gè)個(gè)向量量冒號(hào)表表達(dá)式式可以以產(chǎn)生生一個(gè)個(gè)行向向量,,一般般格式式是::e1:e2:e3其其中e1為為初始始值,,e2為步步長,,e3為終終止值值。在在MATLAB中中,還還可以以用linspace函函數(shù)產(chǎn)產(chǎn)生行行向量量。其其調(diào)用用格式式為::linspace(a,b,n)其其中a和b是生生成向向量的的第一一個(gè)和和最后后一個(gè)個(gè)元素素,n是元元素總總數(shù)。。顯然,,linspace(a,b,n)與與a:(b-a)/(n-1):b等等價(jià)。。4.建建立大大矩陣陣大矩陣陣可由由方括括號(hào)中中的小小矩陣陣或向向量建建立起起來。。2.2.2矩矩陣陣的拆拆分1.矩矩陣元元素通過下下標(biāo)引引用矩矩陣的的元素素,例例如A(3,2)=200采采用矩矩陣元元素的的序號(hào)號(hào)來引引用矩矩陣元元素。。矩陣陣元素素的序序號(hào)就就是相相應(yīng)元元素在在內(nèi)存存中的的排列列順序序。在在MATLAB中,,矩陣陣元素素按列列存儲(chǔ)儲(chǔ),先先第一一列,,再第第二列列,依依次類類推。。例如如A=[1,2,3;4,5,6];A(3)ans=2顯顯然然,序序號(hào)(Index)與下下標(biāo)(Subscript)是是一一一對應(yīng)應(yīng)的,,以m×n矩陣陣A為為例,,矩陣陣元素素A(i,j)的序序號(hào)為為(j-1)*m+i。。其相相互轉(zhuǎn)轉(zhuǎn)換關(guān)關(guān)系也也可利利用sub2ind和ind2sub函數(shù)數(shù)求得得。2.矩矩陣拆拆分(1)利利用冒冒號(hào)表表達(dá)式式獲得得子矩矩陣①①A(:,j)表示示取A矩陣陣的第第j列列全部部元素素;A(i,:)表表示A矩陣陣第i行的的全部部元素素;A(i,j)表表示取取A矩矩陣第第i行行、第第j列列的元元素。。②②A(i:i+m,:)表表示取取A矩矩陣第第i~~i+m行行的全全部元元素;;A(:,k:k+m)表示示取A矩陣陣第k~k+m列的的全部部元素素,A(i:i+m,k:k+m)表表示取取A矩矩陣第第i~~i+m行行內(nèi),,并在在第k~k+m列中中的所所有元元素。。此此外,,還可可利用用一般般向量量和end運(yùn)算算符來來表示示矩陣陣下標(biāo)標(biāo),從從而獲獲得子子矩陣陣。end表示示某一一維的的末尾尾元素素下標(biāo)標(biāo)。(2)利利用空矩陣陣刪除矩陣陣的元素在在MATLAB中,定義義[]為空空矩陣。給給變量X賦賦空矩陣的的語句為X=[]。。注意,X=[]與與clearX不不同,clear是是將X從工工作空間中中刪除,而而空矩陣則則存在于工工作空間中中,只是維維數(shù)為0。。2.2.3特殊殊矩陣1.通用的的特殊矩陣陣常用的產(chǎn)生生通用特殊殊矩陣的函函數(shù)有:zeros:產(chǎn)生生全0矩陣陣(零矩陣陣)。ones::產(chǎn)生全1矩陣(幺幺矩陣)。。

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

rand:產(chǎn)生生0~1間間均勻分布布的隨機(jī)矩矩陣。randn:產(chǎn)生均均值為0,,方差為1的標(biāo)準(zhǔn)正正態(tài)分布隨隨機(jī)矩陣。。例2-3分分別建建立3×3、3×2和與矩陣陣A同樣大大小的零矩矩陣。(1)建建立一個(gè)3×3零矩矩陣。zeros(3)(2)建建立一個(gè)3×2零矩矩陣。zeros(3,2)(3)設(shè)A為為2×3矩矩陣,則可可以用zeros(size(A))建立一個(gè)個(gè)與矩陣A同樣大小小零矩陣。。A=[123;456];%產(chǎn)生一個(gè)個(gè)2×3階階矩陣Azeros(size(A))%產(chǎn)產(chǎn)生一個(gè)與與矩陣A同同樣大小的的零矩陣。。例2-4建建立隨機(jī)機(jī)矩陣:(1)在在區(qū)間[20,50]內(nèi)均均勻分布的的5階隨機(jī)機(jī)矩陣。(2)均均值為0.6、方方差為0.1的5階階正態(tài)分布布隨機(jī)矩陣陣。

命令令如下:x=20+(50-20)*rand(5)

y=0.6+sqrt(0.1)*randn(5)此此外,常常用的函數(shù)數(shù)還有reshape(A,m,n),它在矩矩陣總元素素保持不變變的前提下下,按列將將矩陣A重重新排成m×n的二二維矩陣。。2.用于專專門學(xué)科的的特殊矩陣陣(1)魔魔方矩陣魔魔方矩陣陣有一個(gè)有有趣的性質(zhì)質(zhì),其每行行、每列及及兩條對角角線上的元元素和都相相等。對于于n階魔方方陣,其元元素由1,2,3,…,n2共n2個(gè)整數(shù)組成成。MATLAB提提供了求魔魔方矩陣的的函數(shù)magic(n),其其功能是生生成一個(gè)n階魔方陣陣。(n≠2!)例2-5將將101~125等25個(gè)數(shù)填入入一個(gè)5行行5列的表表格中,使使其每行每每列及對角角線的和均均為565。

M=100+magic(5)(2)范范得蒙矩陣陣

范得蒙蒙(Vandermonde)矩陣最最后一列全全為1,倒倒數(shù)第二列列為一個(gè)指指定的向量量,其他各各列是其前前列與倒數(shù)數(shù)第二列的的點(diǎn)乘積。??梢杂靡灰粋€(gè)指定向向量生成一一個(gè)范得蒙蒙矩陣。在在MATLAB中,,函數(shù)vander(V)生生成以向量量V為基礎(chǔ)礎(chǔ)向量的范范得蒙矩陣陣。例如,,A=vander([1;2;3;5])即即可得到上上述范得蒙蒙矩陣。(3)希希爾伯特矩矩陣在在MATLAB中,生成成希爾伯特特矩陣的函函數(shù)是hilb(n)。使使用一般方方法求逆會(huì)會(huì)因?yàn)樵际紨?shù)據(jù)的微微小擾動(dòng)而而產(chǎn)生不可可靠的計(jì)算算結(jié)果。MATLAB中,有有一個(gè)專門門求希爾伯伯特矩陣的的逆的函數(shù)數(shù)invhilb(n),其其功能是求求n階的希希爾伯特矩矩陣的逆矩矩陣。例2-6求求4階階希爾伯特特矩陣及其其逆矩陣。。

命令如如下:formatrat%以以有理形式式輸出H=hilb(4)

H=invhilb(4)(4)托托普利茲矩矩陣

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

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

p=[1,0,-7,6];compan(p)(6)帕帕斯卡矩陣陣二二次次項(xiàng)(x+y)n展開后的系系數(shù)隨n的的增大組成成一個(gè)三角角形表,稱稱為楊輝三三角形。由由楊輝三角角形表組成成的矩陣稱稱為帕斯卡卡(Pascal)矩陣。函函數(shù)pascal(n)生成成一個(gè)n階階帕斯卡矩矩陣。例2-7求求(x+y)5的展開式。。

在MATLAB命令窗口口,輸入命命令:pascal(6)

矩陣次次對角線上上的元素1,5,10,10,5,1即為展開開式的系數(shù)數(shù)。2.3MATLAB運(yùn)算算2.3.1算術(shù)運(yùn)算算1.基本算算術(shù)運(yùn)算MATLAB的基本本算術(shù)運(yùn)算算有:+(加)、--(減)、、*(乘)、/(右右除)、\(左除)、^(乘乘方)。注注意,運(yùn)運(yùn)算是在矩矩陣意義下下進(jìn)行的,,單個(gè)數(shù)據(jù)據(jù)的算術(shù)運(yùn)運(yùn)算只是一一種特例。。(1)矩矩陣加減運(yùn)運(yùn)算假假定定有兩個(gè)矩矩陣A和B,則可以以由A+B和A-B實(shí)現(xiàn)矩陣陣的加減運(yùn)運(yùn)算。運(yùn)算算規(guī)則是::若A和B矩陣的維維數(shù)相同,,則可以執(zhí)執(zhí)行矩陣的的加減運(yùn)算算,A和B矩陣的相相應(yīng)元素相相加減。如如果A與B的維數(shù)不不相同,則則MATLAB將給給出錯(cuò)誤信信息,提示示用戶兩個(gè)個(gè)矩陣的維維數(shù)不匹配配。(2)矩矩陣乘法假假定有有兩個(gè)矩陣陣A和B,,若A為m×n矩陣陣,B為n×p矩陣陣,則C=A*B為為m×p矩矩陣。(3)矩矩陣除法在在MATLAB中,有兩兩種矩陣除除法運(yùn)算::\和/,,分別表示示左除和右右除。如果果A矩陣是是非奇異方方陣,則A\B和B/A運(yùn)算算可以實(shí)現(xiàn)現(xiàn)。A\B等效于A的逆左乘乘B矩陣,,也就是inv(A)*B,,而B/A等效于A矩陣的逆逆右乘B矩矩陣,也就就是B*inv(A)。對對于含有有標(biāo)量的運(yùn)運(yùn)算,兩種種除法運(yùn)算算的結(jié)果相相同,如3/4和4\3有相相同的值,,都等于0.75。。又如,設(shè)設(shè)a=[10.5,25],,則a/5=5\a=[2.10005.0000]。對于矩矩陣來說,,左除和右右除表示兩兩種不同的的除數(shù)矩陣陣和被除數(shù)數(shù)矩陣的關(guān)關(guān)系。對于于矩陣運(yùn)算算,一般A\B≠B/A。(4)矩矩陣的乘方方一一個(gè)矩矩陣的乘方方運(yùn)算可以以表示成A^x,要要求A為方方陣,x為為標(biāo)量。2.點(diǎn)運(yùn)算算在MATLAB中,,有一種特特殊的運(yùn)算算,因?yàn)槠淦溥\(yùn)算符是是在有關(guān)算算術(shù)運(yùn)算符符前面加點(diǎn)點(diǎn),所以叫叫點(diǎn)運(yùn)算。。點(diǎn)運(yùn)算符符有.*、、./、.\和.^。兩矩陣陣進(jìn)行點(diǎn)運(yùn)運(yùn)算是指它它們的對應(yīng)應(yīng)元素進(jìn)行行相關(guān)運(yùn)算算,要求兩兩矩陣的維維參數(shù)相同同。2.3.2關(guān)系系運(yùn)算MATLAB提提供了6種種關(guān)系運(yùn)算算符:<(小于)、、<=(小小于或等于于)、>(大于)、、>=(大大于或等于于)、==(等于)、~=(不等于)。它們的的含義不難難理解,但但要注意其其書寫方法法與數(shù)學(xué)中中的不等式式符號(hào)不盡盡相同。關(guān)系運(yùn)算符符的運(yùn)算法法則為:(1)當(dāng)當(dāng)兩個(gè)比比較量是標(biāo)標(biāo)量時(shí),直直接比較兩兩數(shù)的大小小。若關(guān)系系成立,關(guān)關(guān)系表達(dá)式式結(jié)果為1,否則為為0。(2)當(dāng)當(dāng)參與比較較的量是兩兩個(gè)維數(shù)相相同的矩陣陣時(shí),比較較是對兩矩矩陣相同位位置的元素素按標(biāo)量關(guān)關(guān)系運(yùn)算規(guī)規(guī)則逐個(gè)進(jìn)進(jìn)行,并給給出元素比比較結(jié)果。。最終的關(guān)關(guān)系運(yùn)算的的結(jié)果是一一個(gè)維數(shù)與與原矩陣相相同的矩陣陣,它的元元素由0或或1組成。。(3)當(dāng)當(dāng)參與與比較的的一個(gè)是是標(biāo)量,,而另一一個(gè)是矩矩陣時(shí),,則把標(biāo)標(biāo)量與矩矩陣的每每一個(gè)元元素按標(biāo)標(biāo)量關(guān)系系運(yùn)算規(guī)規(guī)則逐個(gè)個(gè)比較,,并給出出元素比比較結(jié)果果。最終終的關(guān)系系運(yùn)算的的結(jié)果是是一個(gè)維維數(shù)與原原矩陣相相同的矩矩陣,它它的元素素由0或或1組成成。例2-8產(chǎn)產(chǎn)生5階階隨機(jī)方方陣A,,其元素素為[10,90]區(qū)區(qū)間的隨隨機(jī)整數(shù)數(shù),然后后判斷A的元素素是否能能被3整整除。(1)生生成5階階隨機(jī)方方陣A。。

A=fix((90-10+1)*rand(5)+10)(2)判斷斷A的元元素是否否可以被被3整除除。P=rem(A,3)==0

其中中,rem(A,3)是矩陣陣A的每每個(gè)元素素除以3的余數(shù)數(shù)矩陣。。此時(shí),,0被擴(kuò)擴(kuò)展為與與A同維維數(shù)的零零矩陣,,P是進(jìn)進(jìn)行等于于(==)比比較的結(jié)結(jié)果矩陣陣。2.3.3邏邏輯運(yùn)運(yùn)算MATLAB提供了了3種邏邏輯運(yùn)算算符:&(與)、|(或)和和~(非非)。邏邏輯輯運(yùn)算的的運(yùn)算法法則為::(1)在在邏輯輯運(yùn)算中中,確認(rèn)認(rèn)非零元元素為真真,用1表示,,零元素素為假,,用0表表示。(2)設(shè)設(shè)參與邏邏輯運(yùn)算算的是兩兩個(gè)標(biāo)量量a和b,那么么,a&ba,b全全為非零零時(shí),運(yùn)運(yùn)算結(jié)果果為1,,否則為為0。a|ba,b中只要要有一個(gè)個(gè)非零,,運(yùn)算結(jié)結(jié)果為1。~~a當(dāng)當(dāng)a是零時(shí)時(shí),運(yùn)算算結(jié)果為為1;當(dāng)當(dāng)a非零零時(shí),運(yùn)運(yùn)算結(jié)果果為0。。(3)若若參與與邏輯運(yùn)運(yùn)算的是是兩個(gè)同同維矩陣陣,那么么運(yùn)算將將對矩陣陣相同位位置上的的元素按按標(biāo)量規(guī)規(guī)則逐個(gè)個(gè)進(jìn)行。。最終運(yùn)運(yùn)算結(jié)果果是一個(gè)個(gè)與原矩矩陣同維維的矩陣陣,其元元素由1或0組組成。(4)若若參與邏邏輯運(yùn)算算的一個(gè)個(gè)是標(biāo)量量,一個(gè)個(gè)是矩陣陣,那么么運(yùn)算將將在標(biāo)量量與矩陣陣中的每每個(gè)元素素之間按按標(biāo)量規(guī)規(guī)則逐個(gè)個(gè)進(jìn)行。。最終運(yùn)運(yùn)算結(jié)果果是一個(gè)個(gè)與矩陣陣同維的的矩陣,,其元素素由1或或0組成成。(5)邏邏輯非非是單目目運(yùn)算符符,也服服從矩陣陣運(yùn)算規(guī)規(guī)則。(6)在在算術(shù)術(shù)、關(guān)系系、邏輯輯運(yùn)算中中,算術(shù)術(shù)運(yùn)算優(yōu)優(yōu)先級(jí)最最高,邏邏輯運(yùn)算算優(yōu)先級(jí)級(jí)最低。。例2-9建建立矩陣陣A,然然后找出出大于4的元素素的位置置。(1)建建立矩矩陣A。。A=[4,-65,-54,0,6;56,0,67,-45,0](2)找找出大大于4的的元素的的位置。。find(A>4)2.4矩矩陣分分析2.4.1對對角陣陣與三角角陣1.對角角陣只有對角角線上有有非0元元素的矩矩陣稱為為對角矩矩陣,對對角線上上的元素素相等的的對角矩矩陣稱為為數(shù)量矩矩陣,對對角線上上的元素素都為1的對角角矩陣稱稱為單位位矩陣。。提取矩陣陣的對角角線元素素

設(shè)A為m××n矩陣陣,diag(A)函函數(shù)用于于提取矩矩陣A主主對角線線元素,,產(chǎn)生一一個(gè)具有有min(m,n)個(gè)個(gè)元素的的列向量量。diag(A)函數(shù)還還有一種種形式diag(A,k),,其功能能是提取取第k條條對角線線的元素素。構(gòu)造對角角矩陣設(shè)設(shè)V為為具有m個(gè)元素素的向量量,diag(V)將將產(chǎn)生一一個(gè)m××m對角角矩陣,,其主對對角線元元素即為為向量V的元素素。diag(V)函數(shù)也也有另一一種形式式diag(V,k),其功功能是產(chǎn)產(chǎn)生一個(gè)個(gè)n×n(n=m+k)對角角陣,其其第k條條對角線線的元素素即為向向量V的的元素。。例2-10先先建立立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的每行行乘以一一個(gè)指定定常數(shù)2.三角角陣三角陣又又進(jìn)一步步分為上上三角陣陣和下三三角陣,,所謂上上三角陣陣,即矩矩陣的對對角線以以下的元元素全為為0的一一種矩陣陣,而下下三角陣陣則是對對角線以以上的元元素全為為0的一一種矩陣陣。上三角矩矩陣求求矩陣A的上三三角陣的的MATLAB函數(shù)是是triu(A)。triu(A)函數(shù)數(shù)也有另另一種形形式triu(A,k),其其功能是是求矩陣陣A的第第k條對對角線以以上的元元素。例例如,提提取矩陣陣A的第第2條對對角線以以上的元元素,形形成新的的矩陣B。下三角矩矩陣在在MATLAB中,提提取矩陣陣A的下下三角矩矩陣的函函數(shù)是tril(A)和tril(A,k),其其用法與與提取上上三角矩矩陣的函函數(shù)triu(A)和和triu(A,k)完全相相同。2.4.2矩矩陣的的轉(zhuǎn)置與與旋轉(zhuǎn)1.矩陣陣的轉(zhuǎn)置置轉(zhuǎn)置運(yùn)算算符是單單撇號(hào)(')。2.矩陣陣的旋轉(zhuǎn)轉(zhuǎn)利用函數(shù)數(shù)rot90(A,k)將矩矩陣A逆逆時(shí)針旋旋轉(zhuǎn)90o的k倍,當(dāng)當(dāng)k為1時(shí)可省省略。3.矩陣陣的左右右翻轉(zhuǎn)對矩陣實(shí)實(shí)施左右右翻轉(zhuǎn)是是將原矩矩陣的第第一列和和最后一一列調(diào)換換,第二二列和倒倒數(shù)第二二列調(diào)換換,…,,依次類類推。MATLAB對對矩陣A實(shí)施左左右翻轉(zhuǎn)轉(zhuǎn)的函數(shù)數(shù)是fliplr(A)。4.矩陣的上上下翻轉(zhuǎn)MATLAB對矩陣A實(shí)實(shí)施上下翻轉(zhuǎn)轉(zhuǎn)的函數(shù)是flipud(A)。2.4.3矩矩陣的逆逆與偽逆1.矩陣的逆逆對于一個(gè)方陣陣A,如果存存在一個(gè)與其其同階的方陣陣B,使得::A·B=B··A=I(I為單位矩矩陣)

則稱稱B為A的逆逆矩陣,當(dāng)然然,A也是B的逆矩陣。。求求一個(gè)矩陣的的逆是一件非非常煩瑣的工工作,容易出出錯(cuò),但在MATLAB中,求一個(gè)個(gè)矩陣的逆非非常容易。求求方陣A的逆逆矩陣可調(diào)用用函數(shù)inv(A)。例2-11用用求逆矩矩陣的方法解解線性方程組組。Ax=b

其解解為:x=A-1b2.矩陣的偽偽逆如果矩陣A不不是一個(gè)方陣陣,或者A是是一個(gè)非滿秩秩的方陣時(shí),,矩陣A沒有有逆矩陣,但但可以找到一一個(gè)與A的轉(zhuǎn)轉(zhuǎn)置矩陣A'同型的矩陣陣B,使得::A·B··A=AB·A·B=B

此時(shí)稱稱矩陣B為矩矩陣A的偽逆逆,也稱為廣廣義逆矩陣。。在MATLAB中,求求一個(gè)矩陣偽偽逆的函數(shù)是是pinv(A)。2.4.4方方陣的行列列式把把一個(gè)方方陣看作一個(gè)個(gè)行列式,并并對其按行列列式的規(guī)則求求值,這個(gè)值值就稱為矩陣陣所對應(yīng)的行行列式的值。。在MATLAB中,求求方陣A所對對應(yīng)的行列式式的值的函數(shù)數(shù)是det(A)。2.4.5矩矩陣的秩秩與跡1.矩陣的秩秩矩陣線性無關(guān)關(guān)的行數(shù)與列列數(shù)稱為矩陣陣的秩。在MATLAB中,求矩陣陣秩的函數(shù)是是rank(A)。2.矩陣的跡跡矩陣的跡等于于矩陣的對角角線元素之和和,也等于矩矩陣的特征值值之和。在MATLAB中,求矩陣陣的跡的函數(shù)數(shù)是trace(A)。。2.4.6向向量和矩矩陣的范數(shù)矩矩陣或向量量的范數(shù)用來來度量矩陣或或向量在某種種意義下的長長度。范數(shù)有有多種方法定定義,其定義義不同,范數(shù)數(shù)值也就不同同。1.向量的3種常用范數(shù)數(shù)及其計(jì)算函函數(shù)在MATLAB中,求向向量范數(shù)的函函數(shù)為:(1)norm(V)或norm(V,2):計(jì)算向量量V的2-范范數(shù)。

(2)norm(V,1):計(jì)算向向量V的1-范數(shù)。(3)norm(V,inf):計(jì)算向量量V的∞-范范數(shù)。2.矩陣的范范數(shù)及其計(jì)算算函數(shù)MATLAB提供了求3種矩陣范數(shù)數(shù)的函數(shù),其其函數(shù)調(diào)用格格式與求向量量的范數(shù)的函函數(shù)完全相同同。2.4.7矩矩陣的條條件數(shù)

在MATLAB中,計(jì)算矩矩陣A的3種種條件數(shù)的函函數(shù)是:(1)cond(A,1)計(jì)算A的1-范數(shù)下的條條件數(shù)。(2)cond(A)或cond(A,2)計(jì)算A的2-范數(shù)數(shù)下的的條件數(shù)。(3)cond(A,inf)計(jì)算A的∞∞-范數(shù)下的的條件數(shù)。2.4.8矩矩陣的特特征值與特征征向量

在MATLAB中,計(jì)算矩矩陣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的的特征值和特特征向量。例2-12用用求特征征值的方法解解方程。3x5-7x4+5x2+2x-18=0

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

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

expm(A)、、expm1(A)、expm2(A)、expm3(A)的功能都都求矩陣指數(shù)數(shù)eA。4.普通矩陣陣函數(shù)funmfunm(A,‘fun’)用來計(jì)計(jì)算直接作用用于矩陣A的的由‘fun’指定的超超越函數(shù)值。。當(dāng)fun取取sqrt時(shí)時(shí),funm(A,‘sqrt’)可以計(jì)算矩矩陣A的平方方根,與sqrtm(A)的計(jì)算結(jié)結(jié)果一樣。2.6字字符串在在MATLAB中中,字符串是是用單撇號(hào)括括起來的字符符序列。MATLAB將將字符串當(dāng)作作一個(gè)行向量量,每個(gè)元素素對應(yīng)一個(gè)字字符,其標(biāo)識(shí)識(shí)方法和數(shù)值值向量相同。。也可以建立立多行字符串串矩陣。字符串是以ASCII碼碼形式存儲(chǔ)的的。abs和和double函數(shù)都可可以用來獲取取字符串矩陣陣所對應(yīng)的ASCII碼碼數(shù)值矩陣。。相反,char函數(shù)可可以把ASCII碼矩陣陣轉(zhuǎn)換為字符符串矩陣。例2-13建建立一個(gè)個(gè)字符串向量量,然后對該該向量做如下下處理:(1)取第第1~5個(gè)字字符組成的子子字符串。(2)將將字符串倒過過來重新排列列。

(3)將字符串串中的小寫字字母變成相應(yīng)應(yīng)的大寫字母母,其余字符符不變。(4)統(tǒng)計(jì)計(jì)字符串中小小寫字母的個(gè)個(gè)數(shù)。命令如下:ch=‘ABc123d4e56Fg9’;

subch=ch(1:5)%取子字符符串

revch=ch(end:-1:1)%將字字符串倒排k=find(ch>=‘a(chǎn)’&ch<=‘‘z’);%找小寫字母母的位置ch(k)=ch(k)-(‘a(chǎn)’’-‘A’);%將小寫字字母變成相應(yīng)應(yīng)的大寫字母母

char(ch)length(k)%統(tǒng)統(tǒng)計(jì)小寫字母母的個(gè)數(shù)與字符串有有關(guān)的另一一個(gè)重要函函數(shù)是eval,其其調(diào)用格式式為:eval(t)其其中t為字字符串。它它的作用是是把字符串串的內(nèi)容作作為對應(yīng)的的MATLAB語句句來執(zhí)行。。2.7結(jié)結(jié)構(gòu)數(shù)據(jù)據(jù)和單元數(shù)數(shù)據(jù)

2.7.1結(jié)結(jié)構(gòu)數(shù)數(shù)據(jù)1.結(jié)構(gòu)矩矩陣的建立立與引用結(jié)構(gòu)矩陣的的元素可以以是不同的的數(shù)據(jù)類型型,它能將將一組具有有不同屬性性的數(shù)據(jù)納納入到一個(gè)個(gè)統(tǒng)一的變變量名下進(jìn)進(jìn)行管理。。建立一個(gè)個(gè)結(jié)構(gòu)矩陣陣可采用給給結(jié)構(gòu)成員員賦值的辦辦法。具體體格式為::結(jié)結(jié)構(gòu)矩矩陣名.成成員名=表表達(dá)式其其中表達(dá)式式應(yīng)理解為為矩陣表達(dá)達(dá)式。2.結(jié)構(gòu)成成員的修改改可以根據(jù)需需要增加或或刪除結(jié)構(gòu)構(gòu)的成員。。例如要給給結(jié)構(gòu)矩陣陣a增加一一個(gè)成員x4,可給給a中任意意一個(gè)元素素增加成員員x4:a(1).x4=‘410075’;但但其他成成員均為空空矩陣,可可以使用賦賦值語句給給它賦確定定的值。要要?jiǎng)h除除結(jié)構(gòu)的成成員,則可可以使用rmfield函數(shù)數(shù)來完成。。例如,刪刪除成員x4:a=rmfield(a,‘x4’);3.關(guān)于結(jié)結(jié)構(gòu)的函數(shù)數(shù)除了一般的的結(jié)構(gòu)數(shù)據(jù)據(jù)的操作外外,MATLAB還還提供了部部分函數(shù)來來進(jìn)行結(jié)構(gòu)構(gòu)矩陣的操操作。2.7.2單元元數(shù)據(jù)1.單元矩矩陣的建立立與引用建立單元矩矩陣和一般般矩陣相似似,只是矩矩陣元素用用大括號(hào)括括起來。可可以用帶有有大括號(hào)下下標(biāo)的形式式引用單元元矩陣元素素。例如b{3,3}。單元元矩陣的元元素可以是是結(jié)構(gòu)或單單元數(shù)據(jù)。??煽梢允故褂胏elldisp函數(shù)來來顯示整個(gè)個(gè)單元矩陣陣,如celldisp(b)。還可可以刪除單單元矩陣中中的某個(gè)元元素。2.關(guān)于單單元的函數(shù)數(shù)MATLAB還提供供了部分函函數(shù)用于單單元的操作作。2.8稀稀疏矩陣2.8.1矩矩陣存儲(chǔ)方方式MATLAB的的矩陣有兩兩種存儲(chǔ)方方式:完全全存儲(chǔ)方式式和稀疏存存儲(chǔ)方式。。1.完全存存儲(chǔ)方式完全存儲(chǔ)方方式是將矩矩陣的全部部元素按列列存儲(chǔ)。以以前講到的的矩陣的存存儲(chǔ)方式都都是按這個(gè)個(gè)方式存儲(chǔ)儲(chǔ)的,此存存儲(chǔ)方式對對稀疏矩陣陣也適用。。2.稀疏存存儲(chǔ)方式稀疏存儲(chǔ)方方式僅存儲(chǔ)儲(chǔ)矩陣所有有的非零元元素的值及及其位置,,即行號(hào)和和列號(hào)。在在MATLAB中,,稀疏存儲(chǔ)儲(chǔ)方式也是是按列存儲(chǔ)儲(chǔ)的。注注意,在講講稀疏矩陣陣時(shí),有兩兩個(gè)不同的的概念,一一是指矩陣陣的0元素素較多,該該矩陣是一一個(gè)具有稀稀疏特征的的矩陣,二二是指采用用稀疏方式式存儲(chǔ)的矩矩陣。2.8.2稀疏

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論