您現在的位置是:首頁 > 運動

Matlab矩陣運算和操作:合併、連線、提取、翻轉、排序、平鋪複製

由 freexyn自由未知數 發表于 運動2022-10-22
簡介提取矩陣對角線元素函式:diag程式示例如下:a=[1 2 34 5 67 8 9]diag(a)%提取對角線元素,返回[1 5 9]b=[1 2 3]diag(b)%輸入b為向量,則把b看作對角線元素,擴充套件為方陣,非對角線元素預設

對角矩陣diag什麼意思

1。 基本連線符[]

基本連線符:

[]

,就是中括號,可以把兩個矩陣進行合併(也稱為矩陣連線),若水平方向合併,使用逗號分隔,若垂直方向合併,使用分號分隔;

程式示例如下:

a=[1 2;3 4]

b=[5 6;7 8]

[a,b] %

水平連線,返回

[1 2 5 6;3 4 7 8]

[a;b] %

垂直連線,返回

[1 2;3 4;5 6;7 8]

注意,合併方向上的行

/

列數應相同,否則,報錯:矩陣大小不一致,這是初學者常犯之錯誤。

2。連線的函式

水平連線

horzcat

垂直連線

vertcat

程式示例如下:

a=[1 2;3 4]

b=[5 6;7 8]

horzcat(a,b) %

水平連線,結果與上面相同

vertcat(a,b) %

垂直連線,結果與上面相同

3。平鋪複製的函式

平鋪複製

repmat

程式示例如下:

a=[1 2;3 4]

repmat(a,1,3) %

把矩陣

a

看作一個整體,平鋪複製成

1*3

的陣列

repmat(a,3,3) %

平鋪複製成

3*3

的陣列

4。矩陣元素的提取

最實用、直接的方法就是使用矩陣索引進行元素的提取,矩陣索引的用法在我的另一篇文章中有詳細講述:

Matlab矩陣索引詳解:下標索引、線性索引、邏輯索引、超出報錯

5。提取矩陣對角線元素

函式:

diag

程式示例如下:

a=[1 2 3

4 5 6

7 8 9]

diag(a) %

提取對角線元素,返回

[1 5 9]

b=[1 2 3]

diag(b) %

輸入

b

為向量,則把

b

看作對角線元素,擴充套件為方陣,非對角線元素預設

0

Matlab矩陣運算和操作:合併、連線、提取、翻轉、排序、平鋪複製

圖文無關

6。提取上(下)三角形元素

提取上三角形元素

triu

提取下三角形元素

tril

程式示例如下:

a=[1 2 3

4 5 6

7 8 9]

triu(a) %

提取上三角形元素

tril(a) %

提取下三角形元素

tril(a,1) %

新增偏移量引數,

1

表示往右上偏移

1

個位置,再取下三角形矩陣

tril(a,2) %2

表示對角線往右上偏移

2

個位置,再取下三角形矩陣

tril(a,-1) %-1

表示向左下偏移

1

個位置,再取下三角元素

7。元素重排

元素重排

reshape

,重排規則:把原矩陣按列優先重排為新矩陣的大小;

程式示例如下:

a=[1 2 3 4;5 6 7 8] %

建立

2*4

的矩陣

reshape(a,4,2) %

矩陣

a

重排成

4*2

的矩陣

reshape(a,3,3) %

元素數量不一致,報錯

8。排序

排序

sort

程式示例如下:

a=[1 2 3 4;5 6 7 8]

sort(a) %

矩陣元素的列排序:預設升序排列

sort(a,‘descend’) %

降序排列

9。 翻轉

左右翻轉

fliplr

上下翻轉

flipud

程式示例如下:

a=[1 2 3 4;5 6 7 8]

fliplr(a) %

矩陣左右翻轉

flipud(a) %

矩陣上下翻轉

本文相關影片:

Matlab入門:1。11 重塑矩陣

End

推薦文章