慕課matlab學習 第二章 08 矩陣變換操作

2021-10-08 11:26:02 字數 3820 閱讀 2585

% 第二節 矩陣變換

% 矩陣變換

%主要內容

% 求解 【對角陣】 【三角陣】 【矩陣的轉置】 【矩陣的旋轉】

% 【矩陣的翻轉】 【矩陣求逆】

% 對角矩陣

%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...