Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

Operaciones con matrices y operaciones con arreglos

Introducción

MATLAB® tiene dos tipos diferentes de operaciones aritméticas: operaciones con arreglos y operaciones con matrices. Puede utilizar estas operaciones aritméticas para realizar cálculos numéricos, por ejemplo, sumar dos números, elevar los elementos de un arreglo a una determinada potencia o multiplicar dos matrices.

Las operaciones con matrices siguen las reglas del álgebra lineal. Por el contrario, las operaciones con arreglos ejecutan operaciones elemento por elemento y admiten arreglos multidimensionales. El carácter de punto (.) distingue las operaciones con arreglos de las operaciones con matrices. Sin embargo, debido a que las operaciones con matrices y arreglos son las mismas para la adición y la sustracción, los pares de caracteres .+ y .- son innecesarios.

Operaciones con arreglos

Las operaciones con arreglos ejecutan operaciones elemento por elemento en los elementos correspondientes de los vectores, las matrices y los arreglos multidimensionales. Si los operandos tienen el mismo tamaño, cada elemento del primer operando coincide con el elemento de la misma ubicación en el segundo operando. Si los operandos tienen tamaños compatibles, cada entrada se amplía de manera implícita según sea necesario para hacer que coincida con el tamaño del otro. Para obtener más información, consulte Tamaños de arreglos compatibles para operaciones básicas.

Como ejemplo sencillo, puede sumar dos vectores con el mismo tamaño.

A = [1 1 1]
A =

     1     1     1
B = [1 2 3]
B =

     1     2     3
A+B
ans =

     2     3     4

Si un operando es un escalar y el otro no, MATLAB amplía el escalar de manera implícita para que sea del mismo tamaño que el otro operando. Por ejemplo, puede calcular el producto elemento por elemento de un escalar y una matriz.

A = [1 2 3; 1 2 3]
A =

     1     2     3
     1     2     3
3.*A
ans =

     3     6     9
     3     6     9

La expansión implícita también funciona si se resta un vector de 1 por 3 de una matriz de 3 por 3, ya que los dos tamaños son compatibles. Al llevar a cabo la resta, el vector se ha ampliado de manera implícita para convertirlo en una matriz de 3 por 3.

A = [1 1 1; 2 2 2; 3 3 3]
A =

     1     1     1
     2     2     2
     3     3     3
m = [2 4 6]
m =

     2     4     6
A - m
ans =

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

Un vector fila y un vector columna tienen tamaños compatibles. Si suma un vector de 1 por 3 y un vector de 2 por 1, cada vector se amplía de manera implícita a una matriz de 2 por 3 antes de que MATLAB ejecute la suma elemento por elemento.

x = [1 2 3]
x =

     1     2     3
y = [10; 15]
y =

    10
    15
x + y
ans =

    11    12    13
    16    17    18

Si los tamaños de los dos operandos son incompatibles, obtiene un error.

A = [8 1 6; 3 5 7; 4 9 2]
A =

     8     1     6
     3     5     7
     4     9     2
m = [2 4]
m =

     2     4
A - m
Matrix dimensions must agree.

La siguiente tabla proporciona un resumen de los operadores aritméticos de arreglos en MATLAB. Para obtener información específica de la función, haga clic en el enlace a la página de referencia de la función en la última columna.

Operador

Finalidad

Descripción

Página de referencia

+

Adición

A+B suma A y B.

plus

+

Más unario

+A devuelve A.

uplus

-

Sustracción

A-B resta B de A

minus

-

Menos unario

-A niega los elementos de A.

uminus

.*

Multiplicación elemento por elemento

A.*B es el producto elemento por elemento de A y B.

times

.^

Potencia elemento por elemento

A.^B es la matriz con los elementos A(i,j) a la potencia B(i,j).

power
./

División derecha de arreglos

A./B es la matriz con los elementos A(i,j)/B(i,j).

rdivide

.\

División izquierda de arreglos

A.\B es la matriz con los elementos B(i,j)/A(i,j).

ldivide

.'

Trasposición de arreglos

A.' es la traspuesta de arreglos de A. En matrices más complejas, esta no implica conjugación.

transpose

Operaciones con matrices

Las operaciones con matrices siguen las reglas del álgebra lineal y no son compatibles con arreglos multidimensionales. El tamaño y la forma necesarios de las entradas relacionadas entre sí dependen de la operación. En caso de entradas no escalares, los operadores de matrices por lo general calculan diferentes respuestas a las de sus homólogos de los operadores de arreglos.

Por ejemplo, si utiliza el operador de división derecha de matriz, /, para dividir dos matrices, estas deben tener el mismo número de columnas. Sin embargo, si utiliza el operador de multiplicación de matriz, *, para multiplicar dos matrices, las matrices deben tener una dimensión interna común. Es decir, el número de columnas de la primera entrada debe ser igual al número de filas de la segunda entrada. El operador de multiplicación de matriz calcula el producto de dos matrices con la fórmula,

C(i,j)=k=1nA(i,k)B(k,j).

Para comprobarlo, puede calcular el producto de dos matrices.

A = [1 3;2 4]
A =

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

     3     0
     1     5
A*B
ans =

     6    15
    10    20

El producto anterior de las matrices no es igual al siguiente producto elemento por elemento.

A.*B
ans =

     3     0
     2    20

La siguiente tabla proporciona un resumen de los operadores aritméticos de matrices en MATLAB. Para obtener información específica de la función, haga clic en el enlace a la página de referencia de la función en la última columna.

Operador

Finalidad

Descripción

Página de referencia

*

Multiplicación de matrices

C = A*B es el producto algebraico lineal de las matrices A y B. El número de columnas de A debe ser igual al número de filas de B.

mtimes

\

División izquierda de matrices

x = A\B es la solución a la ecuación Ax = B. Las matrices A y B deben tener el mismo número de filas.

mldivide

/

División derecha de matrices

x = B/A es la solución a la ecuación xA = B. Las matrices A y B deben tener el mismo número de columnas. En términos del operador de división izquierda, B/A = (A'\B')'.

mrdivide

^

Potencia de matrices

A^B es A a la potencia B, si B es un escalar. En otros valores de B, el cálculo implica valores y vectores propios.

mpower

'

Traspuesta conjugada compleja

A' es la traspuesta algebraica lineal de A. En matrices complejas, esta es la traspuesta conjugada compleja.

ctranspose

Temas relacionados