Matlab自学笔记七:矩阵元素的合并、连接、提取、翻转、排序、平铺复制、提取对角线元素

目录

1. 基本连接符[]

2.水平连接和垂直连接的函数

3.平铺复制的函数

4.矩阵元素的提取

5.提取矩阵对角线元素

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

7.元素重排

8.排序

9. 翻转

End


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

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)  %矩阵上下翻转

10.相关视频(推荐)

(建议进入bilibili平台播放,视频画质更佳)

Matlab基础入门/1.11/重塑矩阵/元素重排/旋转/翻转/移位/排序/这可是矩阵的72变不容小觑!

1.10/Matlab矩阵元素的修改/添加/删除/很多小白云里雾里

End

你可能感兴趣的:(矩阵,线性代数,matlab,数据结构)