MATLAB知识点:矩阵的拼接和重复
创始人
2024-12-27 14:38:50
0

​讲解视频:可以在bilibili搜索《MATLAB教程新手入门篇——数学建模清风主讲》。​

MATLAB教程新手入门篇(数学建模清风主讲,适合零基础同学观看)_哔哩哔哩_bilibili


节选自第3章 3.3.4 矩阵的拼接和重复

有时候我们需要对多个矩阵进行拼接,变成一个大的矩阵。根据矩阵拼接的方向,我们可以分为横向(水平)拼接和纵向(垂直)拼接,如下图所示:

如上图所示:横向拼接要求矩阵的行数相同;纵向拼接要求矩阵的列数相同。

在MATLAB中,我们可以使用命令[A, B] 或 [A  B]对矩阵A和B进行横向拼接,也可以使用MATLAB中的内置函数:horzcat(A,B);类似的,我们可以使用命令[A; B]对矩阵A和B进行纵向拼接,也可以使用MATLAB中的内置函数:vertcat(A,B)。

事实上,horzcat和vertcat两个函数来源自cat函数,这里的cat不是猫的意思,而是单词catenate的缩写,可以翻译成连接。

cat函数的用法如下:

命令cat(dim,A,B)表示沿着维度dim方向将矩阵B拼接到矩阵A的末尾。

  • dim = 1时表示沿着行方向从上往下进行拼接,即纵向拼接,因此cat(1,A,B)等价于vertcat(A,B);

  • dim = 2时表示沿着列方向从左自右进行拼接,即横向拼接,因此cat(2,A,B)等价于horzcat(A,B)。

(horzcat函数中的horz取自英文单词horizontal,表示水平的意思;vertcat函数中的vert取自英文单词vertical,表示竖直的意思)

总结:若A和B的行数相同,那么使用[A, B]、[A  B]、horzcat(A,B)以及cat(2,A,B)都能将A和B横向拼接成一个大的矩阵;若A和B的列数相同,那么使用[A; B]、vertcat(A,B)以及cat(1,A,B)都能将A和B纵向拼接成一个大的矩阵。

下面举几个例子:

(1)    横向拼接的例子

(2)    纵向拼接的例子

(3)    拼接时维度不一致导致的报错

如果横向拼接时矩阵的行数不相同,或者纵向拼接矩阵的列数不相同,那么MATLAB就会报错。

注意,如果要拼接的矩阵的个数大于2,也能使用上面的方法进行拼接,请看下面的例子:

除了对矩阵进行拼接外,有时候我们需要对同一个矩阵进行重复的堆叠。如下图所示,我们将矩阵A重复堆叠m×n次,得到一个新的矩阵:

在MATLAB中,对同一个矩阵进行重复的堆叠的代码为repmat(A,m,n)

(如何记住repmat这个函数?  repeat表示重复,matrix表示矩阵)

我们举两个例子:

除了对整个矩阵进行重复的堆叠外,MATLAB还可以对向量或者矩阵中的元素进行重复,使用到的函数是repelem(如何记住repelem: repeat重复 + element元素)

repelem函数有两种用法:

(1)    重复向量v中的元素:repelem(v, n)

当n为一个正整数时,表示把向量v中的每一个元素都重复n次;n也可以为一个向量,其长度必须和v的长度相同,它可以将v中第i个位置的元素v(i)重复n(i)次,其中n(i)表示n中第i个位置的元素。

(2)    重复矩阵A中的元素:repelem(A,m,n)

m和n分别表示沿着行方向(从上至下)以及沿着列方向(从左至右)将矩阵元素重复的次数,这里的m和n可以是正整数,也可以是向量。如果m是向量,则m的长度要和矩阵A的行数相同;如果n是向量,则n的长度要和矩阵A的列数相同。

相关内容

热门资讯

记者发布!微乐河南麻将辅助io... 记者发布!微乐河南麻将辅助ios,天天炫斗辅助工具,先前有开挂辅助神器(真的有挂)这是一款可以让一直...
透视代打!wejoker辅助机... >>您好:hhpoker俱乐部是干嘛的确实是有挂的,很多玩家在这款hhpoker俱乐部是干嘛的游戏中...
热点推荐!中至赣牌圈有没有辅助... 热点推荐!中至赣牌圈有没有辅助,约战沙城挂机辅助,教会开挂辅助插件(有挂技术);无需打开直接搜索薇:...
揭秘几款!温州茶苑辅助软件,威... 揭秘几款!温州茶苑辅助软件,威信茶馆免费辅助器,固有有开挂辅助平台(有挂方针) 了解更多开挂安装加(...
透视游戏!aa poker辅助... 透视游戏!aa poker辅助,微乐小程序黑科技免费(详细教程辅助神器) 了解更多开挂安装加(136...
盘点一款!约局吧辅助辅助外开挂... 多乐跑得私人房间作弊视频开挂教程视频分享装挂详细步骤在当今的网络游戏中,多乐跑得私人房间作弊视频作为...
一起来探讨!钱塘十三水透视卦,... 一起来探讨!钱塘十三水透视卦,友友联盟免费辅助器,原先有开挂辅助安装(有挂头条)您好:友友联盟免费辅...
透视有挂!德州辅助工具到底怎么... 透视有挂!德州辅助工具到底怎么样,微信小程序游戏破解器(微扑克教程辅助软件)您好:德州辅助工具到底怎...
热门推荐!哈糖大菠萝助手,福建... 您好:福建天天开心辅助工具视频这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多...
我来教教大家!哈糖大菠萝辅助神... 哈糖大菠萝辅助神器是一款专注玩家量身打造的游戏记牌类型软件,在哈糖大菠萝辅助神器这款游戏中我们可以记...