Repetir copias de un arreglo (2024)

Table of Contents
Sintaxis Descripción Ejemplos Inicializar una matriz con un mismo valor del elemento Formato de bloque cuadrado Formato de bloque rectangular Arreglo de bloque 3D Pila vertical de vectores fila Pila horizontal de vectores columna Formato de bloque tabular Combinar elementos de vectores Argumentos de entrada A — Arreglo de entrada escalar | vector | matriz | arreglo multidimensional n — Número de veces que repetir un arreglo de entrada en las dimensiones de fila y de columna valor entero r1,...,rN — Factores de repetición para cada dimensión (como argumentos separados) valores enteros r — Vector de factores de repetición para cada dimensión (como vector fila) valores enteros Sugerencias Capacidades ampliadas Arreglos altos Realice cálculos con arreglos que tienen más filas de las que caben en la memoria. Generación de código C/C++Genere código C y C++ mediante MATLAB® Coder™. Generación de código de GPU Genere código CUDA® para GPU NVIDIA® mediante GPU Coder™. Generación de código HDL Genere código VHDL, Verilog y SystemVerilog para diseños FPGA y ASIC mediante HDL Coder™. Entorno basado en subprocesosEjecute código en segundo plano con MATLAB® backgroundPool o acelere código con Parallel Computing Toolbox™ ThreadPool. Arreglos GPUAcelere código mediante la ejecución en una unidad de procesamiento gráfico (GPU) mediante Parallel Computing Toolbox™. Arreglos distribuidosRealice particiones de arreglos grandes por toda la memoria combinada de su cluster mediante Parallel Computing Toolbox™. Historial de versiones R2019b: Algunos argumentos de repetición provocan errores Consulte también Comando de MATLAB Americas Europe Asia Pacific References

Repetir copias de un arreglo

contraer todo en la página

Sintaxis

B = repmat(A,n)

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

B = repmat(A,r)

Descripción

ejemplo

B = repmat(A,n) devuelve un arreglo que contiene n copias de A en las dimensiones de fila y de columna. El tamaño de B es size(A)*n cuando A es una matriz.

ejemplo

B = repmat(A,r1,...,rN) especifica una lista de escalares, r1,..,rN, que describe cómo se disponen las copias de A en cada dimensión. Cuando A tiene N dimensiones, el tamaño de B es size(A).*[r1...rN]. Por ejemplo, repmat([1 2; 3 4],2,3) devuelve una matriz de 4 por 6.

ejemplo

B = repmat(A,r) especifica el esquema de repetición con el vector fila r. Por ejemplo, repmat(A,[2 3]) devuelve el mismo resultado que repmat(A,2,3).

Ejemplos

contraer todo

Inicializar una matriz con un mismo valor del elemento

Abrir script en vivo

Cree una matriz de 3 por 2 cuyos elementos contengan el valor 10.

A = repmat(10,3,2)
A = 3×2 10 10 10 10 10 10

Formato de bloque cuadrado

Abrir script en vivo

Repita copias de una matriz en una disposición de bloque de 2 por 2.

A = diag([100 200 300])
A = 3×3 100 0 0 0 200 0 0 0 300
B = repmat(A,2)
B = 6×6 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

Formato de bloque rectangular

Abrir script en vivo

Repita copias de una matriz en una disposición de bloque de 2 por 3.

A = diag([100 200 300])
A = 3×3 100 0 0 0 200 0 0 0 300
B = repmat(A,2,3)
B = 6×9 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

Arreglo de bloque 3D

Abrir script en vivo

Repita copias de una matriz en una disposición de bloque de 2 por 3 por 2.

