% 第二節 矩陣變換
% 矩陣變換
%主要內容
% 求解 【對角陣】 【三角陣】 【矩陣的轉置】 【矩陣的旋轉】
% 【矩陣的翻轉】 【矩陣求逆】
% 對角矩陣
%3種對角矩陣:
% 對角矩陣:只有對角線上有非零元素的矩陣。
% 數量矩陣:對角線上的元素相等的對角矩陣。
% 單位矩陣:對角線上的元素都為1的對角矩陣。
%1、提取矩陣的對角線元素
%diag
(a):提取矩陣的主對角線元素,產生乙個向量
%diag
(v,k)
:以向量v為k條對角線元素,產生對角矩陣。
% eg:
% 例1先建立5x 5矩陣a,然後將a的第一行元素乘以1, 第二行乘
% 以2,.
..第五行乘以5。a=[
7,0,
1,0,
5;3,
5,7,
4,1;
4,0,
3,0,
2;1,
1,9,
2,3;
1,8,
5,2,
9]diag
(a)%提取主對角線元素
diag
(a,3
)% 好像有點問題,沒有理解
% 注:diag
(a,3) 主對角線為 diag
(a,0
),向上的對角線為》
0的對角線
d=diag(1
:1:5
)% 等價於 diag(1:5)
d*a % d矩陣左乘 a 可以實現 矩陣a列向量 的倍乘(注:首先保證 d 是對角陣)
a*d % d矩陣右乘 a 可以實現 矩陣a行向量 的倍乘(注:首先保證 d 是對角陣)
% 三角陣
% 上三角陣:矩陣的對角線以下的元素全為零的矩陣。
% 下三角陣:對角線以上的元素全為零的矩陣。
%上三角矩陣
%triu
(a):提取矩陣a的主對角線及以上的元素。
%triu
(a,k)
:提取矩陣a的第k條對角線及以上的元素。
ones(4
)triu
(ones(4
))%提取得到的上三角矩陣
triu
(ones(4
),-1
)%提取得到離主對角線下方為1 的上三角矩陣
triu
(ones(4
),1)
%提取得到離主對角線上方方為1 的上三角矩陣
triu
(ones(4
),2)
%提取得到離主對角線上方方為2 的上三角矩陣
% 注:不好理解的話可以看下執行後的效果,可很好的分析triu
(a,k)中k值的理解
% 下三角矩陣
%tril
(a):提取矩陣a的主對角線及以下的元素。
%tril
(a,k)
:提取矩陣a的第k條對角線及以下的元素。
ones(4
)tril
(ones(4
))%提取得到的下三角矩陣
tril
(ones(4
),-1
)%提取得到離主對角線下方為1 的下三角矩陣
tril
(ones(4
),1)
%提取得到離主對角線下方方為1 的下三角矩陣
tril
(ones(4
),2)
%提取得到離主對角線下方方為2 的下三角矩陣
% 矩陣的轉置
% 轉置矩陣的定義:m×n矩陣a的行換成同序數的列得到乙個n×m矩陣,此矩陣叫做a的轉置矩陣
% 轉置運算子是小數點後面接單引號(
.')% 共軛轉置,其運算子是單引號('),它再轉置的基礎上還要取每個數的復共軛
% eg 區分轉置 和 共軛轉置a=[
1,3;
3+4i,1
-2i]
a.' % a的轉置
a' % a的共軛轉置 ,特點 ;也是轉置,但是虛部需要取反(正的變負的,負的變正的)
% 矩陣旋轉
%rot90
(a,k)
:將矩陣a
(逆時針)方向旋轉90°的k倍,當k為1時可省略。
% eg b=[
1,2,
3;4,
5,6;
7,8,
9]rot90
(b)% 等價於rot90
(b,1
),矩陣逆時針旋轉90度
rot90
(b,1
)% 等價於rot90
(b)rot90
(b,2
)% 矩陣逆時針旋轉90*2
=180度
% 矩陣翻轉
%fliplr
(a):對矩陣a實施左右翻轉。(lr: left right)
fliplr
(b)%
flipud
(a):對矩陣a實施上下翻轉。( ud : up down)
flipud
(b)% eg 驗證魔方陣的主對角線 副對角線 元素之和相等
a=magic(5
)d1=
diag
(a)% 得到的是主對角線組成的列向量
sum(d1)
% 主對角線元素之和
flipud
(a)d2=
diag
(flipud
(a))
%對矩陣 a進行上下翻轉,這樣副對角線就變成了主對角線
sum(d2)
% 副對角線元素之和
% 矩陣求逆
% 定義:對於乙個方陣a,如果存在乙個與其同階的方陣b,使
% 得ab=ba=i (i為單位矩陣),則稱b為a的逆矩陣,當然,
% a也是b的逆矩陣。
%inv
(a) 求方陣的逆矩陣
% eg 用逆矩陣求解線性方程組
% x+
2y+3z=
5% x+
4y+9z=-2
% x+
8y+27z=
6% 等價於 a*
[x,y,z]
^t=[5,
-2,6
]^t% a=[1
,2,3
;1,4
,9;1
,8,27
] 是x,y,z 前面引數組成的矩陣
% 且 a*
[x,y,z]
^t=[5,
-2,6
]^t 滿足 [3*
3]*[
3*1]
==[3*
1] 的矩陣乘法運算
% 所以 求 [x,y,z] 只需要左乘 a的逆就可以進行求解
% matlab 實現a=[
1,2,
3;1,
4,9;
1,8,
27]b=[
5;-2
;6]% 是乙個 3
*1 的列向量(注:不要生成了 行向量)
x=inv
(a)*b % 等價 x=a\b 讀法: a左除b
x=a\b % 等價 x=
inv(a)
*b 讀法 b 乘以 a的逆
慕課(第二章)
線性結構 線性結構是乙個有序資料元素的集合。常用的線性結構有 線性表,棧,佇列,雙佇列,串。關於廣義表 陣列,是一種非線性的資料結構。常見的非線性結構有 二維陣列,多維陣列,廣義表,樹 二叉樹等 分類 資料結構課程中資料的邏輯結構分為線性結構和非線性結構。對於資料結構課程而言,簡單地說,線性結構是n...
慕課matlab學習 第二章 011 稀疏矩陣
第二節 矩陣變換 稀疏矩陣 矩陣的儲存方式 1 完全儲存方式 2 稀疏儲存方式 稀疏儲存方式只儲存矩陣的非零元素的值及其位置,即行號和列號。注意,採用稀疏儲存方式時,矩陣元素的儲存順序並沒有改變,也是按列的順序進行儲存。1 完全儲存方式與稀疏儲存方式之間的轉化 a sparse s 將矩陣s轉化為稀...
matlab學習筆記第二章 矩陣
1.我們可以在陣列上進行左除和右除。這時陣列元素與元素匹配相除,因此兩陣列必須等大。例如,我們用 讓matlab進行陣列右除 a 2 4 6 8 b 2 2 3 1 c a b c 1 2 2 8 2.要建立n n的單位矩陣,輸入matlab命令 eye n 要建立n n的零矩陣,我們輸入zeros...