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 de matriz básicas

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

En primer lugar, vamos a crear un vector simple con 9 elementos llamados.a

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

     1     2     3     4     6     4     3     4     5

Ahora agreguemos 2 a cada elemento de nuestro Vector, y almacenemos el resultado en un nuevo vector.a

Observe cómo MATLAB no requiere un manejo especial de las matemáticas vectoriales o matriciales.

b = a + 2
b = 1×9

     3     4     5     6     8     6     5     6     7

La creación de gráficos en MATLAB es tan fácil como un comando. Vamos a trazar el resultado de nuestra adición vectorial con líneas de rejilla.

plot(b) grid on

MATLAB también puede hacer otros tipos de gráficos, con etiquetas de eje.

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

MATLAB también puede utilizar símbolos en parcelas. Aquí hay un ejemplo usando estrellas para marcar los puntos. MATLAB ofrece una variedad de otros símbolos y tipos de línea.

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

Un área en la que MATLAB sobresale es la computación matricial.

Crear una matriz es tan fácil como hacer un vector, usando punto y coma (;) 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 encontrar fácilmente la transposición de la matriz.A

B = A'
B = 3×3

     1     2     4
     2     5    10
     0    -1    -1

Ahora vamos a multiplicar estas dos matrices juntas.

Tenga en cuenta que MATLAB no requiere que se ocupe de matrices como una colección de números. MATLAB sabe cuándo está tratando 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 hacer una matriz multiplicar, podemos multiplicar los elementos correspondientes de dos matrices o vectores usando el operador. *.

C = A .* B
C = 3×3

     1     4     0
     4    25   -10
     0   -10     1

Vamos a usar la matriz a para resolver la ecuación, a * x = b. Hacemos esto usando el operador \ (barra diagonal inversa).

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 tiene funciones para casi todos los tipos de cálculo de matriz común.

Existen funciones para obtener valores autovalores...

eig(A)
ans = 3×1

    3.7321
    0.2679
    1.0000

... así como 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 esA

<math display="block">
<mrow>
<mi>d</mi>
<mi>e</mi>
<mi>t</mi>
<mo stretchy="false">(</mo>
<mi>λ</mi>
<mi>I</mi>
<mo>-</mo>
<mi>A</mi>
<mo stretchy="false">)</mo>
</mrow>
</math>

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

     1    -5     5    -1

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

Estos son en realidad los valores propios de la matriz original.

roots(p)
ans = 3×1

    3.7321
    1.0000
    0.2679

MATLAB tiene muchas aplicaciones más allá del cómputo de matrices.

Para herramienta dos vectores...

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

     1   -10    35   -52    35   -10     1

... o herramienta de nuevo y trazar 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 almacenado en la memoria usando el comando o.whowhos

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 determinada 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 sola línea separando cada instrucción con comas o punto y coma.

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

sqrt(-1)
ans = 0.0000 + 1.0000i 

Como puede ver, MATLAB se ocupa fácilmente de números complejos en sus cálculos.

Temas relacionados