Matlab学习第二部分:矩阵
一、矩陣運(yùn)算
1、矩陣的算數(shù)運(yùn)算
加、減、乘、除(左除、右除)、乘方
1.1 矩陣的加減
運(yùn)算符:A±B
注意:加減要求矩陣的階數(shù)相同
檢查矩陣階數(shù)的語(yǔ)句:
-
[i,j]=size(A)
-
I=length(A)
1.2 矩陣的乘法運(yùn)算
運(yùn)算符:A*B
注意:要求A的列數(shù)和B的行數(shù)(內(nèi)階數(shù))相同。
1.3 矩陣的出發(fā)運(yùn)算
左除:A\B
右除:B/A
注意:左除時(shí)要求兩個(gè)矩陣的行數(shù)要相等;右除時(shí)要求兩個(gè)矩陣的列數(shù)必須相等
1.4 矩陣的乘方運(yùn)算
運(yùn)算符:矩陣^冪次
1.5 示例
?>> A=[1 2; 3 4];>> B=[1 1; 2 2];>> y1=A+B?y1 =?2 ? ? 35 ? ? 6?>> y2=A-B?y2 =?0 ? ? 11 ? ? 2?>> y3=A*B?y3 =?5 ? ? 511 ? ?11?>> y4=A\B?y4 =?0 ? ? ? ? 00.5000 ? ?0.5000?>> y5=B/A?y5 =?-0.5000 ? ?0.5000-1.0000 ? ?1.0000?>> y6=A^2?y6 =?7 ? ?1015 ? ?222、矩陣的點(diǎn)(元素群)運(yùn)算
矩陣中對(duì)應(yīng)位置元素進(jìn)行相關(guān)運(yùn)算。要求參加運(yùn)算的矩陣必須是同階的。即行、列數(shù)必須相等
運(yùn)算符:在矩陣運(yùn)算的基本運(yùn)算符前加上“.”即可
點(diǎn)乘:.*
點(diǎn)左除:.\ ./
點(diǎn)乘方:.^
?>> A=[1 2; 3 4];>> B=[1 1; 2 2];>> y7=A.*B?y7 =?1 ? ? 26 ? ? 8?>> y8=A.\B?y8 =?1.0000 ? ?0.50000.6667 ? ?0.5000?>> y9=B./A?y9 =?1.0000 ? ?0.50000.6667 ? ?0.5000?>> y10=A.*B?y10 =?1 ? ? 26 ? ? 83、矩陣的關(guān)系運(yùn)算
關(guān)系運(yùn)算符:<,<=,>,>=,=,~=
運(yùn)算結(jié)果:真(1),假(0)
運(yùn)算法則:
標(biāo)量比較:直接比較數(shù)的大小
矩陣比較:矩陣對(duì)應(yīng)位置的元素進(jìn)行標(biāo)量比較,最終結(jié)果為一個(gè)由0和1組成的、與原矩陣同階數(shù)的矩陣,
4、矩陣的邏輯運(yùn)算
邏輯運(yùn)算符:非(~)>與(&)>或(|)
針對(duì)二進(jìn)制數(shù)的邏輯運(yùn)算
?>> A=magic(3)?A =?8 ? ? 1 ? ? 63 ? ? 5 ? ? 74 ? ? 9 ? ? 2?>> P=rem(A,3)==0?P =?3×3 logical 數(shù)組?0 ? 0 ? 11 ? 0 ? 00 ? 1 ? 0?>> U=P|~P?U =?3×3 logical 數(shù)組?1 ? 1 ? 11 ? 1 ? 11 ? 1 ? 1?>> all(P) #全為真,按列運(yùn)算?ans =?1×3 logical 數(shù)組?0 ? 0 ? 0?>> all(U)?ans =?1×3 logical 數(shù)組?1 ? 1 ? 1?>> any(P) #不全為假,按列運(yùn)算?ans =?1×3 logical 數(shù)組?1 ? 1 ? 1all():矩陣的一列全為真時(shí),輸出1
any():矩陣的一列不全為假(只要有一個(gè)1),輸出1
二、矩陣的元素處理
1、矩陣元素的取整
-
按正無(wú)窮+∞方向取整:ceil()
-
按負(fù)無(wú)窮-∞方向取整:floor()
-
四舍五入取整:round()
-
截尾取整:fix() 直接略去小數(shù)部分
2、矩陣元素的取模和取余
-
mod(x,y) 取模
-
rem(x,y) 取余
這兩者均為取余函數(shù),區(qū)別在于:當(dāng)x和y的正負(fù)號(hào)相同的時(shí)候,兩個(gè)函數(shù)的結(jié)果相同,均為x除以y的余數(shù),當(dāng)x和y的正負(fù)號(hào)不同時(shí),rem函數(shù)結(jié)果的符號(hào)與x相同,而mod函數(shù)結(jié)果的符號(hào)與y相同。
>> a1=mod(-8,3)a1 =1>> a1=mod(8,-3)a1 =-1>> a1=mod(8,3)a1 =2>> a1=mod(-8,-3)a1 =-2>> rem(-8,3)ans =-2>> rem(8,-3)ans =2>> rem(8,3)ans =2>> rem(-8,-3)ans =-2三、矩陣的行列式、秩與跡、特征值分析
1、矩陣的行列式
運(yùn)算符:det()
用于求方陣行列式的值
2、矩陣的秩與跡
-
矩陣的秩:矩陣的列向量組(或者行向量組)的任一極大線性無(wú)關(guān)組所含向量的個(gè)數(shù)
運(yùn)算符:rank()
-
矩陣的跡:矩陣的跡等于矩陣主對(duì)角線元素的總和,也等于矩陣特征值的總和
運(yùn)算符:trace()
要求矩陣是方陣
3、矩陣的特征值分析
-
E=eig(A):求矩陣的全部特征值,并構(gòu)成向量E
-
[V,D]=eig(A):求矩陣的全部特征值,構(gòu)成對(duì)角矩陣D;求A的特征向量,構(gòu)成列向量V。
四、矩陣的逆與線性方程組的求解
1、矩陣的逆
inv():用于求滿秩方程的逆
pinv():用于求不是方陣或者非滿秩方陣的逆——偽逆
如果ABA=A,BAB=B,則稱B為A的偽逆,或者廣義逆矩陣
2、線性方程組的解
五、矩陣的分解與變換
1、矩陣的分解
-
三角分解:[l,u]=lu(a)
l表示下三角矩陣
u表示上三角矩陣
-
正交分解:[q,r]=qr(a)
假設(shè)a(n,m)
q:n階正交方陣
r:與a同階的上三角矩陣
-
奇異值分解:[u,s,v]=svd(a)
u:n階正交方陣
s:n×m階的對(duì)角陣,對(duì)角線元素為a的奇異值,長(zhǎng)度為n、m的較小者
v:m階正交方陣。
2、矩陣的變換
-
矩陣的共軛轉(zhuǎn)置:’
-
矩陣的共軛:conj
-
矩陣的轉(zhuǎn)置:conj’
-
復(fù)數(shù)矩陣的賦值
對(duì)元素逐個(gè)賦值:z=[1+2i,3+4i;5+6i,3+2i]
對(duì)實(shí)部和虛部矩陣分別賦值:z=[1,2;5,7]+[2,4;8,9]*i
只有數(shù)字和i之間的乘號(hào)可以省略
-
矩陣的行列擴(kuò)展
a=[-2,1,4;4,5,6;-4,-7,-8]
行擴(kuò)展:a(4,3)=6.5 a=(5,:)=[5,4,3]
列擴(kuò)展:a(:,4)=[5;4;3;2;1]
總結(jié)
以上是生活随笔為你收集整理的Matlab学习第二部分:矩阵的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 嵌入式入门实践——编写简单STM32程序
- 下一篇: html输入内容重置代码,HTML 提交