You are on page 1of 13

30-4-2018

ESCUELA
SUPERIOR OPERACIONES CON MATRICES EN
POLITECNICA LAS PLATAFORMAS DE EXCEL,
DE GEOGEBRA Y MATHLAB
CHIMBORAZO

LUIS ÑAUÑAY- ESCUELA DE CONTROL Y AUTOMATIZACION |


PRIMERO “B”
3

1 Operaciones Matriciales en el Excel


Para realizar operaciones matriciales, el Excel est´a provisto de un conjunto de
funciones, entre las que podemos citar:

MMULT MINVERSA MDETERM


FILAS COLUMNAS TRANSPONER
SUMAPRODUCTO SUMAX2MASY2 SUMAX2MENOSY2
SUMAXMENOSY2

Antes de ver como se aplican estas funciones, veremos como se suman y


restan matrices.

1.1 Suma y resta


Si se desea, por ejemplo, calcular A + B y A − B con las matrices:
µ 4 ¶ µ ¶
A = − 2 −4 1 37 B= −1 −4 −12 −19
5 −6 − 12 553687

1. Se ingresan los elementos de ambas matrices en los rangos: A1:D2 y


F1:I2.

2. Se selecciona el rango A4:D5, para escribir sobre ´el, los elementos de


A + B.

3. Enseguida se escribe =A1:D2+F1:I2; se pulsa CTRL+ SHIFT+ENTER y


listo. Ver la figura 1.

Figura 1: Suma de matrices.

Para la resta A − B s´olamente se cambia ”+” por ”-”.


4

1.2 Multiplicaci´on por escalar


Para multiplicar, por ejemplo, una matriz
A= 4 20 2
5 −11 3

6 −7 −1
por el escalar λ = −7, se puede hacer lo siguiente:

1. Ingresamos el escalar -7 en la celda A2; los nueve elementos de la matriz


A en el rango C1:E3.

2. Seleccionar el rango G1:I3 para escribir en ´el la matriz −7A, escribir


”=$A$2*G1:I3” y pulsar CTRL+ SHIFT+ENTER; ver la figura 2.

Figura 2: Multiplicaci´on de una matriz por un escalar.

1.3 Multiplicaci´on de matrices


Si se tienen las matrices:
µ µ
M= −3 5¶ N= −3 5 7¶
1 2 1 2 8

La multiplicaci´on M N es posible y el resultado es una matriz de orden 2 ×3.

1. Las matrices M y N se han ingresado en los rangos A1:B2 y D1:F2.

2. Seleccionar el rango H1:J2, pues en este rango se localizar´ el producto M


N . Escribir enseguida =MMULT(A1:B2;D1:F2), pulsar CTRL+ SHIFT+
ENTER y listo. Ver la figura 3.

Tambi´en se puede optar por el bot´on ”Insertar funci´on” del men´u F´ormulas,
entonces se debe de especificar los rangos en la ventana que se muestra en la
figura 4; s´olo que no debe pulsarse el bot´on ”Aceptar”, si no CTRL+ SHIFT+
ENTER.
5

Figura 3: Multiplicaci´on de matrices.

Figura 4: Ventana de la funci´on MMULT.

1.4 Transponer matrices


Para hallar la transpuesta de una matriz en el Excel se usa la funci´on
TRANSPONER. As´ı por ejemplo, si se desea hallar la matriz transpuesta P ′ de
la matriz P .
34 3 −17
21 6 −23

P= 13 9
57 3
−67−88

Al ingresar los elementos de P en el rango A1:C4, enseguida se selecciona el


rango E1:H3 y se escribe =TRANSPONER(A1:C4). Luego del consabido
CTRL+ SHIFT+ ENTER se obtiene la transpuesta de P . Ver la figura 5.

Figura 5: Transpuesta de una matriz.

1.5 Determinante de una matriz


Se usa la funci´on MDETERM. Por ejemplo para hallar el determinante de la
multiplicaci´on −7A realizada en el Excel (figura 2), en la celda L2 se escribe
6

=MDETERM(G1:I3); al pulsar ENTER, se obtiene el n´umero 222950. Ver la figura 6.