A = [1 2; 3 4]
A = 2×2 1 2 3 4
B = repmat(A,[2 3 2])
B = 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 4B(:,:,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

Pila vertical de vectores fila

Abrir script en vivo

Apile verticalmente un vector fila cuatroveces.

A = 1:4;B = repmat(A,4,1)
B = 4×4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4

Pila horizontal de vectores columna

Abrir script en vivo

Apile horizontalmente un vector columna cuatroveces.

A = (1:3)'; B = repmat(A,1,4)
B = 3×4 1 1 1 1 2 2 2 2 3 3 3 3

Formato de bloque tabular

Abrir script en vivo

Cree una tabla con variables Age y Height.

A = table([39; 26],[70; 63],'VariableNames',{'Age' 'Height'})
A=2×2 table Age Height ___ ______ 39 70 26 63 

Repita copias de la tabla en un formato de bloque de 2 por 3.

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 repite las entradas de la tabla y anexa un número a los nuevos nombres de variable.

Combinar elementos de vectores

Abrir script en vivo

Cree dos vectores columna.

A = [1; 3; 5];B = [2; 4];

Genere combinaciones de todos los elementos de los dos vectores mediante repelem y repmat. Cada fila de la salida T es una combinación con el primer elemento procedente del primer vector y el segundo elemento procedente del segundo vector. Este comando equivale a encontrar el producto cartesiano de dos vectores.

T = [repelem(A,numel(B)) repmat(B,numel(A),1)]
T = 6×2 1 2 1 4 3 2 3 4 5 2 5 4

A partir de la versión R2023a, también puede utilizar la función combinations para generar todas las combinaciones de elementos de dos vectores.

T = combinations(A,B)
T=6×2 table A B _ _ 1 2 1 4 3 2 3 4 5 2 5 4

Argumentos de entrada

contraer todo

AArreglo de entrada
escalar | vector | matriz | arreglo multidimensional

Arreglo de entrada, especificado como escalar, vector, matriz o arreglo multidimensional.

Tipos de datos: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | string | struct | table | datetime | duration | calendarDuration | categorical | cell
Soporte de números complejos:

nNúmero de veces que repetir un arreglo de entrada en las dimensiones de fila y de columna
valor entero

Número de veces que repetir un arreglo de entrada en las dimensiones de fila y de columna, especificado como valor entero. Si n es 0 o negativo, el resultado es un arreglo vacío.

Tipos de datos: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

r1,...,rNFactores de repetición para cada dimensión (como argumentos separados)
valores enteros

Factores de repetición para cada dimensión, especificados como argumentos separados de valores enteros. Si cualquier factor de repetición es 0 o negativo, el resultado es un arreglo vacío.

Tipos de datos: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

rVector de factores de repetición para cada dimensión (como vector fila)
valores enteros

Vector de factores de repetición para cada dimensión, especificado como vector fila de valores enteros. Si cualquier valor de r es 0 o negativo, el resultado es un arreglo vacío.

Tipos de datos: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Sugerencias

  • Para construir arreglos de bloque formando el producto tensorial de la entrada con un arreglo de unos, utilice kron. Por ejemplo, para apilar el vector fila A = 1:3 cuatroveces verticalmente, puede utilizar B = kron(A,ones(4,1)).

  • Para crear arreglos de bloque y ejecutar una operación binaria en un único paso, utilice bsxfun. En algunos casos, bsxfun ofrece una solución más sencilla y más eficiente en el uso de la memoria. Por ejemplo, para añadir los vectores A = 1:5 y B = (1:10)' a fin de producir un arreglo de 10 por 5, utilice bsxfun(@plus,A,B) en lugar de repmat(A,10,1) + repmat(B,1,5).

  • Cuando A es un escalar de un tipo determinado, puede utilizar otras funciones para obtener el mismo resultado que repmat.

    sintaxis repmatAlternativa equivalente
    repmat(NaN,m,n)NaN(m,n)
    repmat(single(inf),m,n)inf(m,n,'single')
    repmat(int8(0),m,n)zeros(m,n,'int8')
    repmat(uint32(1),m,n)ones(m,n,'uint32')
    repmat(eps,m,n)eps(ones(m,n))

Capacidades ampliadas

Generación de código HDL
Genere código VHDL, Verilog y SystemVerilog para diseños FPGA y ASIC mediante HDL Coder™.

Esta función es totalmente compatible con los arreglos de GPU. Para obtener más información, consulte Run MATLAB Functions on a GPU (Parallel Computing Toolbox).

Esta función es totalmente compatible con los arreglos distribuidos. Para obtener más información, consulte Run MATLAB Functions with Distributed Arrays (Parallel Computing Toolbox).

Historial de versiones

Introducido antes de R2006a

expandir todo

Consulte también

bsxfun | kron | repelem | reshape | resize | paddata | meshgrid | ndgrid

Comando de MATLAB

Ha hecho clic en un enlace que corresponde a este comando de MATLAB:

 

Ejecute el comando introduciéndolo en la ventana de comandos de MATLAB. Los navegadores web no admiten comandos de MATLAB.

Repetir copias de un arreglo (1)

Select a Web Site

Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .

You can also select a web site from the following list:

Americas

  • América Latina (Español)
  • Canada (English)
  • United States (English)

Europe

  • Belgium (English)
  • Denmark (English)
  • Deutschland (Deutsch)
  • España (Español)
  • Finland (English)
  • France (Français)
  • Ireland (English)
  • Italia (Italiano)
  • Luxembourg (English)
  • Netherlands (English)
  • Norway (English)
  • Österreich (Deutsch)
  • Portugal (English)
  • Sweden (English)
  • Switzerland
    • Deutsch
    • English
    • Français
  • United Kingdom (English)

Asia Pacific

Contact your local office

Repetir copias de un arreglo (2024)

References

Top Articles
Latest Posts
Article information

Author: Moshe Kshlerin

Last Updated:

Views: 5549

Rating: 4.7 / 5 (57 voted)

Reviews: 80% of readers found this page helpful

Author information

Name: Moshe Kshlerin

Birthday: 1994-01-25

Address: Suite 609 315 Lupita Unions, Ronnieburgh, MI 62697

Phone: +2424755286529

Job: District Education Designer

Hobby: Yoga, Gunsmithing, Singing, 3D printing, Nordic skating, Soapmaking, Juggling

Introduction: My name is Moshe Kshlerin, I am a gleaming, attractive, outstanding, pleasant, delightful, outstanding, famous person who loves writing and wants to share my knowledge and understanding with you.