python矩阵左除_matlab学习笔记
Matlab學(xué)習(xí)筆記
運(yùn)算:
1.???? 算術(shù)運(yùn)算(在矩陣意義下進(jìn)行)
+:要求矩陣同型,對(duì)應(yīng)元素相加減,如果用標(biāo)量和矩陣相加減,不同型就涼涼提示錯(cuò)誤,那就將矩陣每個(gè)元素和數(shù)字相加減
-:同上
*:A*B要求左行=右列,否則報(bào)錯(cuò)
/(右除) \(左除):若A矩陣是非奇異方陣(可逆矩陣),則B/A等效于B*inv(A)B\A=inv(A)*B通常用的是/也就按照一般的理解
^乘方:沒(méi)什么好說(shuō)的,但是,,inv(A)=A^-1,結(jié)果一樣的
點(diǎn)運(yùn)算!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
點(diǎn)運(yùn)算符:.*??? ./??? .\??? .^
兩矩陣進(jìn)行點(diǎn)運(yùn)算是指他們的對(duì)應(yīng)元素進(jìn)行相關(guān)運(yùn)算,因此要求同型
例如x=0.1:0.3:1
Y=sin(x).*cos(x)得出當(dāng)x=0.1 0.4 0.7 1.0的時(shí)候?qū)?yīng)的sin(x)cos(x)的值的序列,如果用*則會(huì)因?yàn)閮蓚€(gè)1*n的矩陣不能相乘而報(bào)錯(cuò)
2.???? 關(guān)系運(yùn)算
?? >=?? ==??? ~=最后一個(gè)是不等于
成立則表達(dá)式的結(jié)果為1,不是則為0
當(dāng)比較的是倆同型矩陣,比較相同位置的元素,最后的結(jié)果是與原矩陣同型的,元素由0,1組成,如果是矩陣和元素比,就挨著挨著比
3.???? 邏輯運(yùn)算
矩陣表示:
A=[1,2;3,4]
就是表示|1?? 2 |這個(gè)矩陣
|3?? 4 |
矩陣元素按照先行后列的方法編寫(xiě)角標(biāo)(sub)
但是按照列存儲(chǔ)序號(hào)(index)
用sub2ind 或者 ind2sub來(lái)進(jìn)行轉(zhuǎn)化
D=sub2ind(S,I,J)其中,S是轉(zhuǎn)化的矩陣的行列組成的二維向量,可以用size(A)來(lái)獲取,I是行下標(biāo),J是列下標(biāo),I和J可以是同型的向量,使D成為與IJ同型并且對(duì)應(yīng)元素行為I,列為J的矩陣
[I,J]=ind2sub(S,D)S仍由size函數(shù)獲取,D為相應(yīng)序號(hào)(or矩陣,返回的I,J此時(shí)就對(duì)應(yīng)D中指數(shù)所指的行數(shù)和列數(shù))
利用冒號(hào)獲得子矩陣,A是一個(gè)矩陣
例如A(i,:),表示A矩陣的第i行這個(gè)子矩陣
A(:,j)表示A矩陣的第j列這個(gè)子矩陣
A(i:1+m,j+m)表示A矩陣從(i,j)到(i+m,j+m)的子矩陣
Ps.空著只有:的就表示全選
End運(yùn)算符:表示某一維的末尾下標(biāo)
例如A([1,4],3:end)就是引用第1,4行從第三列到最后一列的元素
利用空矩陣刪除一些元素
例如A=[1,2,3,0,0;
7,0,9,2,6;
1,4,-1,1,8]
A(:,[2,4])=[]
就刪除了第2,4列的數(shù)值,A變成[1,3,0;
7,9,6;
1,-1,8]
介紹reshape(A,m,n):在矩陣總元素保持不變的前提下,將矩陣A重新排列成mxn的二維矩陣,ps:它只改變?cè)仃嚨男袛?shù)列數(shù),不改變?cè)貍€(gè)數(shù)和存儲(chǔ)順序,仍然按列存儲(chǔ)
A(:)將矩陣的每一列元素堆疊起來(lái)成為一個(gè)列向量
Rem函數(shù)P=rem(A,2)==0
判斷A的每個(gè)元素是不是可以被2整除,如果可以,就為1
字符串可以形成矩陣ch=[‘a(chǎn)bcd’;’1234’],要求各行各列的元素個(gè)數(shù)相同,如果不行,要添加空格鍵來(lái)充數(shù)
Ch(2,3)就表示3
介紹find函數(shù),find函數(shù)的使用方式舉例find(ch>=’a’&ch<=’z’)即找出ch
中ASCII碼大于a效于z的字母(小寫(xiě)字母),返回字符的索引
字符串處理:
字符串屬性
介紹length()函數(shù),括號(hào)內(nèi)寫(xiě)入一個(gè)可迭代的東西,即可求出其長(zhǎng)度,返回一個(gè)integer
介紹eval()函數(shù),eval(s)s是字符串,作用是將s內(nèi)的字符串作為代碼運(yùn)行(同python)
介紹abs()函數(shù),abs(s),將s里面的所有字母按照順序以ASCII碼轉(zhuǎn)換為一個(gè)list
字符串的比較
字符串比較的如果使用關(guān)系運(yùn)算符的話,兩個(gè)字符串依次按照ASCII碼逐個(gè)進(jìn)行比較,結(jié)果是一個(gè)數(shù)值(logical)向量,向量中的元素要么是1要么是0
介紹strcmp(s1,s2)函數(shù)比較s1 s2是否相等,是則返回1,否返回0
介紹strncmp(s1,s2,n)比較兩個(gè)字符串前n個(gè)字符是否相等,是反回1,否返回0
介紹strcmpi(s1,s2),忽略字母大小寫(xiě)前提下比較是否相等
strcnmpi(s1,s2),道理同1,2
字符串查找and替換
介紹findstr(s1,s2)返回短字符串在長(zhǎng)字符串中的位置
介紹strrep(s1,s2,s3)將s1中的s2替換為s3
特殊矩陣
通用的特殊矩陣
1.???? zeros函數(shù),產(chǎn)生全0矩陣,即0矩陣
2.???? ones函數(shù),產(chǎn)生全1矩陣,即幺矩陣
3.???? eye函數(shù),產(chǎn)生對(duì)角線為1的矩陣,若矩陣是方陣,得到單位矩陣
4.???? rand函數(shù),產(chǎn)生(0,1)區(qū)間均勻分布的隨機(jī)矩陣
5.???? randn函數(shù),產(chǎn)生均值為0,方差為1的標(biāo)準(zhǔn)正態(tài)隨機(jī)分布矩陣
調(diào)用格式有zeros(m)、zeros(m,n)、zeros(size(A))產(chǎn)生的矩陣大小可以確定
Skills:產(chǎn)生區(qū)間上均勻分布的隨機(jī)數(shù):
x=rand()產(chǎn)生0~1上的隨機(jī)數(shù)
ans=a+(b-a)*x,產(chǎn)生結(jié)果
如果要[a,b]區(qū)間上的整數(shù),用fix(a+(b-a+1)*x)
產(chǎn)生均值為
μ+σx,產(chǎn)生均值為μ,方差為σ^2的隨機(jī)數(shù)
用于專門(mén)學(xué)科的矩陣:
(1)魔方矩陣,每行每列及主副對(duì)角線元素和相等ps:和為(1+2+3+……n^2)/n=(n+n^3)/2????????? 用migic()來(lái)創(chuàng)建
(2)范德蒙矩陣用vander(V)生成以V為基礎(chǔ)的范德蒙矩陣,同行前項(xiàng)等于后項(xiàng)的平方,常用于通信系統(tǒng)的糾錯(cuò)編碼
(3)希爾伯特矩陣H(i,j)=1/(i+j+1),生成的函數(shù)是hilb(n)特點(diǎn)是任何一個(gè)元素發(fā)生較小的變動(dòng),整個(gè)矩陣的值和逆矩陣都會(huì)發(fā)生大變化,階數(shù)+,病態(tài)程度+++
(4)伴隨矩陣compan(p),其中,p是一個(gè)多項(xiàng)式的系數(shù)向量,高次冪系數(shù)排在前,低次冪系數(shù)排在后
A*A/|A|=A^-1
(5)楊輝三角矩陣(帕斯卡矩陣):第一行第一列全為1,右下項(xiàng)等于左項(xiàng)加上項(xiàng)
pascal(n)
矩陣的變換:
1.???? 對(duì)角陣:一定是方陣啊啊啊啊啊啊啊啊
a)?????? 對(duì)角矩陣:只有對(duì)角線上有非零元素
b)????? 數(shù)量矩陣:對(duì)角線上的元素相等的矩陣
c)?????? 單位矩陣:對(duì)角線上的元素都為1的對(duì)角矩陣
函數(shù)diag重載程度比較高,如diag(1:5),放入一個(gè)向量就可以產(chǎn)生對(duì)角線上為1~5的5*5矩陣
2.???? 三角陣
a)?????? 上三角陣:triu(A)提取矩陣A對(duì)角線及以上的元素,triu(A,k)提取矩陣A第k條主對(duì)角線及以上的元素
b)????? 下三角陣:tril()函數(shù),用法相同
3.???? 轉(zhuǎn)置
a)?????? 運(yùn)算符是小數(shù)點(diǎn)后面接單引號(hào).’
b)????? 共軛轉(zhuǎn)置的運(yùn)算符是’,一個(gè)單引號(hào),轉(zhuǎn)置的基礎(chǔ)上取每個(gè)數(shù)的復(fù)共軛
4.???? 旋轉(zhuǎn)
a)?????? rot90(A,K)將矩陣A逆時(shí)針?lè)较蛐D(zhuǎn)90°的k倍,k=1可以省略
5.???? 翻轉(zhuǎn)
a)?????? fliplr(A)對(duì)矩陣A實(shí)施左右翻轉(zhuǎn)
b)????? flipud(A)上下翻轉(zhuǎn)
6.???? 求逆
a)?????? inv(A)??? or?? A^-1
矩陣的數(shù)量特征
1.???? 行列式det(A)
2.???? 秩rank(A)
3.???? 跡trace()
4.???? 范數(shù)norm
5.???? 條件數(shù)
總結(jié)
以上是生活随笔為你收集整理的python矩阵左除_matlab学习笔记的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: python3多线程协程_python3
- 下一篇: python turtle应用实例_tu