《《matlab矩陣運(yùn)算》PPT課件.ppt》由會員分享,可在線閱讀,更多相關(guān)《《matlab矩陣運(yùn)算》PPT課件.ppt(31頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、Matlab基礎(chǔ),向量與矩陣運(yùn)算,向量與矩陣的生成,向量與矩陣運(yùn)算,從矩陣中抽取行或列,向量與矩陣的生成(續(xù)),向量與矩陣運(yùn)算,矩陣的生成,直接輸入: A=1, 2, 3; 4, 5, 6; 7, 8, 9,由向量生成,由函數(shù)生成,通過編寫m文件生成,例: C=magic(3),常見矩陣生成函數(shù),矩陣操作,A(:) 與 A(:,:) 的區(qū)別 ?,如何獲得由 A 的第一、三行和第一、二列組成的子矩陣?,矩陣操作,矩陣的旋轉(zhuǎn),fliplr(A) 左右旋轉(zhuǎn),flipud(A) 上下旋轉(zhuǎn),rot90(A) 逆時(shí)針旋轉(zhuǎn) 90 度; rot90(A,k) 逆時(shí)針旋轉(zhuǎn) k90 度,矩陣操作,矩陣的轉(zhuǎn)置與共
2、軛轉(zhuǎn)置,點(diǎn)與單引號之間不能有空格!,矩陣操作,改變矩陣的形狀:reshape,reshape(A,m,n): 將矩陣元素按 列方向 進(jìn)行重組,重組后得到的新矩陣的元素個(gè)數(shù) 必須與原矩陣元素個(gè)數(shù)相等!,矩陣操作,查看矩陣的大?。簊ize,size(A) 列出矩陣 A 的行數(shù)和列數(shù),size(A,1) 返回矩陣 A 的行數(shù),size(A,2) 返回矩陣 A 的列數(shù),length(x) 返回向量 X 的長度,length(A) 等價(jià)于 max(size(A)),矩陣基本運(yùn)算,矩陣的加減:對應(yīng)分量進(jìn)行運(yùn)算,要求參與加減運(yùn)算的矩陣具有 相同的維數(shù),矩陣的普通乘法,要求參與運(yùn)算的矩陣滿足線性代數(shù)中矩陣相乘
3、的原則,矩陣基本運(yùn)算,矩陣的除法:/、 右除和左除,若 A 可逆方陣,則,AB A 的逆左乘 B inv(A)*B,B/A A 的逆右乘 B B*inv(A),X=AB A*X=B X=B/A X*A=B,通常,矩陣除法可以理解為,當(dāng) A 和 B 行數(shù)相等時(shí)即可進(jìn)行左除 當(dāng) A 和 B 列數(shù)相等時(shí)即可進(jìn)行右除,線性代數(shù)運(yùn)算的MATLAB命令 MATLAB是矩陣化程序設(shè)計(jì)語言,所以處理矩陣和向量運(yùn)算特別方便。關(guān)于矩陣和向量的一些基本運(yùn)算命令已在前面有所介紹,常用的命令和函數(shù)還有,X=AB A*X=B X=B/A X*A=B,當(dāng)A為方陣,其結(jié)果與inv(A)*B基本一致;,當(dāng)A不為方陣,除法將分三
4、種情況自動(dòng)檢測:若為超定方程組(既無解)除法將給出最小二乘意義上的近似解,即使向量AX-B的長度最小;若為不定方程組(即無窮多解),除法將給出一個(gè)具有最多零元素的特解(不是通解);若為唯一解,除法將給出這個(gè)解。用戶對結(jié)果應(yīng)有一個(gè)正確的認(rèn)識。,例: 解下列方程組,解: A=1 1;1 -1;B=1;4;x=AB x = 2.5000 -1.5000 求得唯一解。 A=1 2 1;3 -2 1;B=1;4;x=AB x = 1.2500 -0.1250 0 僅求得一個(gè)特解。 A=1 2;3 -2;1 -1;B=1;4;2;x=AB x = 1.2838 -0.1757 求得一最小二乘
5、近似解。, A=1 2;2 4;B=1;2;x=AB Warning: Matrix is singular to working precision. (Type warning off MATLAB:singularMatrix to suppress this warning.) x = Inf Inf 可見,不能直接求解。 A=1 2;2 4;0 0;B=1;2;0;x=AB %增加0 x+0y=0,使A不為方陣 Warning: Rank deficient, rank = 1 tol = 2.9790e-015. x = 0 0.5000 仍可求一特解。,例:求線性方程組
6、的通解 解:在有無窮多解的情況可用三種方法求得通解。,方法一:用rref化為行最簡形以后求解。 clear;a=1 -1 1 -1;-1 1 1 -1;2 -2 -1 1;b=1;1;-1; rank(a),rank(a,b) ans = 2 2秩相等且小于,說明有無窮多解 rref(a,b) ans = 1 -1 0 0 0 0 0 1 -1 1 0 0 0 0 0 即通解為:小x1=x2,x3=x4+1(x2,x4自由),方法二:先用除法求出一個(gè)特解,再用null求得齊次組的基礎(chǔ)解系。 clear;a=1 -1 1 -1;-1 1 1 -1;2 -2 -
7、1 1;b=1;1;-1; x0=ab;x=null(a) Warning: Rank deficient, rank = 2 tol = 2.1756e-015. x = -0.7071 0 -0.7071 0 -0.0000 0.7071 -0.0000 0.7071 通解為k1*x(:,1)+k2*x(:,2)+x0 方法三:使用solve求解。(見第章),特征值和特征向量,例: A=1 2 3;2 3 4;2 4 5;V,D=eig(A),t=eig(A) V = -0.3957 -0.2167 + 0.5832i -0.2167 - 0.5832i -0.5765
8、 0.6313 0.6313 -0.7149 -0.3914 - 0.2471i -0.3914 + 0.2471i D = 9.3329 0 0 0 -0.1665 + 0.2818i 0 0 0 -0.1665 - 0.2818i t = 9.3329 -0.1665 + 0.2818i -0.1665 - 0.2818i,矩陣的乘方,矩陣的乘方,若 a 是標(biāo)量,A 是方陣,且 V,D = eig(A),則 aA V*(aD)/V,若 A, P 均是矩陣,則 AP 無定義,矩陣的 Kronecker 乘積
9、,Kronecker 乘積的性質(zhì),是 npmq 矩陣;通常,任何兩個(gè)矩陣都有 Kronecker 乘積,Kronecker乘積有時(shí)也稱張量積,矩陣的數(shù)組運(yùn)算,數(shù)組運(yùn)算:對應(yīng)元素進(jìn)行運(yùn)算,點(diǎn)與算術(shù)運(yùn)算符之間不能有空格!,數(shù)組運(yùn)算包括:點(diǎn)乘、點(diǎn)除、點(diǎn)冪,相應(yīng)的數(shù)組運(yùn)算符為: “.* ” , “./ ” , “. ” 和“ . ”,參與運(yùn)算的對象必須具有相同的形狀!,函數(shù)取值,設(shè) x 是變量, f 是一個(gè)函數(shù),當(dāng) x = a 是標(biāo)量時(shí),f(x) = f(a)也是一個(gè)標(biāo)量,當(dāng) x = a, b, , c 是向量時(shí),f(x)= f(a), f(b), , f(c),函數(shù)作用在矩陣上的取值,若 A 是矩陣
10、,則 f(A) 是一個(gè)與 A 同形狀的矩陣,f 作用在 x 的每個(gè)分量上,函數(shù)取值,怎樣計(jì)算 eA ?,例:,矩陣的超越函數(shù),Matlab 提供了三種矩陣函數(shù):expm、sqrtm、logm,詳情參見聯(lián)機(jī)幫助(help expm / sqrtm / logm ),數(shù)與數(shù)組的點(diǎn)冪,x.y =14,25,36=1,32,729,x.2 =12,22,32=1,4,9,2 .x = ?,. 前面留個(gè)空格,,,,,例:x=1 2 3; y=4 5 6;,2 .x;y= ?,Matlab中的所有 標(biāo)點(diǎn)符號必須在 英文狀態(tài)下輸入,Matlab中常見數(shù)學(xué)函數(shù),log 是自然對數(shù),即以 e 為底數(shù) mod(x,y) 結(jié)果與 y 同號,rem(x,y) 則與 x 同號 max 等函數(shù)的參數(shù)是矩陣時(shí),是作用在矩陣各列上,上機(jī)作業(yè),試分別生成 5 階的單位陣、8 階隨機(jī)矩陣及其下三角矩陣 生產(chǎn)列向量 x=1, 3, 5, 7, 9, , 29 生成以 x 的元素為對角線的矩陣 A,并輸出 A 的行數(shù) 生成一個(gè)與 A 同階的正態(tài)分布的隨機(jī)矩陣 B 輸出 A 與 B 的 kronecker 乘積矩陣 C 生成由 A 與 B 點(diǎn)乘得到的矩陣 D 生成一個(gè)由 D 的第 8、4、10、13 行和第 7、1、6、9、2 列組成的子矩陣 E,