repmat дублирование массива и его мозаичное размещение

## Синтаксис

                B = repmat(A, siz)
                B = repmat(A, m)
                B = repmat(A, m, n,...)

## Аргументы

A
  массив любого встроенного типа (логический, числовой, текстовый, ..., cell-массив, структура), любого количества размерностей и любых размеров.

m, n, ...
  целые числа, количество блоков `A` для каждой размерности `B`.

siz
  вектор числа репликаций: `siz=[m,n,..]`.

B
  массив или ND-мерный массив, полученный мозаичным размещением, размерами `[m*size(A,1), n*size(A,2), ..]` или `[siz(1)*size(A,1), siz(2)*size(A,2), ..]`.

## Описание

repmat(A, m) реплицирует и мозаично размещает `m` × `m` копий `A`.

repmat(A, m, n) или repmat(A, [m, n]) реплицирует и мозаично размещает `m` × `n` копий `A`.

repmat(A, m, n, p, ..) является обобщением repmat(A, m, n).

`repmat(…)` расширяет `ones(m,n,..) .*. A` до нечисловых входных `A`.

Определение `repmat(…)` может быть расширено с помощью механизма перегрузки.

## Примеры

    repmat([-1 3 7], 2, 4)

    repmat(int8([1 -2 3; 0 -1  1]), 2, 4, 2)

    b = cat(3, [%f %t %t], [%t %t %f])
    repmat(b, [2 3])

    t = "Scilab"; t(ones(2,4))
    repmat(["Scilab" "Xcos"], 2, 3)

    repmat([1/%s ; 2/(%s+1)], 1, 3)

    --> repmat([-1 3 7], 2, 4)
     ans  =
      -1.   3.   7.  -1.   3.   7.  -1.   3.   7.  -1.   3.   7.
      -1.   3.   7.  -1.   3.   7.  -1.   3.   7.  -1.   3.   7.

    --> repmat(int8([1 -2 3; 0 -1  1]), 2, 4, 2)
     ans  =
    (:,:,1)
      1 -2  3  1 -2  3  1 -2  3  1 -2  3
      0 -1  1  0 -1  1  0 -1  1  0 -1  1
      1 -2  3  1 -2  3  1 -2  3  1 -2  3
      0 -1  1  0 -1  1  0 -1  1  0 -1  1
    (:,:,2)
      1 -2  3  1 -2  3  1 -2  3  1 -2  3
      0 -1  1  0 -1  1  0 -1  1  0 -1  1
      1 -2  3  1 -2  3  1 -2  3  1 -2  3
      0 -1  1  0 -1  1  0 -1  1  0 -1  1

    --> b = cat(3, [%f %t %t], [%t %t %f])
     b  =
    (:,:,1)
      F T T
    (:,:,2)
      T T F

    --> repmat(b, [2 3])
     ans  =
    (:,:,1)
      F T T F T T F T T
      F T T F T T F T T
     (:,:,2)
      T T F T T F T T F
      T T F T T F T T F

    --> t = "Scilab"; t(ones(2,4))
     ans  =
      "Scilab"  "Scilab"  "Scilab"  "Scilab"
      "Scilab"  "Scilab"  "Scilab"  "Scilab"

    --> repmat(["Scilab" "Xcos"], 2, 3)
     ans  =
      "Scilab"  "Xcos"  "Scilab"  "Xcos"  "Scilab"  "Xcos"
      "Scilab"  "Xcos"  "Scilab"  "Xcos"  "Scilab"  "Xcos"

    --> repmat([1/%s ; 2/(%s+1)], 1, 3)
     ans  =
        1     1     1
        -     -     -
        s     s     s

        2     2     2
       ----  ----  ----
       1 +s  1 +s  1 +s

## Смотрите также

- kron
- ndgrid
- вставка

## История

5.3.1 Введена функция repmat.