MATLAB repmat()函数的使用

MATLAB repmat()函数的使用

一、语法

B = repmat(A,n)
B = repmat(A,r1,...,rN)
B = repmat(A,r)

二、说明

B = repmat(A,n)返回一个数组,该数据在其行维度和列维度包含A的n个副本。A为矩阵时,B大小为size(A)*n。
B = repmat(A,r1,…,rN)指定一个标量列表r1,…, rN,这些标量用于描述A的副本在每个维度中如何排列。当A具有N维时,B的大小为size(A).*[r1…rN]。例如:repmat([1 2; 3 4],2,3)返回一个4x6的矩阵。
B = repmat(A,r)使用行向量r指定重复方案。例如,repmat(A,[2,3])与repmat(A,2,3)返回相同的结果。

三、示例

使用相同的元素初始化矩阵

创建一个所有元素的值均为10的3x2的矩阵。

A = repmat(10, 3, 2)
% 输出
A =

    10    10
    10    10
    10    10
方块格式

将矩阵副本重复到2x2块排列中。

A = diag([100 200 300])
% 输出
A =

   100     0     0
     0   200     0
     0     0   300
B = repmat(A, 2)
% 输出
B =

   100     0     0   100     0     0
     0   200     0     0   200     0
     0     0   300     0     0   300
   100     0     0   100     0     0
     0   200     0     0   200     0
     0     0   300     0     0   300
矩形块格式

将矩阵副本重复到2x3块排列中。

A = diag([100 200 300])
% 输出
A =

   100     0     0
     0   200     0
     0     0   300
B = repmat(A,2,3)
% 输出
B =

   100     0     0   100     0     0   100     0     0
     0   200     0     0   200     0     0   200     0
     0     0   300     0     0   300     0     0   300
   100     0     0   100     0     0   100     0     0
     0   200     0     0   200     0     0   200     0
     0     0   300     0     0   300     0     0   300
三维块数组

将矩阵副本重复到2x2x3块排列中。

A = [1 2; 3 4]
% 输出
A =

     1     2
     3     4
B = repmat(A,[2 3 2])
% 输出
B(:,:,1) =

     1     2     1     2     1     2
     3     4     3     4     3     4
     1     2     1     2     1     2
     3     4     3     4     3     4


B(:,:,2) =

     1     2     1     2     1     2
     3     4     3     4     3     4
     1     2     1     2     1     2
     3     4     3     4     3     4
垂直行向量堆栈

垂直堆叠行向量四次。

A = 1:4;
B = repmat(A,4,1)
% 输出
B =

     1     2     3     4
     1     2     3     4
     1     2     3     4
     1     2     3     4
包含列向量的水平堆栈

水平堆叠列向量四次。

A = (1:3)';
B = repmat(A,1,4)
% 输出
B =

     1     1     1     1
     2     2     2     2
     3     3     3     3
表格块格式

使用Age和Height创建表

A = table([39;26],[70;63],'VariableNames', {'Age' 'Height'})
% 输出
A =

  2×2 table

    Age    Height
    ___    ______

    39       70  
    26       63  

重复表格副本并将其加入到2x3块格式中。

B = repmat(A,2,3)
% 输出
B =

  4×6 table

    Age    Height    Age_1    Height_1    Age_2    Height_2
    ___    ______    _____    ________    _____    ________

    39       70       39         70        39         70   
    26       63       26         63        26         63   
    39       70       39         70        39         70   
    26       63       26         63        26         63   

repmat重复表项,并将一个数字追加到新变量名称后面。

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值