语法
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
函数。
资源传送门
- 关注【做一个柔情的程序猿】公众号
- 在【做一个柔情的程序猿】公众号后台回复 【python资料】【2020秋招】 即可获取相应的惊喜哦!
「❤️ 感谢大家」
- 点赞支持下吧,让更多的人也能看到这篇内容(收藏不点赞,都是耍流氓 -_-)
- 欢迎在留言区与我分享你的想法,也欢迎你在留言区记录你的思考过程。