Está en la página 1de 20

Instituto Tecnológico de Costa Rica

Escuela de Ingeniería en Electrónica


CM3201 Métodos Numéricos Grupos 9 y 10, II semestre 2005
Prof. Marvin Hernández C.
Ecuaciones Lineales

Eliminación de Gauss
En esta sección se analizan varios métodos para resolver las ecuaciones algebraicas lineales
simultáneas que se representan como:

a11x1+a12x2+...+a1nxn=b1
a21x1+a22x2+...+a2nxn=b2
.
.
an1x1+an2x2+...+annxn=bn

Solución de sistemas pequeños de ecuaciones

A continuación se describirán algunos métodos que son apropiados en la solución


de pequeños sistemas de ecuaciones simultáneas (n  3) que no requieren de computadora.

Método gráfico

Para dos ecuaciones se puede obtener una solución al graficarlas en coordenadas cartesianas
con un eje que corresponda a x1 y el otro a x2.

a11x1 + a12x2 = b1
a21x1 + a22x2 = b2

En ambas ecuaciones se despeja x2:

a  b
x 2    11  x 1  1
 a 12  a 12
a  b
x 2    21  x 1  2
 a 22  a 22

Ahora éstas ecuaciones están en la forma de líneas rectas y se pueden graficar.


Ejemplo:
Resuelva
3x1 + 2x2 = 18
-x1 + 2x2 = 2
despejando x2 para ambas ecuaciones se tiene

3
x 2    x 1  9
2
1
x 2    x 1  1
2

Determinantes y la regla de Cramer

Un sistema de tres ecuaciones lineales se puede denotar como:

AX = B

donde A es la matriz de coeficientes:

 a 11 a 12 a 13 
 A  a 21 a 22 a 23 
a 31 a 32 a 33 
El determinante D de este sistema se forma a partir de los coeficientes del sistema:

 a 11 a 12 a 13 
D  a 21 a 22 a 23 
a 31 a 32 a 33 

el determinante que es un simple valor se calcula así:

a 22 a 23 a a 23 a a 22
D  a 11  a 12 21  a 13 21
a 32 a 33 a 31 a 33 a 31 a 32

Regla de Cramer

Esta regla establece que cada incógnita de un sistema de ecuaciones se puede


despejar de la siguiente forma:

b1 a 12 a 13
b2 a 22 a 23
b3 a 32 a 33
x1 
D

Ejemplo:
Utilice la regla de Cramer para resolver:

0.3x1 +0.52x2 + x3= -0.01


0.5x1 +x2 + 1.9x3= 0.67
0.1x1 +0.3x2 + 0.5x3= -0.44

Solución.

0.3 0.52 1
D  0.5 1 1.9
0.1 0.3 0.5

1 1.9 0.5 1.9 0.5 1


D  0.3  0.52 1
0.3 0.5 0.1 0.5 0.1 0.3

D = -0.0022
Usando la Regla de Cramer
- 0.01 0.52 1
0.67 1 1.9
- 0.44 0.3 0.5
x1   14.9
- 0.0022

0.3 - 0.01 1
0.5 0.67 1.9
0.1 0. - 0.44 0.5
x2   29.5
- 0.0022

0.3 0.52 - 0.01


0.5 1 0.67
0.1 0.3 - 0.44
x 31   19.8
- 0.0022

La eliminación de incógnitas

Se tiene el siguiente sistema de ecuaciones:

a11x1 + a12x2 = b1
a21x1 + a22x2 = b2
La estrategia consiste en multiplicar ambas ecuaciones por constantes, de tal forma
que se elimine una de las incógnitas cuando se combinen las ecuaciones.

a11a21x1 + a12 a21x2 = b1 a21


a21a11x1 + a22 a11x2 = b2 a11

Se sustituye una ecuación en la otra para que quede en términos de una sola variable.

a22 a11x2- a12 a21x2 = b2 a11 - b1 a21

despejando x2

a 11 b 2  a 12 b 1
x2 
a 11 a 22  a 12 a 21

Ahora se puede sustituir en cualquiera de las dos ecuaciones originales para despejar x1.
a b  a 12 b 2
x 1  22 1
a 11 a 22  a 12 a 21
Eliminación de Gauss simple

Es una técnica sistemática de eliminación hacia delante y sustitución hacia atrás. Puede ser
utilizada como algoritmo para automatizarla (por computadora), pero no es muy efectivo.

