Main Content

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 básicas con matrices

Este ejemplo muestra funciones y técnicas básicas para trabajar con matrices en el lenguaje de MATLAB®.

En primer lugar, creemos un vector simple con nueve elementos llamado a.

a = [1 2 3 4 6 4 3 4 5]
a = 1×9

     1     2     3     4     6     4     3     4     5

Ahora, añadamos 2 a cada elemento de nuestro vector, a, y guardemos el resultado en un nuevo vector.

Observe cómo MATLAB no requiere ninguna manipulación especial de las matemáticas del vector o de la matriz.

b = a + 2
b = 1×9

     3     4     5     6     8     6     5     6     7

Crear gráficas en MATLAB es tan fácil como introducir un comando. Representemos el resultado de la suma a nuestro vector con líneas de cuadrícula.

plot(b)
grid on

MATLAB puede crear también otros tipos de gráficas, con etiquetas de ejes.

bar(b)
xlabel('Sample #')
ylabel('Pounds')

MATLAB puede utilizar también símbolos en las gráficas. A continuación, se muestra un ejemplo en el que se utilizan estrellas para marcar los puntos. MATLAB ofrece una gran variedad de símbolos y tipos de líneas.

plot(b,'*')
axis([0 10 0 10])

Un área en la que MATLAB destaca es en el cálculo de matrices.

Crear una matriz es igual de fácil que crear un vector, con puntos y comas (;) para separar las filas de una matriz.

A = [1 2 0; 2 5 -1; 4 10 -1]
A = 3×3

     1     2     0
     2     5    -1
     4    10    -1

Podemos buscar fácilmente la traspuesta de la matriz A.

B = A'
B = 3×3

     1     2     4
     2     5    10
     0    -1    -1

Ahora, multipliquemos estas dos matrices.

Observe de nuevo que MATLAB no requiere que trate las matrices como una colección de números. MATLAB sabe cuándo trabaja con matrices y ajusta sus cálculos en consecuencia.

C = A * B
C = 3×3

     5    12    24
    12    30    59
    24    59   117

En lugar de realizar una multiplicación de matrices, podemos multiplicar los elementos correspondientes de dos matrices o vectores mediante el operador .*.

C = A .* B
C = 3×3

     1     4     0
     4    25   -10
     0   -10     1

Utilicemos la matriz A para resolver la ecuación, A*x = b. Se hace con el operador \ (barra invertida).

b = [1;3;5]
b = 3×1

     1
     3
     5

x = A\b
x = 3×1

     1
     0
    -1

Ahora podemos mostrar que A*x es igual a b.

r = A*x - b
r = 3×1

     0
     0
     0

MATLAB cuenta con funciones para casi cada tipo de cálculo de matriz frecuente.

Existen funciones para obtener valores propios...

eig(A)
ans = 3×1

    3.7321
    0.2679
    1.0000

…además de los valores singulares.

svd(A)
ans = 3×1

   12.3171
    0.5149
    0.1577

La función "poly" genera un vector que contiene los coeficientes del polinomio característico.

El polinomio característico de una matriz A es

det(λI-A)

p = round(poly(A))
p = 1×4

     1    -5     5    -1

Podemos buscar fácilmente las raíces de un polinomio con la función roots.

Estos son de hecho los valores propios de la matriz original.

roots(p)
ans = 3×1

    3.7321
    1.0000
    0.2679

MATLAB cuenta con muchas aplicaciones más allá de los cálculos de matriz.

Para convolucionar dos vectores...

q = conv(p,p)
q = 1×7

     1   -10    35   -52    35   -10     1

...o volver a convolucionar y representar el resultado.

r = conv(p,q)
r = 1×10

     1   -15    90  -278   480  -480   278   -90    15    -1

plot(r);

En cualquier momento, podemos obtener una lista de las variables que hemos guardado en la memoria con el comando who o whos.

whos
  Name      Size            Bytes  Class     Attributes

  A         3x3                72  double              
  B         3x3                72  double              
  C         3x3                72  double              
  a         1x9                72  double              
  ans       3x1                24  double              
  b         3x1                24  double              
  p         1x4                32  double              
  q         1x7                56  double              
  r         1x10               80  double              
  x         3x1                24  double              

Puede obtener el valor de una variable concreta escribiendo su nombre.

A
A = 3×3

     1     2     0
     2     5    -1
     4    10    -1

Puede tener más de una instrucción en una única línea separando cada instrucción con comas o puntos y comas.

Si no asigna una variable para guardar el resultado de una operación, el resultado se guarda en una variable temporal llamada ans.

sqrt(-1)
ans = 0.0000 + 1.0000i

Como puede ver, MATLAB aborda fácilmente los números complejos en sus cálculos.

Temas relacionados