Documentos de Académico
Documentos de Profesional
Documentos de Cultura
03 Rref PDF
03 Rref PDF
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.
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]
>> 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]
>> R=rref(A)
10
−2
−4
−6
−8
−10
10
5
0
−5 −20 −30
0 −10
−10 20 10
30
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]
>> R=rref(A)
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.
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]
>> 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
>> 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
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
#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.