Está en la página 1de 10

PRÁCTICA 3: MATLAB Y LA FORMA REDUCIDA POR FILAS

JESÚS GAGO E IGNACIO OJEDA

Introducción
En esta práctica aprenderemos a manejar el comando rref de MATLAB, que calcula la
forma reducida por filas de una matriz; también se verán algunas de sus aplicaciones.
Prerrequisitos: cierta familiaridad con cálculos a mano de la forma reducida por filas
de una matriz.

1. Resolución de sistemas con MATLAB


Hasta ahora, hemos invertido cierto tiempo para resolver sistemas de ecuaciones lineales
a mano, con lo que advertimos que es un proceso largo y con tendencia a que se produzcan
errores. En cuanto la matriz de coeficientes es de un tamaño superior a 5 × 5, lo más
probable es que nos equivoquemos en el resultado. Vamos a ver cómo puede MATLAB
ayudarnos en el proceso.
En primer lugar, recordemos algunas definiciones. El primer elemento no nulo en cada
fila de una matriz se denomina pivote. Una matriz se dice que está en forma escalonada
por filas si
Las filas de ceros aparecen en la parte inferior de la matriz.
Cada pivote es 1.
Cada pivote aparece en una columna estrictamente a la derecha del pivote de la
fila anterior.
Se dice que una matriz está en forma reducida por filas si satisface además otra propiedad
Cada pivote es el único elemento no nulo en su columna.
Se sabe que toda matriz es equivalente a una matriz reducida por filas, es decir, que
mediante transformaciones elementales (por filas) toda matriz se puede convertir en una
matriz reducida por filas.
Por otra parte, es de sobra conocido que cuando se resuelve un sistema de ecuaciones
de la forma

a11 x1 +a12 x2 + . . . +a1n xn = b1 
a21 x1 +a22 x2 + . . . +a2n xn = b2 

(1.1) ..
. 


am1 x1 +am2 x2 + . . . +amn xn = bm
puede ocurrir que
el sistema tenga una única solución, o
el sistema no tenga solución, o
el sistema tenga infinitas soluciones.
Veamos un ejemplo de cada caso.
1
2 JESÚS GAGO E IGNACIO OJEDA

Solución única.
Consideremos el sistema 
x1 +x2 +x3 = 6 
(1.2) x1 −2x3 = 4
x2 +x3 = 2 
La matriz ampliada de este sistema es
 
1 1 1 6
(1.3)  1 0 −2 4  ,
0 1 1 2
que podemos introducirla en el espacio de trabajo de MATLAB con

>> A=[1,1,1,6;1,0,-2,4;0,1,1,2]

El comando rref de MATLAB calcula la forma reducida por filas de la matriz A.

>> R=rref(A)

El commando rrefmovie de MATLAB nos muestra paso a paso cómo ha obtenido la forma
reducida por filas.

>> rrefmovie(A)

Hemos obtenido que la forma reducida por filas de la matriz ampliada (1.3) es
 
1 0 0 4
(1.4)  0 1 0 2 .
0 0 1 0
Esta matriz representa al sistema

x1 = 4 
(1.5) x2 = 2
x3 = 0 
que es equivalente al sistema (1.2). Por tanto, el sistema (1.2) tiene solución única (4, 2, 0).
Es interesante considerar la geometrı́a de este ejemplo. Cada una de las ecuaciones del
sistema (1.2) representa un plano en el espacio de 3 dimensiones. Como se puede ver en la
Figura (1), las tres ecuaciones del sistema (1.2) producen tres planos. Observemos además
que la intersección de los tres planos en la Figura (1) es un único punto, lo que coincide
con nuestro resultado.
PRÁCTICA 3: MATLAB Y LA FORMA REDUCIDA POR FILAS 3

10

−5

−10
20
10 40
20
0
0
−10 −20

Figura 1. Un sistema con solución única. Los tres planos se cortan en un punto.

Sin soluciones.
Consideremos ahora el sistema

x1 +x2 +x3 = −6 
(1.6) x1 −2x3 = 4
2x1 +x2 −x3 = 18 
La matriz ampliada del sistema es
 
1 1 1 −6
(1.7)  1 0 −2 4 ,
2 1 −1 18
que podemos introducirla en MATLAB con el comando

>> A=[1,1,1,-6;1,0,-2,4;2,1,-1,18]

Usamos el comando rref para calcular la forma reducida por filas.

>> R=rref(A)