El método está ideado para resolver un sistema general de n ecuaciones de esta forma:

a11x 1  a12 x 2  a13 x 3    a1n x n  b1


a21x 1  a22 x 2  a23 x 3    a2n x n  b2
a31x 1  a32 x 2  a33 x 3    a3n x n  b3

an1x 1  an 2 x 2  an3 x 3    ann x n  bn

Eliminación hacia delante

Consiste en reducir el conjunto de ecuaciones a un sistema triangular superior, en otras


palabras eliminar los términos X1 (desde la segunda hasta la n-ésima ecuación), luego los términos X 2
(desde la tercera en adelante) y así sucesivamente.

La primera ecuación que se tiene y que es con la que se trabaja se le llama ecuación pivote y
el primer término se le llama coeficiente o elemento pivote.

Obteniendo finalmente un sistema triangular de esta forma:

a11 x1  a12 x2  a13 x3    a1n x n  b1


 x2  a23
a22  x3    a2 n xn  b2
 x3    a3n xn  b3
a33

( n 1)
ann xn  bn( n 1)

Sustitución hacia atrás

De la última ecuación anterior se despeja xn:


bn( n 1)
xn  ( n 1)
ann
Por tanto, en forma general se tiene que
:
n
bi( i 1)  a
j  i 1
( i 1)
ij xj
para i=n-1, n-2, …, 1
xi  ( i 1)
a ii
Ejemplo:

Dado
3x1  0.1x2  0.2x3  7.85
0.1x1  7 x2  0.3x3  19.3
0.3x1  0.2x2  10x3  71.4

La primera parte es la eliminación hacia delante, así que se toma (1.1) y se multiplica por 0.1/3 y el
resultado se le resta a (1.2) para así obtener:
7.003x2  0.2933x3  19.56
De esta forma se elimina la variable x1.
Después se multiplica (1.1) por 0.3/3 y se resta de la ecuación (1.3). Luego de efectuar estas
operaciones, el sistema de ecuaciones es

3x1 -0.1x2  0.2x3  7.85


7.003x2  0.2933x3  -19.56
-0.1900x2  10.02x3  70.61

De la misma forma se hace la eliminación de x2, en la ecuación (1.6), para obtener un sistema triangular
superior. Para esto se multiplica la ecuación (1.5) (que es la nueva ecuación pivote), por
- 0.1900/7.003 y se le resta el resultado a (1.6), esto da por resultado

3x1 -0.1x2  0.2x3  7.85


7.003x2  0.2933x3  -19.56
10.02x3  70.08

Ahora se hace la sustitución hacia atrás empezando por la última del sistema, donde se despeja x3:

70.08
x3   7.000
10.02
este resultado se sustituye en (1.8) donde se obtiene
19.56  0.2933   7.000 
x2   2.500
7.000
y finalmente

7.85  0.1  2.500   0.2  7.000 


x1   3.000
3
Dificultades en los métodos de eliminación

Muchos sistemas de ecuaciones se pueden resolver con la eliminación de Gauss simple, pero
existen algunas dificultades que se deben eliminar a la hora de realizar un programa de cómputo.

División por cero

2x2 + 3x3 = 8
4x1 + 6x2 + 7x3 = -3
2x1 + x2 + 6x3 = 5

En la normalización del primer renglón habrá una división entre a11 = 0. También se pueden
presentar problemas cuando un coeficiente está muy cercano a cero, la técnica de pivoteo se ha
desarrollado para evitar en forma parcial estos problemas.

Errores de Redondeo

Al utilizar menos cifras significativas, se obtiene un error relativo mayor, así por ejemplo en la
solución de una ecuación cuyo valor es 7.85, el valor proporcionado al limitar el uso de la
computadora a 6 cifras significativas da 7.84999.

Esto puede causar problemas en los sistemas de gran cantidad de ecuaciones (100 ecuaciones)
ya que cada error de redondeo se arrastra en cada ecuación.

Sistemas mal condicionados: Son aquellos que en donde pequeños cambios en los
coeficientes generan grandes cambios en la solución

Ejemplo:

x1 + 2x2 = 10
1.1x1 + 2x2 = 10.4

la resolución de este sistema da x1 = 4 y x2 = 3, pero al cambiar el coeficiente de a21 de 1.1 a 1.05, le


