Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
2023.0.0 - Русский


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 — строит матрицы или N-мерные массивы путем репликации данных векторов
  • вставка — частичное присвоение или модификация значения переменной

История

ВерсияОписание
5.3.1 Введена функция repmat.
Report an issue
<< perms Элементарные матрицы squarewave >>

Copyright (c) 2022-2023 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Tue Mar 07 09:28:41 CET 2023