版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第3講 矩陣的運(yùn)算3.1 MATLAB運(yùn)算3.2 矩陣分析3.3 字符串,3.1 MATLAB運(yùn)算,3.1.1算術(shù)運(yùn)算,1. 基本算術(shù)運(yùn)算 MATLAB的基本算術(shù)運(yùn)算有:+(加)、-(減)、*(乘)、/(右除)、\(左除)、^(乘方)。 注意,運(yùn)算是在矩陣意義下進(jìn)行的,單個(gè)數(shù)據(jù)的算術(shù)運(yùn)算只是一種特例。,(1) 矩陣加減運(yùn)算 假定有兩個(gè)矩陣A和B,則可以由A+B和A-B實(shí)現(xiàn)
2、矩陣的加減運(yùn)算。 運(yùn)算規(guī)則是:若A和B矩陣的維數(shù)相同,則可以執(zhí)行矩陣的加減運(yùn)算,A和B矩陣的相應(yīng)元素相加減。如果A與B的維數(shù)不相同,則MATLAB將給出錯(cuò)誤信息,提示用戶兩個(gè)矩陣的維數(shù)不匹配。,(2) 矩陣乘法 假定有兩個(gè)矩陣A和B,若A為m×n矩陣,B為n×p矩陣,則C=A*B為m×p矩陣。,(3) 矩陣除法 在MATLAB中,有兩種矩陣除法運(yùn)算:\和/,分
3、別表示左除和右除。 如果A矩陣是非奇異方陣,則A\B和B/A運(yùn)算可以實(shí)現(xiàn)。 A\B等效于A的逆左乘B矩陣,也就是inv(A)*B,而B/A等效于A矩陣的逆右乘B矩陣,也就是B*inv(A)。,對(duì)于含有標(biāo)量的運(yùn)算,兩種除法運(yùn)算的結(jié)果相同,如 3/4和 4\3有相同的值,都等于0.75。又如,設(shè)a=[10.5 B,25],則a/5=5\a=[2.1000 5.0000]。 對(duì)于矩陣來說,左除和
4、右除表示兩種不同的除數(shù)矩陣和被除數(shù)矩陣的關(guān)系。對(duì)于矩陣運(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)運(yùn)算。 點(diǎn)運(yùn)算符有 .*、./、.\和 .^。兩矩陣進(jìn)行點(diǎn)運(yùn)算是指它們的對(duì)應(yīng)元素進(jìn)行相關(guān)運(yùn)算,要求兩矩陣的維數(shù)相同。,3.1.2
5、 關(guān)系運(yùn)算 MATLAB提供了6種關(guān)系運(yùn)算符:(大于)、>=(大于或等于)、==(等于)、~=(不等于)。 它們的含義不難理解,但要注意其書寫方法與數(shù)學(xué)中的不等式符號(hào)不盡相同。,關(guān)系運(yùn)算符的運(yùn)算法則為: (1) 當(dāng)兩個(gè)比較量是標(biāo)量時(shí),直接比較兩數(shù)的大小。若關(guān)系成立,關(guān)系表達(dá)式結(jié)果為1,否則為0。 (2) 當(dāng)參與比較的量是兩個(gè)維數(shù)相同的矩陣時(shí),比較是對(duì)兩矩陣相同位置的元
6、素按標(biāo)量關(guān)系運(yùn)算規(guī)則逐個(gè)進(jìn)行,并給出元素比較結(jié)果。最終的關(guān)系運(yùn)算的結(jié)果是一個(gè)維數(shù)與原矩陣相同的矩陣,它的元素由0或1組成。,(3) 當(dāng)參與比較的一個(gè)是標(biāo)量, 而另一個(gè)是矩陣時(shí),則把標(biāo)量與矩陣的每一個(gè)元素按標(biāo)量關(guān)系運(yùn)算規(guī)則逐個(gè)比較,并給出元素比較結(jié)果。最終的關(guān)系運(yùn)算的結(jié)果是一個(gè)維數(shù)與原矩陣相同的矩陣,它的元素由0或1組成。,例3-1 產(chǎn)生5階隨機(jī)方陣 A,其元素為 [10,90]區(qū)間的隨機(jī)整數(shù),然后判斷A的元素是否能被3整除。
7、 (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í),0被擴(kuò)展為與A同維數(shù)的零矩陣,P是進(jìn)行等于(==)比較的結(jié)果矩陣。,3.1.3 邏輯運(yùn)算 MATLAB提供
8、了3種邏輯運(yùn)算符:&(與)、|(或)和~(非)。 邏輯運(yùn)算的運(yùn)算法則為: (1) 在邏輯運(yùn)算中,確認(rèn)非零元素為真,用1表示,零元素為假,用0表示。,邏輯運(yùn)算的運(yùn)算法則為: (1) 在邏輯運(yùn)算中,確認(rèn)非零元素為真,用1表示,零元素為假,用0表示。 (2) 設(shè)參與邏輯運(yùn)算的是兩個(gè)標(biāo)量a和b,那么: a&b a,b全為非零時(shí),運(yùn)算結(jié)果為1,否則
9、為0。 a|b a,b中只要有一個(gè)非零,運(yùn)算結(jié)果為1。 ~a 當(dāng)a是零時(shí),運(yùn)算結(jié)果為1;當(dāng)a非零時(shí),運(yùn)算結(jié)果為0。,(3) 若參與邏輯運(yùn)算的是兩個(gè)同維矩陣,那么運(yùn)算將對(duì)矩陣相同位置上的元素按標(biāo)量規(guī)則逐個(gè)進(jìn)行。最終運(yùn)算結(jié)果是一個(gè)與原矩陣同維的矩陣,其元素由 1或 0組成。 (4) 若參與邏輯運(yùn)算的一個(gè)是標(biāo)量,一個(gè)是矩陣,那么運(yùn)算將在標(biāo)量與矩陣中的每個(gè)元素之間按標(biāo)量規(guī)則逐個(gè)進(jìn)行。最
10、終運(yùn)算結(jié)果是一個(gè)與矩陣同維的矩陣,其元素由 1或 0組成。,(5) 邏輯非是單目運(yùn)算符,也服從矩陣運(yùn)算規(guī)則。 (6) 在算術(shù)、關(guān)系、邏輯運(yùn)算中,算術(shù)運(yùn)算優(yōu)先級(jí)最高,邏輯運(yùn)算優(yōu)先級(jí)最低。,例3-2 建立矩陣A,然后找出大于4的元素的位置。 (1) 建立矩陣A: A=[4,-65,-54,0,6;56,0,67,-45,0] (2) 找出大于4的元素的位置:
11、 find(A>4),3.2 矩陣分析,3.2.1 對(duì)角陣與三角陣,1. 對(duì)角陣 只有對(duì)角線上有非 0 元素的矩陣稱為對(duì)角矩陣,對(duì)角線上的元素相等的對(duì)角矩陣稱為數(shù)量矩陣,對(duì)角線上的元素都為 1 的對(duì)角矩陣稱為單位矩陣。,(1) 提取矩陣的對(duì)角線元素 設(shè)A為m×n矩陣,diag(A)函數(shù)用于提取矩陣A主對(duì)角線元素,產(chǎn)生一個(gè)具有min(m,n)個(gè)元素的列向量。
12、 diag(A)函數(shù)還有一種形式diag(A,k),其功能是提取第k條對(duì)角線的元素。 (2) 構(gòu)造對(duì)角矩陣 設(shè)V為具有 m 個(gè)元素的向量,diag(V) 將產(chǎn)生一個(gè)m×m對(duì)角矩陣,其主對(duì)角線元素即為向量V的元素。 diag(V) 函數(shù)也有另一種形式 diag(V,k),其功能是產(chǎn)生一個(gè)n×n(n=m+)對(duì)角陣,其第k條對(duì)角線的元素即為向量V的元素。,例3-3
13、先建立 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,對(duì)A的每行乘以一個(gè)指定常
14、數(shù),2. 三角陣 三角陣又進(jìn)一步分為上三角陣和下三角陣,所謂上三角陣,即矩陣的對(duì)角線以下的元素全為 0 的一種矩陣,而下三角陣則是對(duì)角線以上的元素全為0的一種矩陣。,(1) 上三角矩陣 求矩陣A的上三角陣的MATLAB函數(shù)是triu(A)。 triu(A) 函數(shù)也有另一種形式 triu(A,k),其功能是求矩陣A的第k條對(duì)角線以上的元素。例如,提取矩陣A的第2條對(duì)角線以上的元素,形成新的
15、矩陣B。 (2) 下三角矩陣 在MATLAB中,提取矩陣A的下三角矩陣的函數(shù)是tril(A)和tril(A,k),其用法與提取上三角矩陣的函數(shù) triu(A)和 triu(A,k)完全相同。,3.2.2 矩陣的轉(zhuǎn)置與旋轉(zhuǎn)1. 矩陣的轉(zhuǎn)置 轉(zhuǎn)置運(yùn)算符是單撇號(hào)(’)。2. 矩陣的旋轉(zhuǎn) 利用函數(shù)rot90(A,k)將矩陣A旋轉(zhuǎn)90º的k倍,當(dāng)k為1時(shí)可省略。,
16、3. 矩陣的左右翻轉(zhuǎn) 對(duì)矩陣實(shí)施左右翻轉(zhuǎn)是將原矩陣的第一列和最后一列調(diào)換,第二列和倒數(shù)第二列調(diào)換,…,依次類推。 MATLAB對(duì)矩陣A實(shí)施左右翻轉(zhuǎn)的函數(shù)是fliplr(A)。4. 矩陣的上下翻轉(zhuǎn) MATLAB對(duì)矩陣A實(shí)施上下翻轉(zhuǎn)的函數(shù)是flipud(A)。,3.2.3 矩陣的逆與偽逆1. 矩陣的逆 對(duì)于一個(gè)方陣A,如果存在一個(gè)與其同階的方陣B,使得:
17、 A·B=B·A=I (I為單位矩陣) 則稱B為A的逆矩陣,當(dāng)然,A也是B的逆矩陣。 求一個(gè)矩陣的逆是一件非常煩瑣的工作,容易出錯(cuò),但在MATLAB中,求一個(gè)矩陣的逆非常容易。 求方陣A的逆矩陣可調(diào)用函數(shù)inv(A)。,例3-4 用求逆矩陣的方法解線性方程組。 Ax=b 其解為: x=A-1b 命令為:
18、 a=[2,-3,1;8,3,2;45,1,-9]; b=[4;2;17]; x=inv(a)*b,2. 矩陣的偽逆 如果矩陣A不是一個(gè)方陣,或者 A是一個(gè)非滿秩的方陣時(shí),矩陣A沒有逆矩陣,但可以找到一個(gè)與A的轉(zhuǎn)置矩陣 A’同型的矩陣B,使得: A·B·A=A B·A·B=B 此時(shí)稱矩陣B
19、為矩陣A的偽逆,也稱為廣義逆矩陣。 在MATLAB中,求一個(gè)矩陣偽逆的函數(shù)是pinv(A)。,3.2.4 方陣的行列式 把一個(gè)方陣看作一個(gè)行列式,并對(duì)其按行列式的規(guī)則求值,這個(gè)值就稱為矩陣所對(duì)應(yīng)的行列式的值。 在MATLAB中,求方陣A所對(duì)應(yīng)的行列式的值的函數(shù)是det(A)。,3.2.5 矩陣的秩與跡1. 矩陣的秩 矩陣線性無關(guān)的行數(shù)與列數(shù)稱為矩陣的秩。在MATLAB
20、中,求矩陣秩的函數(shù)是rank(A)。2. 矩陣的跡 矩陣的跡等于矩陣的對(duì)角線元素之和,也等于矩陣的特征值之和。在 MATLAB 中,求矩陣的跡的函數(shù)是trace(A)。,3.2.6 向量和矩陣的范數(shù) 矩陣或向量的范數(shù)用來度量矩陣或向量在某種意義下的長(zhǎng)度。范數(shù)有多種方法定義,其定義不同,范數(shù)值也就不同。,1. 向量的3種常用范數(shù)及其計(jì)算函數(shù) 在MATLAB中,求向量范數(shù)的函數(shù)為:
21、 (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ù)調(diào)用格式與求向量的范數(shù)的函數(shù)完全相同。,3.2.7 矩陣的條件數(shù) 在MATLAB中,計(jì)算矩陣A的3種條件數(shù)的
22、函數(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ù)。,3.2.8 矩陣的特征值與特征向量 在MATLAB中,計(jì)算矩陣 A 的特征值和特征向量的函數(shù)是eig(A),常用的調(diào)用格式有3種:
23、 (1) E=eig(A):求矩陣 A 的全部特征值,構(gòu)成向量E。 (2) [V,D]=eig(A):求矩陣A的全部特征值,構(gòu)成對(duì)角陣 D,并求 A的特征向量構(gòu)成V的列向量。,(3) [V,D]=eig(A,‘nobalance’):與第2種格式類似,但第 2種格式中先對(duì)A作相似變換后求矩陣A的特征值和特征向量,而格式 3直接求矩陣A的特征值和特征向量。,例3-5 用求特征值的方法解方程: 3x5-7x
24、4+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),3.3 字符串,在MATLAB中,字符串是用單撇號(hào)(‘)括起來的字符序列。 MATLAB 將字符串當(dāng)作一個(gè)行向量,每個(gè)
25、元素對(duì)應(yīng)一個(gè)字符,其標(biāo)識(shí)方法和數(shù)值向量相同。也可以建立多行字符串矩陣。,字符串是以ASCII碼形式存儲(chǔ)的。abs和double函數(shù)都可以用來獲取字符串矩陣所對(duì)應(yīng)的ASCII碼數(shù)值矩陣。 相反,char函數(shù)可以把ASCII碼矩陣轉(zhuǎn)換為字符串矩陣。,例3-6 建立一個(gè)字符串向量,然后對(duì)該向量做如下處理: (1) 取第1~5個(gè)字符組成的子字符串。 (2) 將字符串倒過來重新排列。
26、 (3) 將字符串中的小寫字母變成相應(yīng)的大寫字母,其余字符不變。 (4) 統(tǒng)計(jì)字符串中小寫字母的個(gè)數(shù)。,命令如下:ch='ABc123d4e56Fg9';subch=ch(1:5) %取子字符串revch=ch(end:-1:1) %將字符串倒排k=find(ch>='a'&ch<='z'); %找
溫馨提示
- 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. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基本操作——矩陣(2)矩陣的運(yùn)算
- 矩陣的運(yùn)算及其運(yùn)算規(guī)則
- matlab實(shí)驗(yàn)二 矩陣基本運(yùn)算(一)答案
- 實(shí)驗(yàn)1矩陣的基本運(yùn)算
- 9.2矩陣的運(yùn)算
- 12 矩陣的運(yùn)算
- cmd批處理替換字符串、截取字符串、擴(kuò)充字符串
- 基于Matlab分塊矩陣運(yùn)算的WARD靜態(tài)等值及實(shí)例分析.pdf
- c++第3章運(yùn)算符重載-
- r語言中矩陣運(yùn)算
- 環(huán)境系統(tǒng)分析上機(jī)實(shí)驗(yàn)報(bào)告matlab矩陣運(yùn)算
- 信號(hào)處理中的矩陣運(yùn)算
- 矩陣的定義及其運(yùn)算規(guī)則
- 22矩陣的運(yùn)算及其性質(zhì)
- 矩陣的定義及其運(yùn)算規(guī)則
- 分塊矩陣的若干初等運(yùn)算
- 22矩陣的運(yùn)算及其性質(zhì)
- 稀疏矩陣的運(yùn)算課程設(shè)計(jì)
- 基于FPGA的矩陣運(yùn)算實(shí)現(xiàn).pdf
- [學(xué)習(xí)]分塊矩陣的概念和運(yùn)算
評(píng)論
0/150
提交評(píng)論