P. 1
Matrices Con Matlab

Matrices Con Matlab

|Views: 14|Likes:

More info:

Published by: Sebastian Camilo Beltrán López on May 04, 2011
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

10/01/2013

pdf

text

original

Departamento de Matem´atica Aplicada

FUNDAMENTOS DE MATEMATICAS.
Ingenier´ıa Qu´ımica (Curso 2005-06)
´
Algebra Lineal Pr´actica 3
1. Matrices en Matlab
Para introducir una matriz en Matlab se procede de la forma siguiente. Si por ejemplo tenemos la matriz
A =

1 2 3 4
5 6 7 8

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]
2. 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 =
2 1
3 2
>>B=[3 4;-1 5]
B =
3 4
-1 5
• 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
7 22
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
1 2
Ejercicio 1 Utilizando las matrices definidas en el ejemplo anterior, comprobar que (AB)
t
= B
t
A
t
. (A
t
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´e 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 -1 0
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 =

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

b) Si una matriz H es cuadrada y no singular, es decir det(H) = 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,
B =

¸
8 1 6
3 5 7
4 9 2
¸

Para verificar el resultado se puede calcular la inversa directamente con inv(B).
3. Matrices “dispersas”
Ejemplo 6 A veces usamos matrices con muchos ceros. MatLab tiene una forma de trabajar con ellas usando
menos bytes con el comando sparse. Ve´ amoslo con un ejemplo:
Introducimos una matriz:
>>A=[0 0 0 3;0 0 -1 2;3 0 0 1;0 0 0 -2];
- Para convertirla a matriz dispersa
>>s=sparse(A)
Si preguntamos ‘‘whos" vemos que s ocupa menos que A.
- Para recuperar la matriz inicial
>>full(s)
Para visualizar gr´ aficamente la matriz:
>>spy(s)
o bien,
>>imagesc(s),colorbar
Se pueden generar directamente matrices “sparse”:
>>sparse(i,j,s,m,n)
donde: i,j son los sub´ındices de los elementos no nulos (i,j son vectores)
12
s es un vector con los valores de los elementos no nulos
(m,n) es el tama˜ no de la matriz.
De modo que, en el ejemplo anterior, para generar s deber´ıamos escribir:
>>i=[1 2 2 3 3 4];
>>j=[4 3 4 1 4 4];
>>s=[3 -1 2 3 1 -2];
>>m=4;n=4;
>>sparse(i,j,s,m,n)
Y obtenemos s. Para obtener la matriz inicial >>full(s)
Ejercicio 4 Utilizando el comando sparse, generar la matriz 20 ×20

¸
¸
¸
¸
¸
¸
¸
¸
0 1 0 0 . . . 0 0
−1 0 1 0 . . . 0 0
0 −1 0 1 . . . 0 0
.
.
.
.
.
.
.
.
.
0 0 0 0 . . . 0 1
0 0 0 0 . . . −1 0
¸

(Visualizarla para comprobar que est´a bien).
4. Sistemas de ecuaciones lineales
Un sistema de ecuaciones lineales,

a
11
x
1
+a
12
x
2
+. . . +a
1n
x
n
= b
1
a
21
x
1
+a
22
x
2
+. . . +a
2n
x
n
= b
2
.
.
.
a
m1
x
1
+a
m2
x
2
+. . . +a
mn
x
n
= b
m
con m ecuaciones y n inc´ognitas se puede escribir en forma matricial,
Ax = b
donde,
A =

¸
¸
¸
¸
a
11
a
12
. . . a
1n
a
21
a
22
. . . a
2n
.
.
.
a
m1
a
m2
. . . a
mn
¸

; x =

¸
¸
¸
¸
x
1
x
2
.
.
.
x
n
¸

y b =

¸
¸
¸
¸
b
1
b
2
.
.
.
b
m
¸

Vamos a ver mediante algunos ejemplos y ejercicios c´omo se pueden resolver los sistemas de ecuaciones lineales
utilizando algunos de los comandos de Matlab descritos anteriormente.
Ejemplo 7 Consideremos el sistema,

2x −y +z = 3
x +y = 3
y −3z = −7
entonces, siguiendo la notaci´ on anterior,
13
A =

¸
2 −1 1
1 1 0
0 1 −3
¸