resultado cambia de 1.1 a 1.05 el resultado cambia drásticamente a x1 = 8 y x2 = 1

En el caso de estos sistemas, visualmente se puede observar que las pendientes de las líneas
que representan cada ecuación son casi iguales y por ello es difícil observar donde se intersecan
(solución del sistema).

En el caso en que a11a22 – a12a21 ≈ 0 (equivalente al determinante), se esta ante un sistema mal
condicionado. A su vez si el determinante de un sistema bidimensional es cercano a cero, esto no
quiere decir que necesariamente el sistema sea mal condicionado, para determinar esto se debe llevar
a cabo un escalamiento del sistema.

Ejemplo:
Escalar a un valor máximo de 1 y calcular de nuevo los determinantes.
3x1 + 2x2 =18
-x1 + 2x2 = 2
cuyo determinante da 8

al escalar se obtiene:

x1 + 0.667x2 = 6
-0.5x1 + x2 = 1

cuyo determinante es 1.33

en el caso de

x1 + 2x2 = 10
1.1x1 + 2x2 = 10.4 cuyo determinante da -0.2.

escalando se obtiene

0.5x1 + x2 = 5
0.55x1 + x2 = 5.2 cuyo determinante es -0.05. En el último caso se puede observar como al escalar se
llega a tener un discriminante muy cerca no a cero, lo cual evidencia el mal condicionamiento del
sistema.

Cuando las ecuaciones de un sistema son semejantes o a su vez idénticas, se dice que el
sistema es mal condicionado, tales casos podrían no ser obvios en especial con grandes sistemas de
ecuaciones, por lo que sería útil tener una forma de detectar la singularidad de manera automática,
esto se puede discernir si se crea un cero un cero en la diagonal durante la etapa de la eliminación,
aplicando el método de eliminación de Gauss.

Técnicas para mejorar las soluciones


Para evitar algunos de los problemas que se introducen por medio del algoritmo de
eliminación de Gauss simple, se pueden utilizar cuatro técnicas diferentes (uso de más
cifras significativas, Pivoteo, Escalamiento, algoritmo para la eliminación gaussiana).

Uso de más cifras significativas

Como su nombre lo dice, esta técnica consiste en emplear más cifras significativas a
la hora de realizar los cálculos, con el fin reducir los problemas del mal condicionamiento.
En el caso de los computadores, el incremento de cifras significativas da como resultado
una mayor cantidad de cálculos y uso de memoria.
Pivoteo

Errores de redondeo pueden ser introducidos cuado el elemento pivote es cero, ó


muy cercano a cero. Existen dos tipos de pivoteos que tratan de eliminar este problema:
pivoteo parcial y pivoteo completo.

El primero consiste en determinar el coeficiente más grande disponible en la columna debajo


del elemento pivote; así los reglones se pueden intercambiar de manera que el elemento más grande
sea el elemento pivote.

El pivoteo completo consiste en buscar el elemento más grande tanto en las columnas como
en los renglones y luego intercambiarlos. Este procedimiento rara vez se utiliza debido a que agrega
significativa e injustificada complejidad a los programas de computadora.

Escalamiento

El escalamiento es útil para la estandarización del tamaño determinante, así como para la
minimización de los errores de redondeo; en donde algunas de las ecuaciones de un sistema tienen
coeficientes mucho más grandes que otros. Tales situaciones se encuentran con frecuencia en la
práctica de la ingeniería, al usar unidades muy diferentes en el desarrollo de ecuaciones simultáneas.
Este escalamiento puede tener un impacto directo sobre el error de redondeo, ya que afecta el pivoteo.

Algoritmo para la eliminación Gaussiana

Es posible implementar un algoritmo completo de la eliminación de Gauss en diferentes códigos


de computador. Esta implementación incluye las tres operaciones principales del algoritmo de
eliminación gaussiana: eliminación hacia delante, sustitución hacia atrás y pivoteo. Este algoritmo se
caracteriza por que:
 Las ecuaciones no están escaladas, pero los valores escalados de los elementos se usan para
determinar si se debe usar el pivoteo.
 El término diagonal se vigila durante la fase del pivoteo para detectar ocurrencias de valores
cercanos a cero y con esto indicar si el sistema es singular.

Sistemas complejos