Figura 6: Determinante de una matriz.

1.6 Inversa de una matriz


Si se necesita hallar la inversa de una matriz, se debe tener presente que la matriz debe ser
−1
cuadrada y no singular. Por ejemplo, hallar X , si.

3.4 5.4 2.1


X 5.2 3.4 1.6
= 6.0 −6.3 4.7
En el Excel se usa la funci´ın MINVERSA.

1. Ingresar los elementos de la matriz X en el rango A1:C3.

2. Seleccionar el rango E1:G3, escribir =MINVERSA(A1:C3); pulsar CTRL + SHIFT+


−1
ENTER para obtener la matriz X . Ver la figura 7.

Figura 7: Inversa de una matriz.


Operaciones Matriciales en Geogebra

GeoGebra también opera con matrices reales, representadas como una lista de listas, que
contiene las filas de la matriz.

Ejemplo:
a = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}} representa la matriz a de 3x3:
$\mathrm{\mathsf{\left(\ggbtable{\ggbtr{\ggbtd{1}\ggbtd{2}\ggbtd{3}}\ggbtr{
\ggbtd{4}\ggbtd{5}\ggbtd{6}}\ggbtr{\ggbtd{7}\ggbtd{8}\ggbtd{9}}}\right)}}
$(
123
456
789
)
Nota: Para desplegar con elegancia y facilidad una matriz en la Vista Gráfica, puede emplearse el
formato LaTeX, usando el comando FórmulaTexto.
Ejemplo: En la Barra de Entrada puede anotarse:
FórmulaTexto[{{1, 2, 3}, {4, 5, 6}, {7, 8, 9} }] para exponer la matriz usando
formato LaTeX.

Operaciones con Matrices


Sumas y Restas - Ejemplos
 Matriz1 + Matriz2: Suma uno a uno, cada par de elementos correspondientes de una y
otra matriz.
 Matriz1 – Matriz2: Resta uno a uno, cada par de elementos correspondientes de una y otra
matriz, entre dos compatibles entre sí.

Multiplicación - Ejemplos
 Matriz * Número: Multiplica por el número, cada uno de los elementos de la matriz.
 Matriz1 * Matriz2: Usa la multiplicación de matrices para calcular la resultante.

Nota: Las filas de la primera y las columnas de la segunda matriz deben tener el mismo
número de elementos.
Ejemplo: {{1,2},{3,4},{5,6}}*{{1,2,3},{4,5,6}} da por resultado la matriz {{9, 12, 15}, {19, 26, 33},
{29, 40, 51}}.

 2x2 Matriz * Punto (o Vector): Multiplica la matriz por el punto o vector y da por
resultado un punto
 3x3 Matriz * Punto (o Vector): Multiplica la matriz por el punto o vector y da por
resultado un punto.

Ejemplos:

 {{1, 2}, {3, 4}, {5, 6}} * {{1, 2, 3}, {4, 5, 6}} da por resultado la matriz {{9, 12, 15}, {19, 26, 33},
{29, 40, 51}}
 {{1, 2}, {3, 4}} * (3, 4) da por resultado el punto A = (11, 25).
 {{1, 2, 3}, {4, 5, 6}, {0, 0, 1}} * (1, 2) da por resultado el punto A = (8, 20).

Nota: Este es un caso especial de transformaciones afines donde las coordenadas


homogéneas se usan: (x, y, 1) para un punto y (x, y, 0) por un vector. Este último ejemplo
es, por lo tanto, equivalente a:
{{1, 2, 3}, {4, 5, 6}, {0, 0, 1}} * {1, 2, 1} .

Interacción Algebra <=> Hoja de Cálculos