Por tanto, la forma reducida por filas de la matriz (1.7) es


 
1 0 −2 0
(1.8)  0 1 3 0 
0 0 0 1
Observemos la última fila de la matriz 1.8. Representa la ecuación
(1.9) 0x1 + 0x2 + 0x3 = 1
Es claro que la ecuación 1.9 no tiene solución. Por tanto, el sistema 1.6 tampoco. Decimos
que el sistema 1.6 es incompatible.
4 JESÚS GAGO E IGNACIO OJEDA

10

−2

−4

−6

−8

−10
10
5
0
−5 −20 −30
0 −10
−10 20 10
30

Figura 2. Dos planos se cortan en una recta, paralela al otro. No hay


puntos comunes en la intersección.

De nuevo, la representación geométrica aporta luz a lo anterior. Como podemos ver en


la figura 2, cada plano corta a otro en una recta, pero esa recta es paralela al otro plano.
Por tanto, no hay puntos comunes a los tres planos, que coincide con nuestro resultado
algebraico.

Infinitas soluciones.
Como ejemplo final, consideremos el sistema

x1 +x2 +x3 = 6 
(1.10) x1 −2x3 = 4
2x1 +x2 −x3 = 10 
La matriz ampliada del sistema es
 
1 1 1 6
(1.11)  1 0 −2 4 
2 1 −1 10
y en MATLAB queda

>> A=[1,1,1,6;1,0,-2,4;2,1,-1,10]

Usamos el comando rref

>> R=rref(A)

y la forma reducida por filas de la matriz 1.11 es


 
1 0 −2 4
(1.12)  0 1 3 2 .
0 0 0 0
Observemos que tenemos una fila de ceros en la parte inferior de la matriz. Además,
tenemos solamente dos pivotes. Es muy importante, en este momento, identificar las
PRÁCTICA 3: MATLAB Y LA FORMA REDUCIDA POR FILAS 5

variables pivotes y las variables libres. Observemos que las columnas 1 y 2 tienen pivotes.
Por tanto, x1 y x2 son variables pivote. La columna 3 no tiene pivote. Ası́, la variable x3
es libre.
Como la última fila de la matriz representa la ecuación
(1.13) 0x1 + 0x2 + 0x3 = 0,
que se verifica para cualesquiera valores de x1 , x2 y x3 , únicamente necesitamos encontrar
los valores de x1 , x2 y x3 que satisfacen las ecuaciones representadas por las dos primeras
filas de la matriz 1.12

x1 −2x3 = 4
(1.14)
x2 +3x3 = 2
Ahora el método es simple y directo. Resolvemos cada ecuación para su variable pivote
en función de la variable libre. Ası́ nos queda

x1 = 4 + 2x3
(1.15)
x2 = 2 − 3x3 .
Es habitual colocar parámetros para representar la variable libre. Por ejemplo, si hacemos
x3 = λ, el sistema 1.10 tiene infinitas soluciones, descritas por
(1.16) x1 = 4 + 2λ, x2 = 2 − 3λ, x3 = λ
donde λ es cualquier número real. Por cada valor que demos a λ obtenemos una solución.
Por ejemplo, para λ = 0 obtenemos la solución (4, 2, 0). Para λ = 1 nos queda (6, −1, 1).
De nuevo, la visualización geométrica nos aclara lo anterior. Como podemos ver en la
figura 3, los tres planos se cortan a lo largo de una recta. Por tanto, hay un número infinito
de soluciones, que coincide con nuestra conclusión anterior.

10

0
10
−5
0

−10
−10
−20 0 20 40

Figura 3. Los tres planos se cortan en una recta, que contiene un número
infinito de puntos.

2. Más difı́cil todavı́a


El pánico suele crecer cuando el número de ecuaciones e incógnitas se incrementa. Por
supuesto, este aumento hace las cosas un poco más difı́ciles, pero si seguimos una sencillas
reglas estas dificultades desaparecen.
6 JESÚS GAGO E IGNACIO OJEDA

Identifica las variables pivot. Esto se consigue observando las columnas que son
pivote.
Identifica las variables libres. Esto se obtiene observando las columnas que no
tienen pivote.
Resuelve cada ecuación colocando cada variable pivot en función de la libres.
Cambia las variables libres por parámetros.
Por ejemplo, consideremos el siguiente sistema
−4x1 −2x2 +2x4 −4x5 +4x6 = 2
4x1 +x2 −3x4 +4x5 −4x6 = −3
(2.17)
x1 −2x2 −3x4 +x5 −x6 = −3
−2x2 −2x4 = −2
A simple vista, el problema puede echar para atrás por su tamaño. Si seguimos las reglas
anteriores, no tendremos problema para encontrar la solución. En primer lugar, consider-
emos la matriz ampliada,
 
−4 −2 0 2 −4 4 2
 4 1 0 −3 4 −4 −3 
