Main Content

Tamaños de arreglos compatibles para operaciones básicas

La mayoría de funciones y operadores binarios (de dos entradas) de MATLAB® admiten arreglos numéricos con tamaños compatibles. Dos entradas tienen tamaños compatibles si, en cualquier dimensión, los tamaños de la dimensión de las entradas son los mismos o uno de ellos es 1. En los casos más sencillos, los tamaños de dos arreglos son compatibles si son exactamente los mismos o si uno es un escalar. MATLAB amplía de manera implícita los arreglos con tamaños compatibles para que tengan el mismo tamaño durante la ejecución de la función u operación elemento por elemento.

Entradas con tamaños compatibles

Entradas en dos dimensiones

Estas son algunas combinaciones de escalares, vectores y matrices con tamaños compatibles:

  • Dos entradas que tienen exactamente el mismo tamaño.

    If A and B are the same size, then the result has the same size.

  • Una entrada es un escalar.

    If A is a matrix and B is a scalar, then the result is the same size as A.

  • Una entrada es una matriz y la otra es un vector columna con el mismo número de filas.

    If A is 4-by-2 and B is 4-by-1, then the result is 4-by-2.

  • Una entrada es un vector columna y la otra es un vector fila.

    If B is 2-by-1 and A is 1-by-3, then the result is 2-by-3.

Arreglos multidimensionales

Todos los arreglos de MATLAB tienen dimensiones finales de tamaño 1. En arreglos multidimensionales, esto significa que una matriz de 3 por 4 es lo mismo que una matriz de tamaño 3 por 4 por 1 por 1 por 1. Algunos ejemplos de arreglos multidimensionales con tamaños compatibles son:

  • Una entrada es una matriz y la otra es un arreglo 3D con el mismo número de filas y columnas.

    If A is 3-by-4 and B is 3-by-4-by-2, then the result is 3-by-4-by-2.

  • Una entrada es una matriz y la otra es un arreglo 3D. Las dimensiones son todas las mismas o una de ellas es 1.

    If A is 4-by-3 and B is 1-by-3-by-3, then the result is 4-by-3-by-3.

Arreglos vacíos

Las reglas son las mismas para los arreglos vacíos o los arreglos con un tamaño de dimensión de cero. El tamaño de la dimensión que no es igual a 1 determina el tamaño de la salida. Esto significa que las dimensiones con un tamaño de cero deben emparejarse con una dimensión de tamaño 1 o 0 en el otro arreglo y que la salida tiene un tamaño de dimensión de 0.

     A: 1-by-0     
     B: 3-by-1
Result: 3-by-0

Entradas con tamaños incompatibles

Las entradas incompatibles tienen tamaños que no se pueden ampliar de manera implícita para que sean del mismo tamaño. Por ejemplo:

  • Uno de los tamaños de la dimensión no es igual ni es 1.

    A: 3-by-2
    B: 4-by-2
  • Dos vectores fila no escalares con longitudes que no son las mismas.

    A: 1-by-3
    B: 1-by-4

Ejemplos

Restar un vector de una matriz

Para simplificar las operaciones de matrices y vectores, utilice la ampliación implícita con funciones dimensionales como sum, mean, min y otras.

Por ejemplo, calcule el valor medio de cada columna de una matriz y, después, reste el valor medio de cada elemento.

A = magic(3)
A =

     8     1     6
     3     5     7
     4     9     2
C = mean(A)
C =

     5     5     5
A - C
ans =

     3    -4     1
    -2     0     2
    -1     4    -3

Sumar un vector fila o columna

Los vectores fila y columna tienen tamaños compatibles y, cuando realiza una operación con ellos, el resultado es una matriz.

Por ejemplo, sume un vector fila y un vector columna. El resultado es el mismo que bsxfun(@plus,a,b).

a = [1 2 3 4]
ans =

     1     2     3     4
b = [5; 6; 7]
ans =

     5
     6
     7
a + b
ans =

     6     7     8     9
     7     8     9    10
     8     9    10    11

Consulte también

Temas relacionados