En algunos problemas es posible obtener un sistema de ecuaciones complejas de la siguiente


forma:
[C] {Z} = {W}
donde

[C] = [A] + i[B]{Z} = {X} + i{Y} {W} = {U} + i{V} ; i  1


La forma más directa para resolver un sistema de este tipo, consiste en sustituir todas las
operaciones reales por complejas, sin embargo esto solo es posible con lenguajes que permiten el uso
de variables complejas.

Para lenguajes que no permiten la declaración de variables complejas, se debe escribir un


código que convierta operaciones reales en complejas. Esto se logra por medio de las siguientes
ecuaciones:

[A] {X] – [B] {Y} = {U} y [B] {X} + [A] {Y} = {V}

La implementación de código en el cual se utilicen las ecuaciones anteriores significa que el


tiempo de almacenamiento y de ejecución se incrementarán en forma notable.

Sistemas de ecuaciones no lineales

Un sistema de n ecuaciones no lineales se puede expresar como:

f1 ( x1 ,x2 ,...,xn )  0
f 2 ( x1 ,x2 ,...,xn )  0
.
.
.
f n ( x1 ,x2 ,...,xn )  0

La solución de este sistema consiste en un conjunto de valores x que hacen todas las
ecuaciones iguales a cero, utilizando una versión multidimensional del método de Newton-Raphson,
o sea, que se escribe una expansión de la serie de Taylor para cada ecuación. Para la k-ésima
ecuación:

f k ,i f f
f k ,i 1  f k ,i  ( x1,i 1  x1,i )  ( x2,i 1  x2,i ) k ,i    ( xn,i 1  xn,i ) k ,i
x1 x2 xn

donde k representa la ecuación o la incógnita y el segundo subíndice denota si el valor en la ecuación


es el presente (i) o el siguiente (i + 1). Luego todos los términos fk,i+1 se igualan a cero

f k ,i f f f f f
 f k ,i  x1,i  x2 ,i k ,i    xn ,i k ,i  x1,i 1 k ,i  x2,i 1 k ,i    xn,i 1 k ,i
x1 x2 xn x1 x2 xn

Las únicas incógnitas en la ecuación anterior son los términos xk,i+1 del lado derecho, ya que
las otras cantidades tienen su valor presente, por lo tanto son conocidas en cualquier iteración. Se
puede utilizar la notación matricial para expresar ésta ecuación, donde las derivadas parciales se
expresan como
 
 
 f1,i f1,i

f1,i 
 x1 x2 xn 
 
f f 2,i f 2,i
 Z    2,i  

x x2 xn
 1 
   
 f f n,i f n,i 
 n,i  
 x x2 xn 
 1 

Los valores inicial y final se expresan en forma vectorial

 Xi
T
  x1,i x2,i ... xn ,i 
y
 X i 1
T
  x1,i 1 x2,i 1 ... xn,i 1 

Y los valores de la función en i se pueden expresar como

 Fi 
T
  f1,i f 2,i ... f n,i 

Usando estas relaciones, la ecuación anterior puede representar como

 Z   X i 1    Fi    Z   X i 
Esta ecuación se resuelve utilizando alguna técnica como la eliminación de Gauss.

El proceso descrito tiene dos grandes desventajas. Primero, que no siempre es fácil evaluar la
matriz presentada arriba. Por esto se ha desarrollado una variación del método de Newton-Raphson,
que se basa en el uso de aproximaciones por diferencias finitas, para calcular las derivadas parciales
que aparecen en [Z].

La segunda desventaja de éste método para múltiples ecuaciones, es que, por lo general, se
requiere de excelentes valores iniciales para asegurar la convergencia y esto es muy difícil de obtener.

Gauss-Jordan
Éste método es una variación de la eliminación de Gauss con la diferencia de que cuando una
incógnita se elimina, es eliminada de todas las otras ecuaciones, no solo de las subsecuentes, además
de que todos los renglones se normalizan al dividirlos entre un “pivote”. De esta manera la
eliminación genera una matriz identidad y no una triangular, por lo que no hay que utilizar la
sustitución hacia atrás para obtener la solución.
Descomposición LU e inversión de matrices
Descomposición LU

Como se observó, la eliminación de Gauss sirve para resolver sistemas de ecuaciones


algebraicas lineales de la forma:

[A] {X} = {B}