, x =

¸
x
y
z
¸

y b =

¸
3
3
−7
¸

Como se trata de un sistema con soluci´ on ´ unica, ya que el determinante de A es distinto de cero,
>>det(A)
ans =
-8
Una forma de resolver el sistema es escribir la matriz orlada (o ampliada)
>>Ab=[A b]
y hacer rref(Ab) con lo que obtenemos

¸
1 0 0 1
0 1 0 2
0 0 1 3
¸

es decir, la soluci´ on es x = 1, y = 2, z = 3.
Otra forma de resolver el sistema consiste en despejar x,
x = A
−1
b,
sin m´ as que escribir
>>x=inv(A)*b
x =
1
2
3
Hay otra forma de hacerlo, utilizando lo que en Matlab se denomina como divisi´on matricial a la izquierda:
>>x=A\b
x =
1
2
3
En este caso, el resultado es el mismo, pero es diferente la forma en la que trabaja el ordenador. En este segundo
caso el m´etodo que utiliza es el de la factorizaci´on LU, que es una modificaci´ on de la eliminaci´ on gaussiana.
Ejercicio 5 Resolver el siguiente sistema utilizando los tres procedimientos anteriormente descritos y comprobar
que sale la misma soluci´ on.

¸
¸
¸
1 1 0 3
2 1 −1 1
3 −1 −1 2
−1 2 3 −1
¸

¸
¸
¸
x
1
x
2
x
3
x
4
¸

=

¸
¸
¸
4
1
−3
4
¸

14
5. Sistemas homog´eneos y su aplicaci´on al ajuste de reacciones qu´ımi-
cas
Un sistema de ecuaciones lineales

a
11
x
1
+a
12
x
2
+. . . +a
1n
x
n
= b
1
a
21
x
1
+a
22
x
2
+. . . +a
2n
x
n
= b
2
.
.
.
a
m1
x
1
+a
m2
x
2
+. . . +a
mn
x
n
= b
m
con m ecuaciones y n inc´ognitas se llama homog´eneo, si todas las constantes b
1
, b
2
,...,b
m
son cero. Es decir, el
sistema general homog´eneo est´a dado por

a
11
x
1
+a
12
x
2
+. . . +a
1n
x
n
= 0
a
21
x
1
+a
22
x
2
+. . . +a
2n
x
n
= 0
.
.
.
a
m1
x
1
+a
m2
x
2
+. . . +a
mn
x
n
= 0
En un sistema homog´eneo, siempre existe la soluci´ on trivial (o soluci´on cero):
x
1
= x
2
= ... = x
n
= 0
Por tanto, en un sistema homog´eneo caben dos posibilidades:
- o bien solo existe la soluci´on trivial;
- o bien existe un n´ umero infinito de soluciones, adem´as de la trivial, llamadas soluciones no triviales.
Ejemplo 8 Un sistema homog´eneo que tiene s´ olo la soluci´ on trivial:

3x
1
+ 4x
2
+ 6x
3
= 0
4x
1
+ 5x
2
+ 6x
3
= 0
3x
1
+x
2
−2x
3
= 0
Si escribimos la matriz ampliada

¸
2 4 6 0
4 5 6 0
3 1 −2 0
¸

,
y aplicamos el comando rref, obtendremos

¸
1 0 0 0
0 1 0 0
0 0 1 0
¸

,
lo que quiere decir que la ´ unica soluci´ on es la trivial,
x
1
= x
2
= x
3
= 0.
Ejemplo 9 Un sistema homog´eneo con un n´ umero infinito de soluciones:

x
1
+ 2x
2
−x
3
= 0
3x
1
−3x
2
+ 2x
3
= 0
−x
1
−11x
2
+ 6x
3
= 0
Haciendo lo mismo que en el ejemplo anterior (y poniendo el resultado en formato racional, format rational,)
obtenemos
15

¸
¸
¸
¸
¸
¸
¸
1 0
1
9
0
0 1
−5
9
0
0 0 0 0
¸

,
lo que quiere decir que, son soluciones todas las ternas de n´ umeros reales de la forma

−1
9
x
3
,
5
9
x
3
, x
3