(2.18) 
 1 −2 0 −3

1 −1 −3 
0 −2 0 −2 0 0 −2
y la introducimos en MATLAB.

>> A=[-4,-2,0,2,-4,4,2;4,1,0,-3,4,-4,-3;1,-2,0,-3,1,-1,-3;0,-2,0,-2,0,0,-2]

Calculamos la forma reducida por filas con rref.

>> R=rref(A)

Las columnas uno y dos tienen pivotes. Por tanto, x1 y x2 son variables pivote. Las
restantes incógnitas, x3 , x4 , x5 y x6 son variables libres.
Las últimas filas de ceros se pueden ignorar, porque estas ecuaciones las verifican todos
los valores. Ası́, solamente debemos resolver el sistema

x1 −x4 +x5 −x6 = −1
(2.19)
x2 +x4 = 1
Resolvemos cada ecuación para su variable pivote.

x1 = −1 +x4 −x5 +x6
(2.20)
x2 = 1 −x4
Pongamos las variables libres como parámetros. Por ejemplo, x3 = α, x4 = β, x5 = γ, x6 =
δ y nos queda
x1 = −1 + β − γ + δ,
x2 = 1 − β,
x3 = α,
(2.21)
x4 = β,
x5 = γ,
x6 = δ,
PRÁCTICA 3: MATLAB Y LA FORMA REDUCIDA POR FILAS 7

donde α, β, γ, δ son números reales arbitrarios. Entonces el sistema 2.17 tiene infinitas
soluciones, y las podemos obtener dando valores a los parámetros de 2.21.
Como podemos ver, cuando el número de incógnitas y ecuaciones crece, el problema
se vuelve más difı́cil. No obstante, también observamos que con estas simples reglas, el
tamaño no debe ser un problema.
3. Matriz inversa y forma reducida por filas
Sea A = (aij ) ∈ Mn (k) una matriz invertible. Por ejemplo,
 
1 −1 0
A=  2 0 −3 
0 2 1

>> A = [1, -1, 0; 2, 0, -3; 0, 2, 1]

La orden inv de MATLAB calcula la matriz inversa de A.

>> B = inv(A)
>> A*B

Veamos otra forma de calcular la inversa de A usando forma reducida por filas. Para
ello basta tener en cuenta que, por definición, la matriz inversa de A es la única matriz
X = (xij ) ∈ Mn (k) tal que
AX = In ;
por lo que la columna j-ésima de X es la (única) solución del sistema
j)
A(x1j , . . . , xnj )t = (0, . . . , 0, 1 , 0, . . . , 0)t .
Por consiguiente, si partimos de la matriz (A|In ) ∈ Mn×2n (k) y calculamos su forma
reducida por filas llegaremos a la matriz (In |A−1 ).

>> I = eye(3)
>> AI = [A,I]
>> rAI = rref(AI)
>> X = rAI(1:3,4:6)
>> A*X

De hecho, los programas de ordenador usan este método (o variantes del mismo) para
calcular la matriz inversa, y no la fórmula por todos conocida que tiene un coste de tiempo
prohibitivo.
8 JESÚS GAGO E IGNACIO OJEDA

Ejercicios.
Introduce el disco con tu nombre en la disquetera del ordenador.
Escribe

>> diary a:\practica03.txt


>> % Práctica 03 de NOMBRE APELLIDOS

donde pone NOMBRE APELLIDOS debes escribir tu nombre y apellidos en mayúscu-


las.
Recuerda que el sı́mbolo % sirve para introducir comentarios que no serán evaluados por
MATLAB. De este modo puedes responder aquellos ejercicios que requieran alguna expli-
cación.

Ejercicio 3.1.
Cada una de las siguientes matrices representa la matriz ampliada de un sistema lineal.
Realiza las siguientes tareas para cada caso.
Introduce la matriz en MATLAB y con el comando rref calcula la forma reducida
por filas. Cópiala en un papel.
Identifica variables pivote y variables libres.
Resuelve cada ecuación para su variable pivote.
Asigna parámetros a las variables libres.
(a)
3 −1 0 −1 −3 −1 −2 −3
 
 −2 0 0 0 2 0 2 2 
 3 0 0 −1 −1 −2 −1 −1 
 
.
 0 0 0 1 −2 2 −2 −2 

 3 1 0 0 −1 −1 −2 −1 
1 −4 0 −2 −5 0 −1 −5
(b)
−2 −2 2 −1 1 −2 −1 −1 0
 
 −1 −2 2 1 3 −1 −2 −1 0 
 0 0 1 0 3 −2 −1 −1 0 
 
 1 0 0 2 2 1 −1 0 0 
 
