專題二 matlab矩陣處理
2.1 matlab矩陣處理
1.通用的特殊矩陣
zeros函式:產生全0矩陣,即0矩陣。
ones函式:產生全1矩陣,即么矩陣。
eye函式:產生對角線為1的矩陣。當矩陣是方陣時,得到乙個單位矩陣。
rand函式:產生(0,1)區間均勻分布的隨機矩陣。
randn函式:產生均值為1,方差為1的標準正態分佈隨機矩陣。
zeros函式的呼叫格式
zeros(m):產生mn零矩陣
zeros(m,n):產生mn零矩陣
zeros(size(a)):產生與矩陣a同樣大小的零矩陣。
rand函式:產生(0,1)開區間均勻分布的隨機數x
fix(a+(b-a+1)*x):產生【a,b】區間上均勻分布的隨機整數。
randn函式:產生均值為0、方差為1的標準正態分佈隨機數x。
1.對角陣
對角陣:只有對角線上有非零元素的矩陣。
數量矩陣:對角線上的元素相等的對角矩陣。
單位矩陣:對角線上的元素都為1的對角矩陣。
(1)提取矩陣的對角線元素
diag(a):提取矩陣a主對角線元素,產生乙個列向量。
diag(a,k):提取矩陣a第k條對角線的元素,產生乙個列向量。
(2)構造對角陣
diag(v):以向量v為主對角線元素,產生對角矩陣。
diag(v,k):以向量v為第k條對角線元素,產生對角矩陣。
要將a的割裂元素分別乘以對角陣的對角線元素,可以用乙個對角陣右乘矩陣a
2.三角陣
上三角陣:矩陣的對角線以下的元素全為0的矩陣。
下三角陣:對角線以上的元素全為0的矩陣。
(1)上三角矩陣
triu(a):提取矩陣a的主對角線及以上的元素。
triu(a,k):提取矩陣a的第k條對角線及以上的元素。
(2)下三角矩陣
在matlab中,提取矩陣a的下三角矩陣的函式時tril,其用法與triu函式完全相同
3.矩陣的轉置
轉置運算子的基礎上還要去每個數的復共軛是小數點後面接單引號(.』)。
共軛轉置,其運算子是單引號(『),它在轉置的基礎上還要取每個數的復共軛。
4.矩陣的旋轉
rot90(a,k):將矩陣a逆時針方向旋轉90°的k倍,當k為1時可省略。
5 矩陣的反轉
對矩陣實施左右翻轉是將原矩陣的第一列和最後一列調換,第二列和倒數第二列調換,…,以此類推。
fliplr(a):對矩陣a實施左右翻轉
flipud(a):對矩陣a實施上下翻轉
6.矩陣的求逆
對於乙個方陣a,如果存在與乙個與其同階的方陣b,使得ab=ba=i(i為單位矩陣),則稱b為a的逆矩陣,當然,a也是b的逆矩陣。
inv(a):求方陣a的逆矩陣。
1.方陣的行列式
det(a):求方陣a所對應的行列式的值。
2 .矩陣的秩
矩陣線性無關的行數或列數稱為矩陣的秩。
rank(a):求矩陣a的秩。
3.矩陣的跡
矩陣的跡等於矩陣的對角線元素之和,也等於矩陣的特徵值之和。
trace(a):求矩陣a的跡。
4.向量和矩陣的範數
矩陣或向量的範數用來度量矩陣或向量在某種意義下的長度。
在matlab中,求向量範數的函式為:
norm(v)或norm(v,2):計算向量v的2—範數。。
norm(v,1):計算向量v的1—範數。
norm(v,inf):計算向量v的∞—範數。
(2)矩陣的範數
matlab提供了求三種矩陣範數的函式,其函式呼叫格式與求向量的範數的函式完全相同。
5.矩陣的條件數
矩陣a的條件數等於a的範數與a的逆矩陣的範數的乘機。
條件數越接近於1,矩陣的效能越好,反之,矩陣的效能越差。
在matlab中,計算矩陣的三種條件數的函式是:
cond(a,1):計算a的1----範數下的條件數。
cond(a)或cond(a,2):計算a 的2—範數數下的條件數。
cond(a,inf):計算a的∞—範數下的條件數。
2.4 矩陣的特徵值和特徵向量
矩陣特徵值的數學定義
求矩陣的特徵值與特徵向量
特徵值的幾何含義
1.矩陣特徵值的數學定義
設a是n階方陣,如果存在常數λ和n維非零列向量x,使得等式ax=λx成立,則稱λ為a的特徵值,x是對應特徵值λ的特徵向量。
2.求矩陣的特徵值與特徵向量
在matlab中,計算矩陣的特徵值和特徵向量的函式是eig,常用的呼叫格式有兩種:
e=eig(a):求矩陣a的全部特徵值,構成向量e。
[x,d]=eig(a):求矩陣a的全部特徵值,構成對角陣d,並產生矩陣x,x各列是相應的特徵向量。
2.5 稀疏矩陣
矩陣的儲存方式
稀疏儲存方式的產生
稀疏矩陣的應用例項
1.矩陣的儲存方式
完全儲存方式:將矩陣的全部元素按列儲存。
稀疏儲存方式:只儲存矩陣的非零元素的值及其位置,即行號和列號。
注意,採用稀疏儲存方式時,矩陣元素的儲存順序並沒有改變,也是按列的順序進行儲存。
2稀疏儲存方式的產生
(1)完全儲存方式與稀疏儲存方式之間的轉化
a=space(s):將矩陣s轉化為稀疏儲存方式的矩陣a。
s=full(a):將矩陣a轉化為完全儲存方式的矩陣s。
(2)直接建立稀疏儲存矩陣
sparse(m,n):產生乙個mn的所有元素都是0的稀疏矩陣。
sparse(u,v,s):其中u,v,s是三個等長的向量。s是要建立的稀疏儲存矩陣的非零元素,u(i)、v(i)分別是s(i)的行和列下標。
使用spconvert函式直接建立稀疏儲存矩陣,其呼叫格式為:
b=spconvert(a)
其中,a為乙個m3或m*4的矩陣,其每行表示乙個非零元素,m是非零元素的個數。
a(i,1)表示第i個非零元素所在的行。
a(i,2)表示第i個非零元素所在的列。
a(i,3)表示第i個非零元素值的實部。
a(i,4)表示第i個非零元素值的虛部。
若矩陣的全部元素都是實數,則無需第四列。
(3)帶狀稀疏矩陣的稀疏儲存
稀疏矩陣有兩種基本型別:無規則結構的稀疏矩陣與有規則結構的稀疏矩陣
帶狀稀疏矩陣就是一種十分典型的具有規則結構的稀疏矩陣,它是指所有非零元素集中在對角線上的矩陣。
[b,d]=spdiags(a):從帶狀稀疏矩陣a中提取全部非零對角線元素賦給矩陣b及其這些非零對角線的位置向量d。
a=spdiags(b,d,m,n):產生帶狀稀疏矩陣的稀疏儲存矩陣a,其中m、n為原帶狀稀疏矩陣的行數與列數,矩陣b的第i列即為原帶狀稀疏矩陣的第i條非零對角線,向量d為原帶狀稀疏矩陣所有非零對角線的位置。
總結
用spdiags函式產生帶狀稀疏矩陣的稀疏儲存a:
a=spdiags(b,d,m,n)
其中,m、n為原帶狀矩陣的行數與列數。b為r*p矩陣,這裡r=min(m,n),p為原帶狀矩陣所有非零對角線的條數,矩陣b的第i列即為原帶狀矩陣的第i條非零對角線,取值方法是:若非零對角線上元素個數等於r,則取全部元素;若非零對角線上元素個數效於r,則應該用零補足到r個元素。補零的原則是:若m0時(主對角線以上)在後面補0;當m≥n(行數≥列數),則d<0時在後面補0;d>0時在前面補0.
(4)單位矩陣的稀疏儲存
speye(m,n)返回乙個m*n的稀疏單位矩陣。
萌新的matlab入門3
程式的三種基本結構 順序結構 選擇結構 迴圈結構 指令碼檔案和函式檔案 指令碼檔案是可在命令列視窗直接執行的檔案,也叫命令檔案 函式檔案是定義乙個函式,不能直接執行,而必須以函式呼叫的方式來呼叫它。檔案的建立 用命令按鈕建立檔案 用edit命令建立檔案 edit test 1.順序結構 1 資料的輸...
MarkDown入門教程(萌新向)
markdown入門級教程 1.教程引言 2.與html關聯 3.基礎符號 4.高階應用的方向 教程引言 markdown通常為程式設計師群體所用,適用於泡技術論壇 寫部落格日誌 技術文稿 記錄 片段 起草郵件等場景。但同樣是語法,怎麼它就能這麼火呢?易寫易讀是markdown語法的最大亮點,也是它...
萌新的51之旅 串列埠通訊(2)
串列埠通訊的介面標準 一 rs 232c介面 1 機械特性 rs232c介面規定使用25針聯結器,聯結器的尺寸及每個插針的排列位置都有明確地定義。rs232c標準介面主要引腳定義 pgnd 保護接地 txd 傳送資料 rxd 接收資料 rts 請求傳送 cts 允許傳送 dsr 資料建立就緒 sgn...