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)

# 另请参阅

cat | vcat | hcat