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