.
 −2 1 0 −1 −2 −1 0 −1 −2 

 0
 1 −2 −1 −4 1 2 1 0 

 0 1 2 1 2 1 −2 −1 −2 
−2 −1 0 1 0 −1 −1 −1 −1
Ejercicio 3.2. Juan tiene 4 euros en monedas de 1, 2, 5 y 10 céntimos de euro. Tiene
igual número de monedas de 2 céntimos y de 5 céntimos, y en total tiene 100 monedas.
¿De cuántas formas es esto posible?
Ejercicio 3.3. Usar el método de Gauss para resolver simultáneamente los sistemas
4x − 8y + 5z = 1 0 0
4x − 7y + 4z = 0 1 0
3x − 4y + 2z = 0 0 1
PRÁCTICA 3: MATLAB Y LA FORMA REDUCIDA POR FILAS 9

Ejercicio 3.4. Consideremos la siguiente matriz


 
−4 −2 −4 0
 −2 −10 −22 4 
A=  −5
.
2 5 −2 
−24 6 16 −8
Si R es la forma reducida por filas de A, calcular, usando MATLAB, las matrices Q y P
tales que Q−1 AP = R.
Calcular la forma reducida por columnas de A, la forma reducida y las matrices de paso
cada caso.
Ejercicio 3.5. Supongamos que 100 insectos se distribuyen en una cámara que consta
de 4 habitaciones con pasajes entre ellos tal como aparece en la figura (4). Al final de
un minuto, los insectos se han redistribuido. Supongamos que un minuto no es bastante
tiempo para que un insecto visite más de una habitación y al final de un minuto el 40 %
de los insectos de cada habitación permanece en ella. Los insectos que la abandonan se
distribuyen uniformemente entre las demás habitaciones que son accesibles desde la que
ocupan inicialmente. Por ejemplo, desde la habitación 3, la mitad de los que se mueven
van a 2 y la otra mitad a 4.
1. Si al final de un minuto hay 12, 25, 26 y 37 insectos en las habitaciones 1, 2, 3 y 4,
respectivamente, determinar la distribución inicial.
2. Si la distribución inicial es 20, 20, 20 y 40 ¿Cuál es la distribución al final de un
minuto?

#3

#4
#2

#1

Figura 1:
Figura 4. Distribución de las cámaras y los pasajes.
Ejercicio 7.– Supongamos que 100 insectos se distribuyen en una cámara que consta de 4 habitaciones con pasajes
entre ellos tal como aparece en la figura 1. Al final de un minuto, los insectos se han redistribuido. Supongamos que
un minuto no es bastante
Ejercicio 3.6. Entiempo para(5)
la figura queaparece
un insecto
unavisite
placamás
dede una habitación
acero. y al finalendecada
La temperatura un minuto
puntoel 40 %
de los insectos de cada habitación permanece en ella. Los insectos que la abandonan se distribuyen uniformemente
de la placa es constante (no cambia con el tiempo). La temperatura en cada punto del
entre las demás habitaciones que son accesibles desde la que ocupan inicialmente. Por ejemplo, desde la habitación 3,
retı́culo
la mitad en el
de los que se borde
muevendevanlaa placa aparece
2 y la otra mitaden la figura. Sea ti la temperatura en grados en
a 4.
cada punto del retı́culo en el interior de la placa. Supongamos que la temperatura en cada
1. Si al final de un minuto hay 12, 25, 26 y 37 insectos en las habitaciones 1, 2, 3 y 4, respectivamente, determine la
punto interior del retı́culo es la media de las temperaturas de sus cuatro puntos vecinos.
distribución inicial.
Calcula la temperatura ti en cada punto interior del retı́culo.
2. Si la distribución inicial es 20, 20, 20 y 40, ¿cuál es la distribución al final de un minuto?
Ejercicio 8.– Use el método de Gauss-Jordan para resolver a la vez los tres sistemas
2x1 −8x2 =1 | 0 | 0
−x1 +2x2 −x3 =0 | 1 | 0
−x2 +x3 =0 | 0 | 1

Ejercicio 9.– Resuelva los siguientes sistemas con redondeo a tres dı́gitos. Repita las operaciones con pivoteo parcial
y pivoteo parcial escalado, respectivamente. Compare los resultados con las soluciones exactas:
½
0,03x1 + 58,9x2 = 59,2
5,31x1 − 6,10x2 = 47,0
10 JESÚS GAGO E IGNACIO OJEDA

00 C 00 C 00 C

t1 t2 t3

t4 t5 t6

t7 t8 t9

fig4.01
Figura 5. Distribución de temperatura en una placa de metal.

También podría gustarte