,
para cualquier valor de x
3
. En particular, para x
3
= 0, obtenemos la soluci´ on trivial; para x
3
= 1, obtenemos la
soluci´ on

−1
9
,
5
9
, 1

,
para x
3
= 9π, la soluci´ on
(−π, 5π, 9π).
Ejemplo 10 Un sistema homog´eneo con m´ as inc´ ognitas que ecuaciones tiene un n´ umero infinito de soluciones:
Resolvemos el sistema:

x
1
+x
2
−x
3
= 0
4x
1
−2x
2
+ 7x
3
= 0
como en los ejemplos anteriores, escribiendo la matriz ampliada y haciendo rref, para obtener

¸
¸
¸
1 0
5
6
0
0 1
−11
6
0
¸

,
lo cual quiere decir que son soluciones todas las ternas de n´ umeros reales de la forma

−5
6
x
3
,
11
6
x
3
, x
3

, ∀x
3
∈ IR
Observaci´on: Si en estos tres ejemplos hubi´eramos escrito la matriz sin ampliar y hubi´eramos hecho rref,
habr´ıamos visto las soluciones m´as r´apidamente:
En el primer ejemplo, puesto que el determinante de la matriz del sistema no era nulo, el resultado era la matriz
identidad (soluci´on ´ unica.) En el segundo caso, aparece una fila de ceros. Y en el tercer caso, ¿qu´e sucede?: lo que
sucede siempre que hay un sistema homog´eneo con m´ as inc´ ognitas que ecuaciones, que tiene un n´ umero infinito de
soluciones.
Ejercicio 6 Resolver el sistema homog´eneo

x
1
−2x
2
+x
3
+x
4
= 0
3x
1
+ 2x
3
−2x
4
= 0
4x
2
−x
3
−x
4
= 0
5x
1
+ 3x
3
−x
4
= 0
Ejercicio 7 Resolver el sistema

25x
1
−16x
2
+ 13x
3
+ 33x
4
−57x
5
= 0
−16x
1
+ 3x
2
+x
3
12x
5
= 0
−8x
2
+ 16x
4
−26x
5
= 0
16
Este estudio de los sistemas homog´eneos se puede aplicar al ajuste de reacciones qu´ımicas:
Ejemplo 11 Para ajustar la reacci´ on
Fe
2
O
3
(s) +C(s) −→ Fe(l) +CO(g)
que se produce cuando calentamos mineral de ´ oxido de hierro con un exceso de carbono para obtener hierro puro,
procedemos de la siguiente manera:
Fe : 2x
1
= x
3
O : 3x
1
= x
4
C : x
2
= x
4
Es decir, se trata de resolver el siguiente sistema homog´eneo de 3 ecuaciones con 4 inc´ ognitas (que, como
acabamos de ver, siempre tiene soluci´ on no trivial):

2x
1
−x
3
= 0
3x
1
−x
4
= 0
x
2
−x
4
= 0
(1)
O lo que es lo mismo, si consideramos x
4
como un par´ ametro (x
4
= λ) tratamos de resolver el siguiente sistema
de 3 ecuaciones con 3 inc´ ognitas

2x
1
−x
3
= 0
3x
1
= λ
x
2
= λ
obteniendo la soluci´ on
x
4
= λ, x
2
= λ, x
1
=
λ
3
, x
3
= 2
λ
3
De modo, que podemos decir que el sistema 1 tiene las infinitas soluciones:
x
1
=
λ
3
, x
2
= λ, x
3
= 2
λ
3
, x
4
= λ
para cualquier valor de λ ∈ IR.
En nuestro caso, solo nos interesa la soluci´ on de n´ umeros enteros positivos x
1
, x
2
, x
3
, x
4
que no tengan divisor
com´ un diferente de 1, es decir, para λ = 3:
x
1
= 1, x
2
= 3, x
3
= 2, x
4
= 3,
de modo que la reacci´ on ajustada es
Fe
2
O
3
+ 3C −→ 2Fe + 3CO
Ejercicio 8 Ajustar las siguientes reacciones qu´ımicas:
1. CO
2
+H
2
O −→ C
6
H
12
O
6
+O
2
2. Pb(N
3
)
2
+Cr(MnO
4
)
2
−→ Cr
2
O
3
+MnO
2
+Pb
3
O
4
+NO
3. AgNO
3
+K
2
CrO
4
−→ Ag
2
CrO
4
+KNO
3
4. Mg +HCl −→ MgCl
2
+H
2
Ejercicio 9 Ajustar la siguiente serie de reacciones qu´ımicas que se utilizan para producir clorato de sodio:
1. KMnO
4
+HCl −→ KCl +MnCl
2
+H
2
O +Cl
2
2. Cl
2
+Ca(OH)
2
−→ Ca(ClO
3
)
2
+CaCl
2
+H
2
O
3. Ca(ClO
3
)
2
+Na
2
SO
4
−→ CaSO
4
+NaClO
3
17