Gauss resulta satisfactorio para tales sistemas, pero resulta ineficiente cuando deben
resolverse ecuaciones con los mismos coeficientes A pero con diferentes constantes del lado derecho,
es decir, diferentes B.

Los métodos de descomposición LU separan el tiempo utilizado en las eliminaciones para la


matriz A de las manipulaciones del lado derecho B. Esto provoca que una vez que A se ha
decompuesto, los vectores múltiples B se pueden evaluar de manera eficiente.

La ecuación anterior se puede reordenar como:

[A] {X} - {B} = 0

Esta ecuación se puede expresar como un sistema triangular superior de la forma

u11 u12 u13   x1  d1 


0 u    
 22 u23   x2   d 2 
 0 0 u33   x2  d3 

Esta expresión es similar a la manipulación que ocurre en el primer paso de la eliminación de


Gauss, por lo que se puede utilizar la eliminación para reducir el sistema a una forma triangular
superior. La ecuación se reordena como:

[U]{X}-{D} = 0

Si existe una matriz diagonal inferior con números uno en la diagonal

1 0 0
 0
L = l21 1
l31 l32 1

Que cuando se multiplica por la ecuación anterior da como resultado

[L]{[U]{X}-{D}} = [A]{X}-{B}
Por lo que si la ecuación se satisface se obtiene:

[L][U] = [A]

[L]{D} = {B}

La secuencia de pasos para obtener soluciones se basa en la ecuaciones anteriores y es:


1) Paso de descomposición LU: A se factoriza en matrices triangulares inferior L y
superior U.

2) Paso de la sustitución: L y U se usan para determinar una solución X para un lado


derecho B. Primero se genera un vector intermedio D mediante la sustitución
hacia delante. Después el resultado se sustituye en la ecuación para obtener
mediante sustitución hacia atrás el valor de X.

Eliminación dee Gauss usando descomposición LU

La eliminación de Gauss puede utilizarse para descomponer A en L y U. U es el resultado


directo de la eliminación hacia adelante. Recuerde que la forma de U es:

a11 a12 a13 


 a '23 
U=  0 a'22
 0 0 a' '33 

La matriz L se produce en el proceso de la eliminación de Gauss que se utilizó para obtener


la matriz anterior. Esto se puede utilizar mediante un sistema de tres ecuaciones:

 a11 a12 a13   x1  b1 


a    
 21 a22 a23   x2   b2 
a31 a32 a33   x2  b3 

El primer paso de Gauss es multiplicar el renglón 1 por F 21 = a21 / a11 y restar el resultado al
segundo reglón para eliminar a21. De forma similar el renglón 1 se multiplica por F31 = a31 / aa11 y se
resta el resultado del renglón tres. Finalmente el paso final es multiplicar el segundo renglón
modificado por F32 = a´32 / a´22 y restar al tercer renglón.

Se almacenan los factores F21, F31 y F32 en los ceros que fueron creados mediante la
eliminación anterior. Por lo tanto se obtienen las matrices:

a11 a12 a13 


 a '23 
U=  0 a'22
 0 0 a' '33 
1 0 0
 0
L =  f 21 1
 f 31 f 32 1

Después de descomponer la matriz, se puede generar una solución para un vector particular
B. Primero se realiza un paso de sustitución hacia delante para encontrar D. El lado derecho queda sin
alterar.

En el segundo paso se realiza la sustitución hacia atrás, para obtener X.

La matriz inversa

Si una matriz [A] es cuadrada, existe otra matriz [A]-1, conocida como la inversa de [A], de lo
que se cumple que:

[A][A]-1 = [A]-1[A] = [I] (Matriz identidad)

Cálculo de la matriz inversa

La inversa se puede calcular en forma de columna por columna, generando soluciones con
vectores unitarios como las constantes del lado derecho. La mejor forma de realizar un cálculo como
este es con el algoritmo de descomposición de LU, ya que proporciona un medio eficiente para
evaluar diversos vectores del lado derecho. Por lo tanto, es ideal para evaluar los vectores unitarios
requeridos en el cálculo de la inversa.

Aplicaciones:

La matriz inversa ofrece una poderosa técnica para comprender las interrelaciones entre las
partes componentes de sistemas complicados de la forma:

x1  a111b1  a121b2  a131b3


