目录
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矩阵元素的修改/添加/删除/很多小白云里雾里