美文网首页
Matlab串联矩阵函数【horzcat】详细解析

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

作者: 奈何缘浅wyj | 来源:发表于2020-10-12 19:32 被阅读0次

语法

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秋招】 即可获取相应的惊喜哦!

「❤️ 感谢大家」

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

相关文章

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

    语法 输入参数 A - 第一个输入 标量 | 向量 | 矩阵 | 多维数组 | 表 | 时间表第一个输入,指定为标...

  • Matlab 打印函数

    Matlab 打印函数: Matlab中plot函数全功能解析 功能二维曲线绘图 语法 plot(Y)plot(X...

  • 「转载」MATLAB tutorial

    MATLAB命令大全和矩阵操作大全一、矩阵的表示在MATLAB中创建矩阵有以下规则: a、矩阵元素必须在”[ ]”...

  • sum / reshape

    2018-05-06 matlab 矩阵中元素相加函数 a=sum(A) %列求和b=sum(A,2) %行求和...

  • size函数

    matlab中size函数总结 size(A)函数是用来求矩阵的大小的。 比如说一个A是一个3×4的二维矩阵: 1...

  • Matlab图像操作相关

    图像显示 Matlab中image、imagesc和imshow函数用法解析 图像几何处理

  • MATLAB sort 函数的 OpenCV 实现

    在 MATLAB 里,返回排序后的矩阵以及对应原矩阵的索引是在 sort 一个函数搞定,但在 OpenCV 中,其...

  • CV预备(二): im2col与col2im

    目录 前言 im2col col2im 最后 前言 Matlab矩阵处理的函数真的是太多了, 这里来看两个矩阵重排...

  • MATLAB计算转移矩阵源代码

    如何用MATLAB计算转移矩阵 如何用MATLAB计算马尔科夫矩阵 如何用MATLAB实现马尔科夫过程 这些都是一...

  • MATLAB向量化编程

    MATLAB( matrix laboratory):一切皆矩阵。MATLAB以矩阵为基本元素,向量化编程(或者称...

网友评论

      本文标题:Matlab串联矩阵函数【horzcat】详细解析

      本文链接:https://www.haomeiwen.com/subject/pgyppktx.html