本文共 1707 字,大约阅读时间需要 5 分钟。
MATLAB 中的 cat
函数是一个强大的工具,用于在指定维度上拼接多个数组。它广泛应用于处理多维数组,允许用户根据需求将多个矩阵或数组按指定维度连接成一个新的数组。
C = cat(dim, A, B, C, ...)
dim = 1
表示沿着行方向(垂直拼接)。dim = 2
表示沿着列方向(水平拼接)。dim = 3
表示沿着第三个维度拼接(适用于三维数组)。当 dim = 1
时,函数会将数组沿行方向拼接。例如:
A = [1, 2, 3];B = [4, 5, 6];C = cat(1, A, B);
1x3
行向量。2x3
矩阵:C = 1 2 3 4 5 6
当 dim = 2
时,函数会将数组沿列方向拼接。例如:
A = [1; 2; 3];B = [4; 5; 6];C = cat(2, A, B);
3x1
列向量。3x2
矩阵:C = 1 4 2 5 3 6
当 dim = 3
时,函数会将矩阵沿第三个维度拼接。例如:
A = rand(2, 3);B = rand(2, 3);C = cat(3, A, B);
2x3
矩阵。2x3x2
三维数组:C(:,:,1) % A C(:,:,2) % B
可以一次性拼接多个矩阵。例如:
A = [1, 2; 3, 4];B = [5, 6; 7, 8];C = [9, 10; 11, 12];D = cat(1, A, B, C);
6x2
矩阵:D = 1 2 3 4 5 6 7 8 9 10 11 12
cat 函数不仅适用于矩阵,还支持拼接表和时间表。例如:
A = table([1; 2], [3; 4], 'VariableNames', {'Var1', 'Var2'}); B = table([5; 6], [7; 8], 'VariableNames', {'Var1', 'Var2'}); C = cat(1, A, B);
可以将矩阵存储在元胞数组中,然后进行拼接。例如:
M1 = [1 2; 3 4];M2 = [5 6; 7 8];A1 = {M1, M2}; Cvert = cat(1, A1{:}); % 垂直拼接
4x2
矩阵:Cvert = 1 2 3 4 5 6
Chorz = cat(2, A1{:}); % 水平拼接
2x4
矩阵:Chorz = 1 2 5 6 3 4 7 8
MATLAB 中的 cat 函数是一个强大而灵活的工具,能够根据需求将多个数组在指定维度上拼接成一个新的数组。通过合理选择 dim 参数,可以灵活地处理多维数组、表和时间表等数据结构,满足各种应用场景。
转载地址:http://puyfk.baihongyu.com/