1 1 1
x 2  a 21 b1  a 22 b2  a 23 b3
1 1 1
x3  a 31 b1  a32 b2  a33 b3

1
ya que cada uno de los elementos ( aij b j ) representa la respuesta de una sola parte del sistema a un
estímulo unitario de cualquier otra parte de dicho sistema. Estas formulaciones son lineales, por lo
que satisfacen la proporcionalidad y la superposición. La superposición debido a que el sistema al
estar expuesto a varios estímulos (las b) las respuestas se pueden calcular individualmente y los
resultados se pueden sumar para obtener la respuesta total; la proporcionalidad ya que al multiplicar
los estímulos por una cantidad dada, el resultado es la respuesta a esos estímulos multiplicada por la
misma cantidad.

Ejemplo:
Calcular el inverso de la siguiente matriz:

-0.0400 0.0400 0.1200


0.5600 -1.5600 0.3200
-0.2400 1.2400 -0.2800

Primero se ejecuta el comando para ingresar la matriz en el Matlab:

>> A = [-0.04 0.04 0.12; 0.56 -1.56 0.32; -0.24 1.24 -0.28]

A=

-0.0400 0.0400 0.1200


0.5600 -1.5600 0.3200
-0.2400 1.2400 -0.2800

Luego se le agrega la matriz identidad al lado izquierdo, esto se realiza mediante el comando:

>> a = [A,eye(3)]

a=

-0.0400 0.0400 0.1200 1.0000 0 0


0.5600 -1.5600 0.3200 0 1.0000 0
-0.2400 1.2400 -0.2800 0 0 1.0000

Ahora, se procede a realizar la inversión de la matriz.

1) El primer paso es intercambiar la fila 1 con 2, para ello se hará uso de una variable, en este caso
denominada tempo, para realizar la sustitución:

>> tempo = a(2,:);


>> a(2,:)=a(1,:);
>> a(1,:)=tempo

a=

0.5600 -1.5600 0.3200 0 1.0000 0


-0.0400 0.0400 0.1200 1.0000 0 0
-0.2400 1.2400 -0.2800 0 0 1.0000

2) Ahora es necesario normalizar la fila 1, esto se hace dividiendo toda la fila entre el primero de sus
términos:
>> a(1,:)=a(1,:)/a(1,1)

a=

1.0000 -2.7857 0.5714 0 1.7857 0


-0.0400 0.0400 0.1200 1.0000 0 0
-0.2400 1.2400 -0.2800 0 0 1.0000

3) Ahora se tienen que eliminar los términos por debajo del primer pivote restando la primera fila
multiplicada por el número que se va a eliminar:

>> for i=2:3


a(i,:)=a(i,:)-a(i,1)*a(1,:)
end

a=

1.0000 -2.7857 0.5714 0 1.7857 0


0 -0.0714 0.1429 1.0000 0.0714 0
-0.2400 1.2400 -0.2800 0 0 1.0000

a=

1.0000 -2.7857 0.5714 0 1.7857 0


0 -0.0714 0.1429 1.0000 0.0714 0
0 0.5714 -0.1429 0 0.4286 1.0000

4) El segundo pivoteo se realiza intercambiando la fila 2 con la 3 tal como se ejecuto anteriormente:

>> tempo = a(2,:);


>> a(2,:)=a(3,:);
>> a(3,:)=tempo

a=

1.0000 -2.7857 0.5714 0 1.7857 0


0 0.5714 -0.1429 0 0.4286 1.0000
0 -0.0714 0.1429 1.0000 0.0714 0

5) La segunda fila se normaliza dividiéndola entre su propio pivote:

>> a(2,:)=a(2,:)/a(2,2)
a=

1.0000 -2.7857 0.5714 0 1.7857 0


0 1.0000 -0.2500 0 0.7500 1.7500
0 -0.0714 0.1429 1.0000 0.0714 0

6) Se procede a eliminar los elementos que están arriba del segundo pivote restando la segunda fila
multiplicada por el número que se va a eliminar:

>> for i=1:3


if i~=2, a(i,:)=a(i,:)-a(i,2)*a(2,:)
end
end

a=

1.0000 0 -0.1250 0 3.8750 4.8750


0 1.0000 -0.2500 0 0.7500 1.7500
0 -0.0714 0.1429 1.0000 0.0714 0

a=

1.0000 0 -0.1250 0 3.8750 4.8750


