matlab中的repmat

MATLAB repmat()函数的使用 一、语法 B = repmat ( A, n) B = repmat ( A, r1, ... , rN) B = repmat ( A, r) 二、说明 B = repmat(A,n)返回一个数组,该数据在其行维度和列维度包含A的n个副本。A为矩阵时,

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重复表项,并将一个数字追加到新变量名称后面。

知秋君
上一篇 2024-09-01 21:36
下一篇 2024-09-01 21:02

相关推荐