matlab矩阵合并函数

该文介绍了MATLAB中用于矩阵合并的函数,如cat用于按行或列合并,horzcat和vertcat分别进行水平和垂直拼接,repmat用于复制矩阵,以及blkdiag用于构建块对角矩阵。示例展示了不同函数的使用方法和注意事项,强调了数组维度一致性的重要性。
摘要由CSDN通过智能技术生成
函数名称基本调用格式描述
catcat(DIM,A,B)在 DIM 指定的维度上合并矩阵 A 和 B。DIM=1 表示按行(竖直方向》合并;DIM-2 表示按列(水平方向)合并
horzcathorzcat(A ,B)在水平方向上合并知阵 A和 B
vertcatvertcat(A.B)在竖直方向上合并矩阵 A和 B
repmatB = repmat(A,M,N)通过复制 MXN 个矩阵 A 来构造新的矩阵 B
blkdiagY= 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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值