si A y B son las matrices definidas anteriormente. Para saber cu´l es el tama˜ o de una matriz con n a n la que estamos trabajando./ .^ e Si v es el vector definido en la Secci´n 2.* e e ii) dividir matrices t´rmino a t´rmino: .^ e e Matlab tiene tres operaciones. • Para calcular la matriz transpuesta: >>A’ ans = 2 1 3 2 Ejercicio 1 Utilizando las matrices definidas en el ejemplo anterior. que las llamaremos operaciones con punto. explorar qu´ hacen las ordenes e ´ >>A. >>size(A) ans = 2 2 Que quiere decir. >>eye(3) ans = 1 0 0 0 1 0 0 0 1 9 .^2 Por otra parte. que permiten i) multiplicar matrices t´rmino a t´rmino: .*B >>A.>>3*A ans = 6 9 3 6 • Producto de matrices: >>C=A*B C = 5 7 13 22 Siempre que los tama˜os de las matrices sean los adecuados.* . e Ejemplo 3 Matrices especiales con Matlab • Para generar la matriz identidad cuadrada. Ejemplo 2 Operaciones t´rmino a t´rmino: . comprobar que (AB)t = B t At ./B e Estas operaciones con punto son esenciales en el c´lculo num´rico y se utilizan para representar funciones a num´ricamente. 2 filas y 2 columnas. evidentemente. (At es la transpuesta de A). explorar qu´ hace la orden o e >>v./ e e ii) elevar los t´rminos de una matriz a una cierta potencia: .

