Main Content

La traducción de esta página está obsoleta. Haga clic aquí para ver la última versión 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