Tablas y Matrices
([File
Algebraica a Hoja II.PNG|420px|left)]
A => HC : Una matriz algebraica, puede incorporarse en la Hoja de
Cálculo arrastrándola hacia allí mientras se pulsa la tecla Ctrl .
Si se establece dependiente , todo cambio en la matriz de partida repercutirá
en la incrustada en la Hoja de Cálculo, dinámicamente. Para que esto no
ocurra, se la debe establecer como Objeto Libre
Nota:
Se puede copiar la Transposición de la matriz original.
Atención: Si se arrastra y deposita en la Hoja de Cálculos sin tener pulsada
la tecla Ctrl , se obtiene una copia simple.
([File
De Hoja a Matriz Algebraica.PNG|430px|left)]
HC => A: Todo rango rectangular de celdas seleccionado en la Hoja de
Cálculo, tras optar por la alternativa Crea > Matriz del Menú
Contextual desplegado por un clic derecho, la registra como
objeto dinámicamente dependiente. De este modo, cualquier cambio en el
original rango de celdas de la hoja de cálculo, se refleja en la matriz.
Atención: A posteriori se podrán modificar algunas de
las Propiedades de la matriz, tabla o lista creadas desde el Cuadro de
Ajustes .
Ejemplo:
Siendo l_a := Secuencia[BinomialAleatorio[3, 0.1], ñ, 1, 1000,
Mínimo[Máximo[AleatorioEntre[1, exF], 1], 1]] la lista de
registro algebraico, copiando a la Hoja de Cálculo,
sendas listas lo y lf definidas como:
lo := Ordena[Único[la]] y lf := Zip[CuentaSi[x ≟ ñ, l_a], ñ,
{0,1,2,3}] , cundo se selecciona el rango de celdas en que se volcaron
ambas listas y se crea la correspondiente matriz, se obtiene una dinámica y
aleatoriamente cambiante con cada pulsación de F9

Matrices en Matlab
Para introducir una matriz en Matlab se procede de la forma siguiente. Si por ejemplo tenemos la matriz
A= 5 6 7 8
1 2 3 4

se introduce como:
>>A=[1 2 3 4; 5 6 7 8]

A =
1 2 3 4
5 6 7 8

O bien,

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

Observemos que unas matrices especiales son los vectores, de esta forma, el vector fila v = (1.0,
1.1,1.2,1.3, . . . , 1.9,2.0), se escribe en Matlab como
>>v=[1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2.0]

4. Operaciones y comandos para Matrices


Hemos visto c´omo se introducen las matrices en Matlab. Veamos un ejemplo para introducir algunos de los
comandos b´asicos:

Ejemplo 1 Operaciones Elementales


Definimos dos matrices:

>>A=[2 1;3 2]
A =
3. 1
32

>>B=[3 4;-1 5]
B =
3. 4
-1 5

3.Para sumar las dos matrices:


>>A+B
ans =
5 5
2 7

• Para multiplicar una matriz por un escalar:

8
>>3*A
ans =
6 3
9 6

• Producto de matrices:

>>C=A*B
C =
5 13
722

Siempre que los tama˜nos de las matrices sean los adecuados. Para saber cu´al es el tama˜no de una
matriz con la que estamos trabajando,

>>size(A)
ans =
2 2

Que quiere decir, evidentemente, 2 filas y 2 columnas.


• Para calcular la matriz transpuesta:

>>A’
ans =
2 3
12
t t t t
Ejercicio 1 Utilizando las matrices definidas en el ejemplo anterior, comprobar que (AB) = B A . (A es la
transpuesta de A).

Ejemplo 2 Operaciones t´ermino a t´ermino: .* ./ .^


Matlab tiene tres operaciones, que las llamaremos operaciones con punto, que permiten
i) multiplicar matrices t´ermino a t´ermino: .*
ii) dividir matrices t´ermino a t´ermino: ./
ii) elevar los t´erminos de una matriz a una cierta potencia: .^ Si v
es el vector definido en la Secci´on 2, explorar qu´e hace la orden
>>v.^2

Por otra parte, si A y B son las matrices definidas anteriormente, explorar qu´e hacen las ordenes´
>>A.*B
>>A./B

Estas operaciones con punto son esenciales en el c´alculo num´erico y se utilizan para representar
funciones num´ericamente.

Ejemplo 3 Matrices especiales con Matlab


• Para generar la matriz identidad cuadrada,

>>eye(3)
ans =
1 0 0
0 1 0
0 0 1