1889 0. e >>zeros(3. >>det(H) ans = -360 Ejercicio 2 Generar una matriz cualquiera.0222 0. y calcular su inversa. por ejemplo 25×25. >>rank(X) ans = 2 • Supongamos que tenemos definida la siguiente matriz. Ejemplo 4 Rango. 1). 1 -1 0] X = 2 3 4 1 -1 0 Para calcular su rango.1472 -0. siguiendo la Normal Estandar u N (0.1028 Y si queremos ver el resultado en forma racional. >>format rational >>inv(H) ans = 53/360 -13/90 -11/180 1/45 -7/360 17/90 23/360 19/180 -37/360 (Para ver todas las opciones del comando format hacer help format) • Para calcular el determinante de la matriz anterior H. (¡No imprimirla!) ¿Qu´ ocurre con el determinante de la matriz y el de su inversa? e 10 .1444 0.1056 -0.¿Por qu´ habr´n elegido el nombre eye? e a • Una matriz 3 × 2 llena de unos. Inversa y Determinante • Definimos la matriz.0611 -0. H = 8 3 4 1 5 9 6 7 2 Para calcular su inversa.0639 0.2) Si se usa el comando randn los n´meros aleatorios son normalmente distribuidos. >>inv(H) ans = 0. >>X=[2 3 4. >>ones(3.2) • Y si queremos que est´ llena de ceros.2) • Para generar una matriz con n´meros aleatorios uniformemente distribuidos entre 0 y 1.0194 -0. su rango y su determinante. u >>rand(3.

produce una o ´ especie de pel´cula (movie) de todo el proceso. ı >>rrefmovie(A) Original matrix A = -1 2 2 2 1 4 -1 2 2 Press any key to continue. >>A=[-1 2 -1. swap rows 1 and 2 A = 2 -1 2 1 2 4 2 -1 2 Press any key to continue. informaci´n muy ultil si queremos calcular el rango de la matriz por ejemplo. Por ejemplo. definimos la matriz.Ejemplo 5 Los comandos especiales rref y rrefmovie • El comando rref produce la forma reducida escalonada por filas de una matriz usando la eliminaci´n de o Gauss-Jordan. .1) A = 11 . Es decir. Ahora pulsamos una tecla para continuar. pivot = A(1. . . haciendo ceros por debajo y por encima de la diagonal principal sin mover las columnas. . es decir. Nos indica que ha intercambiado la primera y segunda filas.2 1 2.2 4 2] A = -1 2 2 2 1 4 -1 2 2 Ahora escribimos el comando aplicado a la matriz. >>R=rref(A) R = 1 0 0 0 1 0 1 0 0 • El comando rrefmovie produce exactamente el mismo resultado pero nos indica paso a paso c´mo se va o obteniendo la matriz resultado e incluso qu´ filas o columnas son despreciables (por ser linealmente dependientes e de las otras). pulsamos de nuevo una tecla.

1 -1 2 1/2 2 4 1 -1 2 Press any key to continue. >>imagesc(s).Para convertirla a matriz dispersa >>s=sparse(A) Si preguntamos ‘‘whos" vemos que s ocupa menos que A. MatLab tiene una forma de trabajar con ellas usando menos bytes con el comando sparse.colorbar Se pueden generar directamente matrices “sparse”: >>sparse(i.m. .n) donde: i. 3.j son vectores) 12 .s.Para recuperar la matriz inicial >>full(s) Para visualizar gr´ficamente la matriz: a >>spy(s) o bien. o Ejercicio 3 a) Calcular el rango de la matriz siguiente utilizando el comando rref o rrefmovie:   16 2 3 13  5 11 10 8   A=  9 7 6 12 4 14 15 1 b) Si una matriz H es cuadrada y no singular.0 0 -1 2. es decir det(H) = 0. Matrices “dispersas” Ejemplo 6 A veces usamos matrices con muchos ceros.j. Ve´moslo con un ejemplo: a Introducimos una matriz: >>A=[0 0 0 3. eliminate in column 1 A = 1 -1 2 1/2 2 4 1 -1 2 Press any key to continue.   8 1 6 B = 3 5 7 4 9 2 Para verificar el resultado se puede calcular la inversa directamente con inv(B). Ahora nos est´ indicando que va a eliminar (hacer ceros) en la primera columna y as´ sucesivamente hasta obtener a ı el mismo resultado que nos di´ el comando rref.1) de la matriz. ¿cu´l ser´ la matriz R = rref(H)? a a c) ¿C´mo podemos utilizar estos comandos para calcular la inversa de una matriz invertible? Aplicarlo a la o matriz.3 0 0 1. .0 0 0 -2]. .j son los sub´ ındices de los elementos no nulos (i. . Ahora nos indica que va a pivotear sobre el elemento (1. . .

.  . >>j=[4 3 4 1 4 4].  . Sistemas de ecuaciones lineales Un sistema de ecuaciones lineales.n) es el tama˜ o de la matriz.   .m..j. siguiendo la notaci´n anterior.. 0 .   am1 x1 + am2 x2 + . Ejemplo 7 Consideremos el sistema. . . 0 1 −1 0 0 0 0 4. .  0 0  0  .n) Y obtenemos s.  a1n a2n   . .. + a2n xn = b2 .. 0 0 0 0 0 0 (Visualizarla para comprobar que est´ bien). Para obtener la matriz inicial >>full(s) Ejercicio 4 Utilizando el comando sparse. 1 ..  bm con m ecuaciones y n inc´gnitas se puede escribir en forma matricial. 0 .. para generar s deber´ ıamos escribir: >>i=[1 2 2 3 3 4]. >>m=4. o 13 . >>sparse(i. n De modo que. + amn xn = bm Ax = b donde. ..  . amn  x1  x2    x= .s. 0 .  . . .  . a11  a21  A= . + a1n xn = b1    a21 x1 + a22 x2 + . generar la  0 1 0 −1 0 1   0 −1 0   .   . . .. . >>s=[3 -1 2 3 1 -2]. ..  a11 x1 + a12 x2 + ... .  .  a12 a22 am2 . .n=4. o y am1 Vamos a ver mediante algunos ejemplos y ejercicios c´mo se pueden resolver los sistemas de ecuaciones lineales o utilizando algunos de los comandos de Matlab descritos anteriormente.. . en el ejemplo anterior. .  xn  b1  b2    b= . a matriz 20 × 20 0 ..  2x − y + z = 3  x+y =3   y − 3z = −7 entonces.s es un vector con los valores de los elementos no nulos (m. ..

En este segundo caso el m´todo que utiliza es el de la factorizaci´n LU. pero es diferente la forma en la que trabaja el ordenador.Como se trata de un sistema con soluci´n unica. el resultado es el mismo. x = A−1 b. o Otra forma de resolver el sistema consiste en despejar x. que es una modificaci´n de la eliminaci´n gaussiana. o      1 1 0 3 x1 4 2 1 −1 1  x2   1        3 −1 −1 2  x3  = −3 −1 2 3 −1 x4 4 14 . o ´ >>det(A) ans = -8 Una forma de resolver el sistema es escribir la matriz orlada (o ampliada) >>Ab=[A b] y hacer rref(Ab) con lo que obtenemos  1 0 0 0 0 1 0 0 1  1 2 3  2 −1 1 A = 1 1 0 . 0 1 −3    x x = y  z y  3 b= 3  −7  es decir. y = 2. e o o o Ejercicio 5 Resolver el siguiente sistema utilizando los tres procedimientos anteriormente descritos y comprobar que sale la misma soluci´n. ya que el determinante de A es distinto de cero. utilizando lo que en Matlab se denomina como divisi´n matricial a la izquierda: o >>x=A\b x = 1 2 3 En este caso. z = 3. la soluci´n es x = 1. sin m´s que escribir a >>x=inv(A)*b x = 1 2 3 Hay otra forma de hacerlo.

. .5. . 1 0 y aplicamos el comando rref. + a1n xn = b1    a21 x1 + a22 x2 + .. . + a2n xn = b2 . . . −2 0  0 0 0 0 . llamadas soluciones no triviales. si todas las constantes b1 . . .. Es decir. Ejemplo 9 Un sistema homog´neo con un n´mero infinito de soluciones: e u  x1 + 2x2 − x3 = 0  3x − 3x2 + 2x3 = 0  1  −x1 − 11x2 + 6x3 = 0 Haciendo lo mismo que en el ejemplo anterior (y poniendo el resultado en formato racional. + amn xn = 0 En un sistema homog´neo.   am1 x1 + am2 x2 + . . o . Sistemas homog´neos y su aplicaci´n al ajuste de reacciones qu´ e o ımicas Un sistema de ecuaciones lineales  a11 x1 + a12 x2 + . obtendremos lo que quiere decir que la unica soluci´n es la trivial. + a1n xn = 0    a21 x1 + a22 x2 + .. = xn = 0 Por tanto. en un sistema homog´neo caben dos posibilidades: e . adem´s de la trivial. ´ o 1 0 0 1 0 0 x1 = x2 = x3 = 0.) obtenemos 15 . . . siempre existe la soluci´n trivial (o soluci´n cero): e o o x1 = x2 = .bm son cero. . + a2n xn = 0 .o bien solo existe la soluci´n trivial.. u a Ejemplo 8 Un sistema homog´neo que tiene s´lo la soluci´n trivial: e o o  3x1 + 4x2 + 6x3 = 0  4x + 5x2 + 6x3 = 0  1  3x1 + x2 − 2x3 = 0 Si escribimos la matriz ampliada  2 4 4 5 3 1   6 0 6 0 . . .. . format rational.o bien existe un n´ mero infinito de soluciones. + amn xn = bm con m ecuaciones y n inc´gnitas se llama homog´neo. b2 . el o e sistema general homog´neo est´ dado por e a  a11 x1 + a12 x2 + ..   am1 x1 + am2 x2 + . .

x3 . o e e habr´ ıamos visto las soluciones m´s r´pidamente: a a En el primer ejemplo. Y en el tercer caso. para obtener     1 0 0 1 5 6 −11 6 0 0      0 1   0 0 1 9 −5 9 0  0     0 . aparece una fila de ceros. la soluci´n o (−π. obtenemos la soluci´n trivial. 5π.  Observaci´n: Si en estos tres ejemplos hubi´ramos escrito la matriz sin ampliar y hubi´ramos hecho rref. Ejemplo 10 Un sistema homog´neo con m´s inc´gnitas que ecuaciones tiene un n´mero infinito de soluciones: e a o u Resolvemos el sistema: x1 + x2 − x3 = 0 4x1 − 2x2 + 7x3 = 0 como en los ejemplos anteriores.1 . para x3 = 1. 9 9 para x3 = 9π.   0 lo cual quiere decir que son soluciones todas las ternas de n´meros reales de la forma u −5 11 x3 . x3 . el resultado era la matriz identidad (soluci´n unica. En particular. . 6 6 ∀x3 ∈ I R  . 9π). para x3 = 0. 1 0 lo que quiere decir que. 9 9 para cualquier valor de x3 . obtenemos la o soluci´n o −1 5 . escribiendo la matriz ampliada y haciendo rref. x3 . que tiene un n´mero infinito de e a o u soluciones. ¿qu´ sucede?: lo que o ´ e sucede siempre que hay un sistema homog´neo con m´s inc´gnitas que ecuaciones. x3 . puesto que el determinante de la matriz del sistema no era nulo. Ejercicio 6 Resolver el sistema homog´neo e  x1 − 2x2 + x3 + x4 = 0   3x + 2x3 − 2x4 = 0 1  4x2 − x3 − x4 = 0    5x1 + 3x3 − x4 = 0 Ejercicio 7 Resolver el sistema  25x1 − 16x2 + 13x3 + 33x4 − 57x5 = 0  −16x1 + 3x2 + x3 12x5 = 0   −8x2 + 16x4 − 26x5 = 0 16 .) En el segundo caso. son soluciones todas las ternas de n´meros reales de la forma u −1 5 x3 .

AgN O3 + K2 CrO4 −→ Ag2 CrO4 + KN O3 4. Ca(ClO3 )2 + N a2 SO4 −→ CaSO4 + N aClO3 17 x2 = 3. solo nos interesa la soluci´n de n´meros enteros positivos x1 . se trata de resolver el siguiente sistema homog´neo de 3 ecuaciones con 4 inc´gnitas (que. ´ procedemos de la siguiente manera: F e : 2x1 = x3 O : 3x1 = x4 C : x2 = x4 Es decir. es decir. siempre tiene soluci´n no trivial): o  2x1 − x3 =0  (1) 3x1 − x4 = 0   x2 − x4 = 0 obteniendo la soluci´n o O lo que es lo mismo. M g + HCl −→ M gCl2 + H2 Ejercicio 9 Ajustar la siguiente serie de reacciones qu´micas que se utilizan para producir clorato de sodio: ı 1. CO2 + H2 O −→ C6 H12 O6 + O2 2. como e o acabamos de ver. si consideramos x4 como un par´metro (x4 = λ) tratamos de resolver el siguiente sistema a de 3 ecuaciones con 3 inc´gnitas o  2x1 − x3 = 0  3x =λ  1  x2 =λ λ λ . λ x3 = 2 . de modo que la reacci´n ajustada es o F e2 O3 + 3C −→ 2F e + 3CO Ejercicio 8 Ajustar las siguientes reacciones qu´micas: ı 1. . 3 x4 = λ para cualquier valor de λ ∈ I R. x2 = λ. KM nO4 + HCl −→ KCl + M nCl2 + H2 O + Cl2 2. x3 . x4 = 3. x1 = x1 = λ . que podemos decir que el sistema 1 tiene las infinitas soluciones: x4 = λ. 3 x2 = λ. En nuestro caso. x3 = 2 3 3 De modo.Este estudio de los sistemas homog´neos se puede aplicar al ajuste de reacciones qu´ e ımicas: Ejemplo 11 Para ajustar la reacci´n o F e2 O3 (s) + C(s) −→ F e(l) + CO(g) que se produce cuando calentamos mineral de oxido de hierro con un exceso de carbono para obtener hierro puro. x3 = 2. Cl2 + Ca(OH)2 −→ Ca(ClO3 )2 + CaCl2 + H2 O 3. x2 . P b(N3 )2 + Cr(M nO4 )2 −→ Cr2 O3 + M nO2 + P b3 O4 + N O 3. x4 que no tengan divisor o u com´n diferente de 1. para λ = 3: u x1 = 1.

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->