MATLAB中的矩陣與向量運(yùn)算_第1頁
MATLAB中的矩陣與向量運(yùn)算_第2頁
MATLAB中的矩陣與向量運(yùn)算_第3頁
MATLAB中的矩陣與向量運(yùn)算_第4頁
MATLAB中的矩陣與向量運(yùn)算_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、4.1 數(shù)組運(yùn)算和矩陣運(yùn)算從外觀形狀和數(shù)據(jù)結(jié)構(gòu)來看,二維數(shù)組和數(shù)學(xué)中的矩陣沒有區(qū)別.但是,矩陣作為一種變換或映射算符的體現(xiàn),矩陣運(yùn)算有著明確而嚴(yán)格的數(shù)學(xué)規(guī)則.而數(shù)組運(yùn)算是MATLAB軟件所定義的規(guī)則,其目的是為了數(shù)據(jù)管理方面,操作簡單,指令形式自然和執(zhí)行計(jì)算有效.所以,在使用MATLAB時,特別要明確搞清數(shù)組運(yùn)算和矩陣運(yùn)算的區(qū)別.表4.1.1列出了兩種運(yùn)算指令形式的實(shí)質(zhì)內(nèi)涵的異同.4.1.1 數(shù)組運(yùn)算和矩陣運(yùn)算指令形式和實(shí)質(zhì)內(nèi)涵數(shù)組運(yùn)算 矩陣運(yùn)算指令 含義 指令 含義A.'非共軛轉(zhuǎn)置 A'共軛轉(zhuǎn)置A=s把標(biāo)量s賦給數(shù)組A的每個元素s+B把標(biāo)量s分別與數(shù)組B的每個元素相加 s-B

2、, B-s標(biāo)量s分別與數(shù)組B的元素之差s.*A標(biāo)量s分別與數(shù)組A的元素之積 s*A標(biāo)量s分別與矩陣A的元素之積s./B, B.s標(biāo)量s分別被數(shù)組B的元素除 s*inv(B)矩陣B的逆乘標(biāo)量sA.n數(shù)組A的每個元素的n次方 An A為方陣時,矩陣A的n次方A+B數(shù)組對應(yīng)元素的相加 A+B矩陣相加A-B數(shù)組對應(yīng)元素的相減 A-B矩陣相減A.*B數(shù)組對應(yīng)元素的相乘 A*B內(nèi)維相同矩陣的乘積A./B A的元素被B的對應(yīng)元素除 A/B A右除BB.A一定與上相同 BA A左除B(一般與右除不同)exp(A)以e為底,分別以A的元素為指數(shù),求冪 expm(A) A的矩陣指數(shù)函數(shù)log(A) 對A的各元素求

3、對數(shù) logm(A) A的矩陣對數(shù)函數(shù)sqrt(A) 對A的積各元素求平方根 sqrtm(A) A的矩陣平方函數(shù)從上面可以看到,數(shù)組運(yùn)算的運(yùn)算如:乘,除,乘方,轉(zhuǎn)置,要加"點(diǎn)".所以,我們要特別注意在求"乘,除,乘方,三角和指數(shù)函數(shù)"時,兩種運(yùn)算有著根本的區(qū)別.另外,在執(zhí)行數(shù)組與數(shù)組運(yùn)算時,參與運(yùn)算的數(shù)組必須同維,運(yùn)算所得的結(jié)果數(shù)組也是總與原數(shù)組同維.4.2 數(shù)組的基本運(yùn)算在MATLAB中,數(shù)組運(yùn)算是針對多個數(shù)執(zhí)行同樣的計(jì)算而運(yùn)用的.MATLAB以一種非常直觀的方式來處理數(shù)組.4.2.1 點(diǎn)轉(zhuǎn)置和共軛轉(zhuǎn)置. ' 點(diǎn)轉(zhuǎn)置.非共軛轉(zhuǎn)置,相當(dāng)于conj

