Matlab串联矩阵函数【horzcat】详细解析

语法

C = horzcat(A,B)
C = horzcat(A1,A2,…,An)

输入参数

A - 第一个输入

标量 | 向量 | 矩阵 | 多维数组 | 表 | 时间表
第一个输入,指定为标量、向量、矩阵、多维数组、表或时间表。

B - 第二个输入

标量 | 向量 | 矩阵 | 多维数组 | 表 | 时间表
第二个输入,指定为标量、向量、矩阵、多维数组、表或时间表。

B 的元素沿第二个维度串联到第一个输入的末尾。输入参数的大小必须兼容。例如,如果第一个输入是大小为 3×2 的矩阵,则 B 必须有 3 行。

所有表输入必须有唯一的变量名称。如果有行名称,则它们必须完全相同(顺序除外)。

所有时间表输入必须具有相同的行时间,且每个列必须具有不同名称。

A1,A2,…,An - 输入列表

逗号分隔的列表

输入的列表,指定为以逗号分隔的列表,列表元素将按其在列表中的顺序串联。

输入必须具有兼容的大小。例如,如果 A1 是长度为 m 的列向量,则其余输入必须各有 m 行才能水平串联。

所有表输入必须有唯一的变量名称。如果有行名称,则它们必须完全相同(顺序除外)。

所有时间表输入必须具有相同的行时间,且每个列必须具有不同名称。

说明

当 A 和 B 具有兼容的大小时(除第二个维度以外,其余维度的长度均需匹配),C = horzcat(A,B) 将 B 水平串联到 A 的末尾。

C = horzcat(A1,A2,…,An) 水平串联 A1、A2、…、An。

horzcat 等效于使用方括号水平串联数组。例如,当 A 和 B 是兼容数组时,[A,B] 或 [A B] 等于 horzcat(A,B)。

实例

两个矩阵

创建两个矩阵并水平串联它们 - 首先使用方括号表示法串联,然后使用 horzcat 串联。

>> A=magic(5);
>> A(4:5,:)=[]

A =

    17    24     1     8    15
    23     5     7    14    16
     4     6    13    20    22

>> B=magic(3)*100

B =

   800   100   600
   300   500   700
   400   900   200

>> C=[A,B]

C =

    17    24     1     8    15   800   100   600
    23     5     7    14    16   300   500   700
     4     6    13    20    22   400   900   200

>> D = horzcat(A,B)

D =

    17    24     1     8    15   800   100   600
    23     5     7    14    16   300   500   700
     4     6    13    20    22   400   900   200

>> 

两个表

创建一个带有三行和两个变量的表 A。

>> A = table([5;6;5],['M';'M';'M'],...
    'VariableNames',{'Age' 'Gender'},...
    'RowNames',{'Thomas' 'Gordon' 'Percy'})

A=3×2 table
              Age    Gender
              ___    ______

    Thomas     5       M   
    Gordon     6       M   
    Percy      5       M   

创建一个带有三行和三个变量的表 B。

>> B = table([45;41;40],[45;32;34],{'NY';'CA';'MA'},...
    'VariableNames',{'Height' 'Weight' 'Birthplace'},...
    'RowNames',{'Percy' 'Gordon' 'Thomas'})

B=3×3 table
              Height    Weight    Birthplace
              ______    ______    __________

    Percy       45        45        {'NY'}  
    Gordon      41        32        {'CA'}  
    Thomas      40        34        {'MA'}  

然后水平串联 A 和 B。C 中的行顺序与 A 中的顺序相匹配。

>> C = horzcat(A,B)

C=3×5 table
              Age    Gender    Height    Weight    Birthplace
              ___    ______    ______    ______    __________

    Thomas     5       M         40        34        {'MA'}  
    Gordon     6       M         41        32        {'CA'}  
    Percy      5       M         45        45        {'NY'}  

具有不同类型的日期

将日期字符向量、字符串日期和日期时间串联成一个日期行。结果是一个日期时间行向量。

>> chardate = '2020-03-24';
>> strdate = "2020-04-19";
>> t = datetime('2020-05-10','InputFormat','yyyy-MM-dd');
>> C = horzcat(chardate,strdate,t)

C = 1x3 datetime
   24-Mar-2020   19-Apr-2020   10-May-2020

字符串数组

将三个字符串数组串联成一个数组。

>> A1 = ["str1"; "str2"];
>> A2 = ["str3"; "str4"];
>> A3 = ["str5"; "str6"];
>> C = horzcat(A1,A2,A3)

C = 2x3 string
    "str1"    "str3"    "str5"
    "str2"    "str4"    "str6"

元胞数组中的矩阵

创建一个包含两个矩阵的元胞数组。将元胞数组中的矩阵水平串联成一个矩阵。

>> M1 = [1 2; 3 4];
>> M2 = [5 6 7; 8 9 10];
>> A1 = {M1,M2};
>> C = horzcat(A1{:})

C = 2×5

     1     2     5     6     7
     3     4     8     9    10

提示

要通过水平串联字符串、字符向量或字符向量元胞数组来构造文本,请使用 strcat 函数。

从字符向量元胞数组或字符串数组构造一段带分隔符的文本,请使用 strjoin 函数。

资源传送门

  1. 关注【==做一个柔情的程序猿==】公众号
  2. 在【==做一个柔情的程序猿==】公众号后台回复 【python资料】【2020秋招】 即可获取相应的惊喜哦!
  3. 「❤️ 感谢大家」

  4. 点赞支持下吧,让更多的人也能看到这篇内容(收藏不点赞,都是耍流氓 -_-)
  5. 欢迎在留言区与我分享你的想法,也欢迎你在留言区记录你的思考过程。

   转载规则


《Matlab串联矩阵函数【horzcat】详细解析》 梦魇回生 采用 知识共享署名 4.0 国际许可协议 进行许可。
 上一篇
数学评价模型(一):层次分析法 数学评价模型(一):层次分析法
层次分析法(Analytic Hierarchy Process,简称 AHP)是对一些较为复杂、较为模糊的问题作出决策的简易方法,它特别适用于那些难于完全定量分析的问题。它是美国运筹学家 T. L. Saaty 教授于上世纪 70 年代初期提出的一种简便、灵活而又实用的多准则决策方法。
2020-12-08
下一篇 
数据分析模型(二):模糊聚类分析方法及实例(附完整代码) 数据分析模型(二):模糊聚类分析方法及实例(附完整代码)
聚类分析方法是数理统计中研究“物以类聚”的一种多元分析方法,及用数学定量地确定样品的亲疏关系,从而客观地分型化类。由于事物本身在很多情况下都带有模糊性,因此把模糊数学方法引入聚类分析,能使分类更切合实际。我们所应用的模糊聚类方法是基于模糊相似关系上的模糊聚类法,又称系统聚类法。
2020-12-05
  目录