9
¿Por qu´e habr´an elegido el nombre eye?
• Una matriz 3 × 2 llena de unos,
>>ones(3,2)
• Y si queremos que est´ llena de ceros,
>>zeros(3,2)
• Para generar una matriz con n´umeros aleatorios uniformemente distribuidos entre 0 y 1,
>>rand(3,2)
Si se usa el comando randn los n´umeros aleatorios son normalmente distribuidos, siguiendo la Normal Estandar
N (0, 1).

Ejemplo 4 Rango, Inversa y Determinante


• Definimos la matriz,

>>X=[2 3 4; 1 -1 0]
X =
2 3 4
1 -10

Para calcular su rango,

>>rank(X)
ans =
2

• Supongamos que tenemos definida la siguiente matriz,


H =
8 1 6
3 5 7
4 9 2

Para calcular su inversa,

>>inv(H)
ans =
0.1472 -0.1444 0.0639
-0.0611 0.0222 0.1056
-0.0194 0.1889 -0.1028

Y si queremos ver el resultado en forma racional,

>>format rational
>>inv(H)
ans =
53/360 -13/90 23/360
-11/180 1/45 19/180
-7/360 17/90 -37/360

(Para ver todas las opciones del comando format hacer help format)
• Para calcular el determinante de la matriz anterior H,

>>det(H)
ans =
-360

Ejercicio 2 Generar una matriz cualquiera, por ejemplo 25×25, y calcular su inversa, su rango y su
determinante. (¡No imprimirla!) ¿Qu´e ocurre con el determinante de la matriz y el de su inversa?

10
Ejemplo 5 Los comandos especiales rref y rrefmovie
• El comando rref produce la forma reducida escalonada por filas de una matriz usando la eliminaci´on de
Gauss-Jordan, es decir, haciendo ceros por debajo y por encima de la diagonal principal sin mover las columnas.
Por ejemplo, definimos la matriz,

>>A=[-1 2 -1;2 1 2;2 4 2]

A =

-1 2 -1
2 1 2
2 4 2

Ahora escribimos el comando aplicado a la matriz,

>>R=rref(A)

R =

1 0 1
0 1 0
0 0 0

• El comando rrefmovie produce exactamente el mismo resultado pero nos indica paso a paso c´omo se
va obteniendo la matriz resultado e incluso qu´e filas o columnas son despreciables (por ser linealmente
dependientes de las otras), informaci´on muy ultil´ si queremos calcular el rango de la matriz por ejemplo. Es
decir, produce una especie de pel´ıcula (movie) de todo el proceso.

>>rrefmovie(A)
Original matrix

A =

-1 2 -1
2 1 2
2 4 2

Press any key to continue. . .

Ahora pulsamos una tecla para continuar,


swap rows 1 and 2

A =

2 1 2
-1 2 -1
2 4 2

Press any key to continue. . .

Nos indica que ha intercambiado la primera y segunda filas, pulsamos de nuevo una tecla,
pivot = A(1,1)

A =

11
1 1/2 1
-1 2 -1
2 4 2

Press any key to continue. . .

Ahora nos indica que va a pivotear sobre el elemento (1,1) de la matriz,


eliminate in column 1

A =

1 1/2 1
-1 2 -1
2 4 2

Press any key to continue. . .

Ahora nos est´a indicando que va a eliminar (hacer ceros) en la primera columna y as´ı
sucesivamente hasta obtener el mismo resultado que nos di´o el comando rref.

Ejercicio 3 a) Calcular el rango de la matriz siguiente utilizando el comando rref o rrefmovie:


A = 5 11 10 8
16 2 3 13
4 14 15 1
9 7 6 12

b) Si una matriz H es cuadrada y no singular, es decir det(H ) =6 0, ¿cu´al ser´a la matriz R =


rref(H )?
c) ¿C´omo podemos utilizar estos comandos para calcular la inversa de una matriz invertible?
Aplicarlo a la matriz,

8 1 6
3 5 7

B= 4 9 2
Para verificar el resultado se puede calcular la inversa directamente con inv(B).