matlab 矩阵扩展:padarray

2022-10-06 14:18:25

B = padarray(A,padsize,padval,direction)

padsize:[r,c] 表示扩展的行数和列数
padval: 扩展模式(如果不设置该参数,默认值为补零)。
          ‘symmetric’:矩阵通过边界进行镜像反射来扩展;
          ‘replicate’矩阵通过复制外边界中的值来扩展;
          ‘circular’ 将矩阵看成是一个二维周期函数的一个周期来进行扩展。
direction: (如果不设置该参数,默认值为’both’)
          'pre’表示在每一维的第一个元素前填充;
          'post’表示在每一维的最后一个元素后填充;
          'both’表示在每一维的第一个元素前和最后一个元素后填充,此项为默认值。

实例

X=magic(5)

17    24     1     8    15
23     5     7    14    16
 4     6    13    20    22
10    12    19    21     3
11    18    25     2     9

padarray(X, [0 1])

ans =

 0    17    24     1     8    15     0
 0    23     5     7    14    16     0
 0     4     6    13    20    22     0
 0    10    12    19    21     3     0
 0    11    18    25     2     9     0

padarray(X, [1 1])

ans =

 0     0     0     0     0     0     0
 0    17    24     1     8    15     0
 0    23     5     7    14    16     0
 0     4     6    13    20    22     0
 0    10    12    19    21     3     0
 0    11    18    25     2     9     0
 0     0     0     0     0     0     0

padarray(X, [2 2], ‘symmetric’)

ans =

 5    23    23     5     7    14    16    16    14
24    17    17    24     1     8    15    15     8
24    17    17    24     1     8    15    15     8
 5    23    23     5     7    14    16    16    14
 6     4     4     6    13    20    22    22    20
12    10    10    12    19    21     3     3    21
18    11    11    18    25     2     9     9     2
18    11    11    18    25     2     9     9     2
12    10    10    12    19    21     3     3    21

padarray(X, [2 2], ‘replicate’)

ans =

17    17    17    24     1     8    15    15    15
17    17    17    24     1     8    15    15    15
17    17    17    24     1     8    15    15    15
23    23    23     5     7    14    16    16    16
 4     4     4     6    13    20    22    22    22
10    10    10    12    19    21     3     3     3
11    11    11    18    25     2     9     9     9
11    11    11    18    25     2     9     9     9
11    11    11    18    25     2     9     9     9

padarray(X, [2 2], ‘circular’)

ans =

21     3    10    12    19    21     3    10    12
 2     9    11    18    25     2     9    11    18
 8    15    17    24     1     8    15    17    24
14    16    23     5     7    14    16    23     5
20    22     4     6    13    20    22     4     6
21     3    10    12    19    21     3    10    12
 2     9    11    18    25     2     9    11    18
 8    15    17    24     1     8    15    17    24
14    16    23     5     7    14    16    23     5
  • 作者:阿萨德129
  • 原文链接:https://blog.csdn.net/baixiaodong129/article/details/102883196
    更新时间:2022-10-06 14:18:25