matlab矩阵合并函数

函数名称 基本调用格式 描述
cat cat(DIM,A,B) 在 DIM 指定的维度上合并矩阵 A 和 B。DIM=1 表示按行(竖直方向》合并;DIM-2 表示按列(水平方向)合并
horzcat horzcat(A ,B) 在水平方向上合并知阵 A和 B
vertcat vertcat(A.B) 在竖直方向上合并矩阵 A和 B
repmat B = repmat(A,M,N) 通过复制 MXN 个矩阵 A 来构造新的矩阵 B
blkdiag Y= blkdiag(A,B…) 用已知的 A、B 等多个矩阵构造块对角化矩阵Y,其中Y=[A 0 …… 0; 0 B …… 0; 0 0 …… N]

cat

>> A=[1 2 3;4 5 6]

A =

     1     2     3
     4     5     6

>> B=[7 8;9 0]

B =

     7     8
     9     0
     
>> C=[7 8 9;10 11 12]

C =

     7     8     9
    10    11    12
    
>> cat(1,A,B)
错误使用 cat
要串联的数组的维度不一致。

>> cat(1,A,C)

ans =

     1     2     3
     4     5     6
     7     8     9
    10    11    12

>> cat(2,A,C)

ans =

     1     2     3     7     8     9
     4     5     6    10    11    12

horzcat

% 水平方向合并需要行数一样
>> horzcat(A,B)

ans =

     1     2     3     7     8
     4     5     6     9     0

vertcat

% 垂直方向合并需要列数一样
>> vertcat(A,B)
错误使用 vertcat
要串联的数组的维度不一致。
 
>> vertcat(A,C)

ans =

     1     2     3
     4     5     6
     7     8     9
    10    11    12

repmat

>> repmat(B,3,3)

ans =

     7     8     7     8     7     8
     9     0     9     0     9     0
     7     8     7     8     7     8
     9     0     9     0     9     0
     7     8     7     8     7     8
     9     0     9     0     9     0

blkdiag

>> blkdiag(A,B)

ans =

     1     2     3     0     0
     4     5     6     0     0
     0     0     0     7     8
     0     0     0     9     0

>> blkdiag(A,C)

ans =

     1     2     3     0     0     0
     4     5     6     0     0     0
     0     0     0     7     8     9
     0     0     0    10    11    12

你可能感兴趣的:(Matlab,matlab,矩阵,数学建模)