4、(A').>> a=1:5;>> b=a. 'b =12345>> c=b. 'c =1 2 3 4 5這表明對行向量的兩次轉(zhuǎn)置運(yùn)算便得到原來的行向量.' 共軛轉(zhuǎn)置.對向量進(jìn)行轉(zhuǎn)置運(yùn)算并對每個元素取其共軛.如:>> d=a+i*ad =Columns 1 through 31.0000 + 1.0000i 2.0000 + 2.0000i 3.0000 + 3.0000iColumns 4 through 54.0000 + 4.0000i 5.0000 + 5.0000i>> e=d'e =1

5、.0000 - 1.0000i2.0000 - 2.0000i3.0000 - 3.0000i4.0000 - 4.0000i5.0000 - 5.0000i4.2.2 純量 (標(biāo)量) 和數(shù)組的四則運(yùn)算純量和數(shù)組之間可以進(jìn)行簡單數(shù)學(xué)運(yùn)算.如:加,減,乘,除及其混合運(yùn)行.>> g=1 2 3 45 6 7 89 10 11 12>> g=g-2g =-1 0 1 23 4 5 67 8 9 10>> 2*g-1ans =-3 -1 1 35 7 9 1113 15 17 194.2.3 數(shù)組間的四則運(yùn)算在MATLAB中,數(shù)組間進(jìn)行四則運(yùn)算時,參與運(yùn)算的數(shù)組必須

6、具有相同的維數(shù),加,減,乘,除運(yùn)算是按元素與元素的方式進(jìn)行的.其中,數(shù)組間的加,減運(yùn)算與矩陣的加,減運(yùn)算要同,運(yùn)算符為:"+","-".但是,數(shù)組間的乘,除運(yùn)算與矩陣間的乘,除運(yùn)算完全不同,運(yùn)算符號也有差別,數(shù)組間的乘,除運(yùn)算符為:".*","./"或".".1. 數(shù)組按元素相加,減>> g=1 2 3 45 6 7 89 10 11 12>> h=1 1 1 1; 2 2 2 2; 3 3 3 3>> g+h % 按元素相加ans =2 3 4 57 8 9

7、 1012 13 14 15>> ans-h % 按元素相減ans =1 2 3 45 6 7 89 10 11 12>> 2*g-h % 混合運(yùn)算ans =1 3 5 78 10 12 1415 17 19 212. 按元素乘>> g.*hans =1 2 3 410 12 14 1627 30 33 363. 按元素除數(shù)組間的除法運(yùn)算符有兩個,即左除:"./"和右除:".",它們之間的關(guān)系是:a./b=b.a>> g./hans =1.0000 2.0000 3.0000 4.00002.5000 3.

8、0000 4.1000 4.00003.0000 3.3333 3.6667 4.0000>> h.gans =1.0000 2.0000 3.0000 4.00002.5000 3.0000 4.1000 4.00003.0000 3.3333 3.6667 4.00004.2.4 冪運(yùn)算在MATLAB中,數(shù)組的冪運(yùn)算的運(yùn)算為:".",表示每一個元素進(jìn)行冪運(yùn)算.>> g.2 % 數(shù)組g每個元素的平方ans =1 4 9 1625 36 49 6481 100 121 144>> g.(-1) % 數(shù)組g的每個元素的倒數(shù)ans =1.00

9、00 0.5000 0.3333 0.25000.2000 0.1667 0.1429 0.12500.1111 0.1000 0.0909 0.0833>> 2.g % 以g的每個元素為指數(shù)對2進(jìn)行乘方運(yùn)算ans =2 4 8 1632 64 128 256512 1024 2048 4096>> g.h % 以h的每個元素為指數(shù)對g中相應(yīng)元素進(jìn)行乘方運(yùn)算ans =1 2 3 425 36 49 64729 1000 1331 1728>> g.(h-1)ans =1 1 1 15 6 7 881 100 121 1444.2.5 數(shù)組的指數(shù),對數(shù)和開方運(yùn)

10、算在MATLAB中,所謂數(shù)組的運(yùn)算實(shí)質(zhì)是是數(shù)組內(nèi)部每個元素的運(yùn)算,因此,數(shù)組的指數(shù),對數(shù)和開方運(yùn)算與標(biāo)量的運(yùn)算規(guī)則完全是一樣的,運(yùn)算符函數(shù)分別為:exp( ),log( ),sqrt( )等.>> a=1 3 4;2 6 5;3 2 4;>> c=exp(a)c =2.7183 20.0855 54.59827.3891 403.4288 148.413220.0855 7.3891 54.5982>>數(shù)組的對數(shù),開方運(yùn)算與數(shù)組的指數(shù)運(yùn)算,其方式完全一樣,這里不詳述.4.3 向量運(yùn)算對于一行或一列的矩陣,為向量,MATLAB有專門的函數(shù)來進(jìn)行向量點(diǎn)積,叉積和

11、混合積的運(yùn)算.4.3.1 向量的點(diǎn)積運(yùn)算在高等數(shù)學(xué)中,我們知道,兩向量的點(diǎn)積指兩個向量在其中一個向量方向上的投影的乘積,通常用來定義向量的長度.在MATLAB中,向量的點(diǎn)積用函數(shù)"dot"來實(shí)現(xiàn),其調(diào)用格式如下:C=dot(A,B) 返回向量A與B的點(diǎn)積,結(jié)果存放于C中.C=dot(A,B, DIM) 返回向量A與B在維數(shù)為DIM的點(diǎn)積,結(jié)果存放于C中.>> A=2 4 5 3 1;>> B=3 8 10 12 13;>> C=dot(A,B)C =137>> C=dot(A,B,4)C =6 32 50 36 134.3.2

12、 向量的叉積運(yùn)算在高等數(shù)學(xué)中,我們知道,兩向量的叉積返回的是與兩個向量組成的平面垂直的向量.在MATLAB中,向量的點(diǎn)積用函數(shù)"cross"來實(shí)現(xiàn),其調(diào)用格式如下:C=cross(A,B) 返回向量A與B的叉積,即:,結(jié)果存放于C中.C=cross(A,B, DIM) 返回向量A與B在維數(shù)為DIM的叉積,結(jié)果存放于C中.>> A=2 4 5;>> B=3 8 10;>> C=cross(A,B)C =0 -5 44.3.3 向量的混合運(yùn)算>> D=dot(A, cross(B,C)D =41上例表明,首先進(jìn)行的是向量B與C的叉

13、積運(yùn)算,然后再把叉積運(yùn)算的結(jié)果與向量A進(jìn)行點(diǎn)積運(yùn)算.4.4 矩陣的基本運(yùn)算如果說MATLAB的最大特點(diǎn)是強(qiáng)大的矩陣運(yùn)算功能,此話毫不為過.事實(shí)上,MATLAB中所有的計(jì)算都是以矩陣為基本單元進(jìn)行的.MATLAB對矩陣的運(yùn)算功能最全面,也是最為強(qiáng)大的.矩陣在形式上與構(gòu)造方面是等同于前面所述的數(shù)組的,當(dāng)其數(shù)學(xué)意義卻是完全不同的.矩陣的基本運(yùn)算包括矩陣的四則運(yùn)算,矩陣與標(biāo)時的運(yùn)算,矩陣的冪運(yùn)算,指數(shù)運(yùn)算,對數(shù)運(yùn)算,開方運(yùn)算及以矩陣的逆運(yùn)算,行列式運(yùn)算等.4.4.1 矩陣的四則運(yùn)算矩陣的四則運(yùn)算與前面介紹的數(shù)組的四則運(yùn)算基本相同.但也有一些差別.1. 矩陣的加減矩陣的加,減與數(shù)組的加,減是完全相同的,

14、運(yùn)算時要求兩矩陣的大小完全相同.>> a=1 2; 3 5; 2 6;>> b=2 4; 1 8; 9 0;>> c=a+bc =3 64 1311 62. 矩陣的相乘對于矩陣的乘法,從線性代數(shù)中,我們知道,要求進(jìn)行相乘的兩矩陣有相同的公共維.如:>> a=1 2; 3 5; 2 6;>> b=2 4 1; 8 9 0;>> c=a*bc =18 22 146 57 352 62 2設(shè)A矩陣為一個階的矩陣,則要求與之相乘的B矩陣必須是一個階,得到矩陣是階的.即,只有當(dāng)?shù)谝粋€矩陣 (左矩陣) 的列數(shù)等于第二個矩陣 (右矩陣)

15、 的行數(shù)時,兩個矩陣的乘積才有意義.3. 矩陣的除法對于矩陣的除法有兩個運(yùn)算符號,分別為左除符號""和右除符號"/".矩陣的右除運(yùn)算速度要慢一點(diǎn),而左除運(yùn)算可以避免奇異矩陣的影響.對于方程,若此方程為超定的方程,則使用除法可以自動找到使的平方最小化的解.若此方程為不定方程,則使用除法運(yùn)算符至少求得的解至多有rank(A) (矩陣A的秩)個非零元素,而且求得的解是這種類型的解中范數(shù)最小的一個.>> a=21 34 20; 5 78 20; 21 14 17; 34 31 38;>> b=10 20 30 40'>>

16、; x=bax =0.7667 1.1867 0.8767上面方程是超定方程.要注意的:結(jié)果矩陣x是列向量形式.如果,>> a=21 34 20 5; 78 20 21 14; 17 34 31 38;>> b=10 20 30'>> x=bax =1.6286 1.2571 1.1071 1.0500上面的方程為不定方程.4. 矩陣與標(biāo)量間的四則運(yùn)算矩陣與標(biāo)量的四則運(yùn)算和數(shù)組與標(biāo)量間的四則運(yùn)算完全相同,即矩陣中的每個元素與標(biāo)量進(jìn)行加,減,乘,除四則運(yùn)算.需要說明的是,當(dāng)進(jìn)行除法運(yùn)算時,標(biāo)量只能做除數(shù).5. 矩陣的冪運(yùn)算矩陣的冪運(yùn)算與標(biāo)量的冪運(yùn)算不同

17、.用符號"",它不是對矩陣的每個元素進(jìn)行冪運(yùn)算,而是與矩陣的某種分解有關(guān).>> b=21 34 20; 78 20 21; 17 34 31;>> c=b2c =3433 2074 17543555 3766 26313536 2312 20156. 矩陣的指數(shù),對數(shù)運(yùn)算與開方運(yùn)算矩陣的指數(shù)運(yùn)算,對數(shù)運(yùn)算與開方運(yùn)算與數(shù)組相應(yīng)的運(yùn)算是不同的.它并不是對矩陣中的單個元素的運(yùn)算,而是對整個矩陣的運(yùn)算.這些運(yùn)算函數(shù)如下:expm, expm1, expm2, expm3 指數(shù)運(yùn)算函數(shù);logm 對數(shù)運(yùn)算函數(shù);sqrtm 開方運(yùn)算函數(shù).>> a=1

18、 3 4; 2 6 5; 3 2 4;>> c=expm(a)c =1.0e+004 *0.4668 0.7694 0.92000.7919 1.3065 1.56130.4807 0.7919 0.9475>> c=logm(a)c =0.5002 + 2.4406i 0.5960 - 0.6800i 0.7881 - 1.2493i0.4148 + 0.4498i 1.4660 - 0.1253i 1.0108 - 0.2302i0.5780 - 1.6143i 0.4148 + 0.4498i 1.0783 + 0.8263i>> c=sqrtm(a)

19、c =0.6190 + 0.8121i 0.8128 - 0.2263i 1.1623 - 0.4157i0.3347 + 0.1497i 2.3022 - 0.0417i 1.1475 - 0.0766i1.0271 - 0.5372i 0.3347 + 0.1497i 1.6461 + 0.2750i7. 矩陣的轉(zhuǎn)置,逆運(yùn)算與行列式運(yùn)算矩陣的轉(zhuǎn)置的運(yùn)算符為"'".求逆用運(yùn)算函數(shù):inv( ).而用函數(shù):det( )則可求的矩陣行列式的大小.>> a=1 2 0; 2 5 -1; 4 10 -1;>> c=a'c =1 2 42 5

20、 100 -1 -1>> b=inv(a)b =5 2 -2-2 -1 10 -2 1>> d=det(a)d =14.5 矩陣的特殊運(yùn)算矩陣的特殊運(yùn)算包括矩陣特征值運(yùn)算,條件數(shù)運(yùn)算,奇異值運(yùn)算,范數(shù)運(yùn)算,秩運(yùn)算,正交化運(yùn)算,跡運(yùn)算,偽逆運(yùn)算等,這些運(yùn)算,MATLAB都可以非常方便地給出.4.5.1 矩陣的特征值運(yùn)算在線性代數(shù)中,計(jì)算矩陣的特征值過程相當(dāng)復(fù)雜.而在MATLAB中,矩陣特征值運(yùn)算只需用函數(shù)"eig( )"或"eigs( )"計(jì)算即可得到.其使用格式如下.E=eig(X) 生成由矩陣X的特征值所組成的一個列向量;V,D

21、=eig(X) 生成兩個矩陣V和D,其中V是以矩陣X的特征向量作為列向量組成的矩陣,D是由矩陣X的特征值作為主對角線元素構(gòu)成的對角矩陣.eigs( )函數(shù)使用迭代法求解矩陣的特征值和特征向量.D=eigs(X) 生成由矩陣X的特征值所組成的一個列向量.X必然是方陣,最好是大型稀疏矩陣;V,D=eigs(X) 生成兩個矩陣V和D,其中V是以矩陣X的特征向量作為列向量組成的矩陣,D是由矩陣X的特征值作為主對角線元素構(gòu)成的對角矩陣.>> a=1 2 0; 2 5 -1; 4 10 -1;b,c=eig(a)b =-0.2440 -0.9107 0.4472-0.3333 0.3333 0

22、.0000-0.9107 -0.2440 0.8944c =3.7321 0 00 0.2679 00 0 1.00004.5.2 矩陣 (向量) 的范數(shù)運(yùn)算為了反映了矩陣 (向量) 某些特性,線性代數(shù)中引入了范數(shù)的概念,它分為2-范數(shù),1-范數(shù),無窮范數(shù)和Frobenius范數(shù)等.在MATLAB中,用函數(shù)norm( )或normest( ) 計(jì)算矩陣 (向量) 的范數(shù).其使用格式如下.norm(X) 計(jì)算矩陣 (向量) X的2-范數(shù);norm(X,2) 同上;norm(X,1) 計(jì)算矩陣 (向量) X的1-范數(shù);norm(X,inf) 計(jì)算矩陣 (向量) X的無窮范數(shù);norm(X,'

23、;fro') 計(jì)算矩陣 (向量) X的Frobenius范數(shù);normest(X) 只計(jì)算矩陣 (向量) X的2-范數(shù);并且是2-范數(shù)的估計(jì)值,適用于計(jì)算norm(X)比較費(fèi)時的情況.>> X=hilb(4)X =1.0000 0.5000 0.3333 0.25000.5000 0.3333 0.2500 0.20000.3333 0.2500 0.2000 0.16670.2500 0.2000 0.1667 0.1429>> norm(4)ans =4>> norm(X)ans =1.5002>> norm(X,2)ans =1.5

24、002>> norm(X,1)ans =2.0833>> norm(X,inf)ans =2.0833>> norm(X,'fro')ans =1.5097>> normest(X)ans =1.50024.5.3 矩陣的條件數(shù)運(yùn)算矩陣的條件數(shù)是判斷矩陣"病態(tài)"程度的一個量值,矩陣A的條件數(shù)越大,表明A越"病態(tài)",反之,表明A越"良態(tài)".如Hilbert矩陣就是一個有名的病態(tài)矩陣.cond(X) 返回矩陣X的2-范數(shù)的條件數(shù);cond(X, P) 返回矩陣X的P-范數(shù)的條

25、件數(shù),其中P為1,2,inf或fro;rcond(X) 用于計(jì)算矩陣條件數(shù)的倒數(shù)值,當(dāng)矩陣X為"病態(tài)"時,rcond(X)就接近0,X為"良態(tài)"時,rcond(X)就接近1.condest(X) 計(jì)算關(guān)于矩陣X的1-范數(shù)的條件數(shù)的估計(jì)值.>> M=magic(3)M =8 1 63 5 74 9 2>> H=hilb(4)H =1.0000 0.5000 0.3333 0.25000.5000 0.3333 0.2500 0.20000.3333 0.2500 0.2000 0.16670.2500 0.2000 0.1667 0.142

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論