0 1.0000 -0.2500 0 0.7500 1.7500
0 0 0.1250 1.0000 0.1250 0.1250

7) La tercera fila se normaliza dividiéndola entre su propio pivote:

>> a(3,:)=a(3,:)/a(3,3)

a=

1.0000 0 -0.1250 0 3.8750 4.8750


0 1.0000 -0.2500 0 0.7500 1.7500
0 0 1.0000 8.0000 1.0000 1.0000

8) Por último, se eliminan los elementos por encima del tercer pivote restando la primera fila
multiplicada por el número que se va a eliminar:

>> for i=1:3


if i~=3, a(i,:)=a(i,:)-a(i,3)*a(3,:)
end
end
a=

1.0000 0 0 1.0000 4.0000 5.0000


0 1.0000 -0.2500 0 0.7500 1.7500
0 0 1.0000 8.0000 1.0000 1.0000

a=

1.0000 0 0 1.0000 4.0000 5.0000


0 1.0000 0 2.0000 1.0000 2.0000
0 0 1.0000 8.0000 1.0000 1.0000

La matriz inversa queda ubicada en las 3 últimas columnas de la matriz trabajada


anteriormente, dicha matriz se guarda en una variable denominada A_inv:

>> A_inv = a(:,4:6)

A_inv =

1.0000 4.0000 5.0000


2.0000 1.0000 2.0000
8.0000 1.0000 1.0000

Para comprobar que la matriz es evidentemente la matriz inversa, se multiplica dicha matriz
por la matriz original y se obtiene la matriz identidad:

>> A*A_inv

ans =

1.0000 0.0000 0.0000


0 1.0000 0.0000
0 0.0000 1.0000

Análisis del error y condición del sistema

La inversa también proporciona un medio para determinar si los sistemas están mal
condicionados. Están disponibles tres métodos:

1) Escalar la matriz de coeficientes A, de manera que el elemento más grande en cada reglón sea
1. Se invierte la matriz escalada, y si existen elementos de A-1 que sean varios órdenes de
magnitud mayores que uno, es posible que el sistema esté mal acondicionado.
2) Multiplicar la inversa por la matriz de coeficientes original y estimar si el resultado es lo
suficientemente cercano a la matriz identidad. Si no es así, esto indica que el sistema está mal
condicionado.
3) Invertir la matriz inversa y estimar si el resultado está lo suficientemente cercano a la matriz de
coeficientes original. Si no es así, esto de nueva cuenta indica que el sistema está mal
condicionado.

Normas vectoriales y matriciales

Una norma es una función que toma valores reales y proporciona una medida tamaño o
“longitud” de entidades matemáticas multicomponentes, como los vectores o las matrices. Por
ejemplo en el espacio eucliadiano tridimensional, se representa

F = a b c ; donde a, b y c son las distancias a lo largo de los ejes x, y, z.

Longitud del vector, de (0,0,0) a (a,b,c):

F e
 a 2  b 2  c 2 ;  Fe = norma eucliadiana.

Para un vaector n dimencional X = x1 x2 ... xn, una norma eucliadiana se calcularía:

n
X e
 x
i 1
2
i

Para una matriz:

n n
Ae   a
i 1 j 1
2
i, j

Para vectores existen alternativas llamadas normas p que representar por:

1/ p
 n p

X    xi 
p  i 1 
 

Otros ejemplos importantes son

n
X 1
  xi ; representa la norma como la suma de los valores absolutos de los elementos.
i 1
La norma magnitud-máxima o norma vector-uniforme:

X 
 max xi ; la cual define la norma como el elemento con el mayor valor absoluto.
1i  n
n
X 1
 max  ai , j ; sumatoria de los valores absolutos de los coeficientes para cada
1i  n
i 1
columna, la mayor de éstas se toma como la norma.
Norma matriz-uniforme o norma reglón-suma:

n
X 
 max  aij
1 i  n
i 1

Numero de condición de una matriz

Se puede definir como:

cond  A  A  A 1

donde cond A se llama numero de condición de una matriz. Obsérvese que para una matriz éste
numero será mayor o igual a 1.

X A
 cond  A
X A

es decir, el error relativo de la norma de la solución calculada puede ser tan grande como el error
relativo de la norma de los coeficientes de A, multiplicada por el número de condición.

También podría gustarte