2026a
# hvcat
同时垂直和水平连接数组
# 语法
C = hvcat(rows,values...)
# 说明
hvcat(rows,values...)。第一个参数rows指定values拼接数组每行元素个数;或输入各个元素都相等的元组,指定拼接每行元素个数,元组中元素之和应等于values个数示例
hvcat 等效于使用方括号同时垂直和水平串联数组。例如,当 A,B,C 和 D 是兼容数组时,[A B;C D] 等于 hvcat(2,A,B,C,D) 或 hvcat((2,2),A,B,C,D)。
# 示例
拼接标量
第一个参数2指定得到的矩阵每行两个元素,将后续参数按顺序进行拼接
hvcat(2,1,2,3,4,5,6)
ans = 3×2 Matrix{Int64}:
1 2
3 4
5 6
输入元组指定得到标量分布情况
hvcat((2,2,2),1,2,3,4,5,6)
ans = 3×2 Matrix{Int64}:
1 2
3 4
5 6
拼接矩阵
将四个矩阵同时水平垂直拼接起来
A = [1 2;3 4]
B = zeros(Int,2,3)
C = zeros(Int,2,2)
D = [5 6 7;8 9 10]
hvcat(2,A,B,C,D)
ans = 4×5 Matrix{Int64}:
1 2 0 0 0
3 4 0 0 0
0 0 5 6 7
0 0 8 9 10
# 输入参数
rows-指定拼接每行元素个数正整数标量 | 元组
指定拼接后每行元素个数,矩阵等数据视为一个元素
values-待拼接数据标量 | 元组 | 向量 | 矩阵 | 字符 | 字符串 | 结构体
拼接数据,可以为标量、向量、矩阵、多维数组、元组、结构体等。例如,
hvcat(2,1,"Hello",'a',(1,2,3))
ans = 2×2 Matrix{Any}:
1 "Hello"
'a' (1, 2, 3)