
点击箭头处“蓝色字”,关注我们哦!!

Matlab串联矩阵函数【horzcat】详细解析。对其语法、输入的参数进行详细讲解,同时会根据实例进行演示,最后也会列出在使用过程中可能会出现的问题。
记得点赞加关注一起happy哈~~~~~

语法

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 1523 5 7 14 164 6 13 20 22>> B=magic(3)*100B =800 100 600300 500 700400 900 200>> C=[A,B]C =17 24 1 8 15 800 100 60023 5 7 14 16 300 500 7004 6 13 20 22 400 900 200>> D = horzcat(A,B)D =17 24 1 8 15 800 100 60023 5 7 14 16 300 500 7004 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 tableAge Gender___ ______Thomas 5 MGordon 6 MPercy 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 tableHeight 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 tableAge 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 datetime24-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×51 2 5 6 73 4 8 9 10
提示

要通过水平串联字符串、字符向量或字符向量元胞数组来构造文本,请使用 strcat
函数。
要从字符向量元胞数组或字符串数组构造一段带分隔符的文本,请使用 strjoin
函数。

—END—


扫码关注我
一起感悟科学魅力

点分享

点点赞

点在看




