Guia de Practicas de Metodos Computacionales - Sesion 12 - 2012

Share Embed Donate


Short Description

Download Guia de Practicas de Metodos Computacionales - Sesion 12 - 2012...

Description

Laboratorio de Métodos Computacionales

Página 71

UNIVERSIDAD CATÓLICA DE SANTA MARÍA PROGRAMA PROFESIONAL DE INGENIERÍA DE SISTEMAS

SESIÓN N° 12: Álgebra Lineal Numérica – Método de Gauss I OBJETIVOS   

Comprender los conceptos de sistemas de ecuaciones lineales.  Aplicar algoritmos iterativos que hallen la solución de un sistema de ecuaciones lineales.

Valorar los beneficios que proveen los algoritmos iterativos para hallar las áreas de una función matemática

II TEMAS A TRATAR    

Introducción. Ecuación lineal . Método de Gauss Resumen

III MARCO TEORICO

Los sistemas de ecuaciones lineales sirven para poder resolver un conjunto de ecuaciones y hallar el valor de las variables involucradas, este artificio nos permite organizar las ecuaciones de tal forma que podamos hallar un conjunto de valores que satisfagan a las incógnitas. El método de eliminación o (método de Gauss) consiste en traducir las ecuaciones en una matriz ampliada, es decir, en poner en cada columna los coeficientes de la incógnita correspondiente, y en la última columna los resultados de cada ecuación. Una vez traducidas las ecuaciones, se aplican operaciones elementales (sumas, restas, multiplicaciones y divisiones) sobre las filas de la matriz, con el objetivo de lograr  números uno (1) sobre la diagonal principal, y ceros (0) en todo otro lugar de la matriz de los coeficientes. Cuando se logra este propósito se puede llegar a una solución para todos los valores de la matriz, el método tiene ciertas restricciones que se verán en este documento y es que no siempre se converge hacia una solución.

Mgter. Ángel Montesinos Murillo

Sesión N° 12

Laboratorio de Métodos Computacionales

Página 72

Una ecuación lineal en n variables tiene la forma, a1 x1 Donde, los números a1 , a 2 ,, an

 a2 x2 



 an xn  d 

 R 1, son los coeficientes de la ecuación, y d   R , es

la constante. Una n-upla (S 1 , S 2 ,, S n )  R , es una solución de la ecuación, si n

sustituyendo los números S 1 , S 2 ,, S n , por las variables, se obtiene una relación cierta: es decir, la igualdad a1 S 1

 a2 S 2 



 an S n  d  , es cierta.

En general, un sistema lineal de m ecuaciones en n variables, con coeficientes a ij , y constantes bi , adquiere la forma:

a11 x1  a12 x2   a1n xn  d 1  a 21 x1  a22 x2   a 2n xn  d 2   m     a m1 x1  a m2 x2   a mn xn  d n 





(12.1)







y, (S 1 , S 2 ,, S n )  R , es una solución del sistema, si dicha n-upla es solución de todas n

las ecuaciones.

Observación: Siempre supondremos que al menos un coeficiente, en cada columna del sistema, es diferente de cero, ya que en caso contrario, la variable, o incógnita, que aparece en dicha columna no existiría, y es obvio que esto es absurdo.

Si en un sistema lineal se realiza alguna de las siguientes transformaciones (llamadas elementales): 

Dos ecuaciones cualesquiera son intercambiadas



Una ecuación cualquiera del sistema se multipli ca (en ambos lados) por una constante diferente de cero.



Una ecuación cualquiera del sistema es reemplazada por la ecuación que resulta al sumarle a esta misma ecuación, cualquier otra ecuación, la cual además ha sido multiplicada por una constante.

Entonces los dos sistemas son equivalentes , es decir, tienen las mismas soluciones. (La

demostración es sencilla y se propone como trabajo de estudio para el alumno).  A las tres operaciones elementales. Usualmente, se las denomina como: intercambiar, reescalar (es decir, multiplicar por un escalar), y pivotar. La transformación que

Mgter. Ángel Montesinos Murillo

Sesión N° 12

Laboratorio de Métodos Computacionales

Página 73

intercambia entre sí, las filas i- ésima y j-ésima, se denota mediante  H ij , (se puede interpretar, también como que lo que se intercambian son los subíndices de las filas i y

 j , pasando ambas por tanto a ocupar una situación de fila diferente en el sistema); La

transformación que re-escala la ecuación i-ésima multiplicándola por la constante k  , se denota mediante  H i (k ) ; y, por fin, la transformación  H ij (k ) , que pivota la ecuación j-

ésima sobre la i-ésima, haciendo que a la fila i se le sume la fila  j (en la cual, previamente, todos sus coeficientes han sido multiplicadas por la constante k).

En cada una de las filas del sistema lineal, la primera variable que aparece con un coeficiente distinto de cero, se denomina, variable inicial  de la fila. Se dice que un sistema

está en forma escalonada si la variable inicial  en cada fila (obviamente, excepto en la primera), se encuentra a la derecha de la variable inicial de la fila que le precede.

Lo que pretende el algoritmo es hallar un sistema equivalente al dado inicialmente, pero con la forma escalonada. Una matriz está en forma escalonada si el coeficiente de la variable inicial en una fila cualquiera del sistema, siempre se encuentra en una columna situada más a la derecha que la de la variable inicial de la fila anterior a ésta. Para conseguir este objetivo se hace uso de las transformaciones elementales (remplazar, re escalar y pivotar), y la forma de conseguirlo es la siguiente: Partiendo de la primera fila y la primera columna, es decir en el lugar  (1,1) , vamos a mirar hacia abajo de la columna todos los coeficientes a11 , a21 ,, an1 , hasta encontrar, si esto es posible, el primer  coeficiente que sea diferente de cero. Está claro que éste coeficiente podría ser el propio

a11 , pero también podría ser otro coeficiente cualquiera. Supongamos, por ejemplo, que el algoritmo ha tenido que ir "columna abajo" hasta llegar al primer coeficiente diferente de cero a i1 en la fila i- ésima. Una vez encontrado este primer coeficiente

a i1 , se

intercambian entre sí, mediante remplazar   H 1i , la filas primera e i- ésima, así el coeficiente a i1 , pasa ahora a ocupar el lugar  a11 .  A continuación, mediante re-escalar y pivotar se hace que todos los coeficientes que estén bajo este (nuevo) a11 , sean cero. Así, si en la ecuación que ocupa la fila r- ésima, su primer coeficiente a r 1 , es diferente de cero, para hacer que pase a valer cero, se pivota sobre el propio a11 , aplicando  H r 1 (k ) : esto significa que la ecuación en la fila r-ésima, se va a sustituir por la ecuación obtenida como resultado de sumar la propia ecuación r-

Mgter. Ángel Montesinos Murillo

Sesión N° 12

Laboratorio de Métodos Computacionales

Página 74

ésima, con la ecuación situada en la primera fila (en la cual está el elemento pivote a11 ), la cual previamente ha sido multiplicada por un cierto coeficiente  K  . Es obvio Ahora, que si se hace:

  a r 1    a   ir   

 K    

Entonces, al aplicar la transformación  H r 1 (k ) , el coeficiente a r 1 , pasa a tomar el valor 

  a r 1    a  ,   ir   

resultado de sumar  a r 1 con el coeficiente a11 multiplicado por   K    

esto

algorítmicamente se escribe como que, se ha hecho la asignación:

  a   ar 1  a r 1    r 1 air    air    o, lo que es lo mismo,

ar 1  0 Lo cual es equivalente a decir que el nuevo valor del coeficiente en la fila r columna 1, ahora pasa a ser cero. A continuación se pasa un escalón, es decir un paso horizontal y su correspondiente vertical, es decir se va al lugar (2,2), y se hace lo mismo que anteriormente, pero empezando desde el lugar (2,2). En el caso de no haber encontrado coeficiente alguno, distinto de cero, en toda la primera columna, nos desplazaríamos hacia la derecha pero sólo en horizontal, o lo que es lo mismo, nos iríamos a la posición (1,2) , y procederíamos exactamente igual que hicimos antes, pero ahora pivotando en (1,2) , se hace una búsqueda hacia abajo hasta encontrar  un coeficiente diferente de cero, caso de encontrarlo, pasar  éste al lugar  (1,2) y a

continuación proceder a hacer cero todos los que están bajo él. Si se utilizase como pivote la posición (i, j ) , habría que hacer lo mismo que lo expuesto, pero yendo hacia abajo desde esta posición a buscar un elemento diferente de cero que pueda servir como pivote; si la búsqueda encuentra dicho elemento, se traslada al lugar 

(i, j ) , y a continuación, mediante re-escalar y pivotar se hacen cero todos los coeficientes de la columna j-ésima que están bajo la fila i-ésima. A continuación se pasa a la posición

(i  1, j  1) . Si la búsqueda es infructuosa, se pasa a la posición (i,  j  1) . Definiendo las rutinas: 

"Buscar-variable-inicial-columna-abajo"

Estando en la posición (i, j ) , se busca columna abajo el primer coeficiente diferente de cero en la columna. En caso de que dicho coeficiente sea encontrado, se da el valor SI a la variable: VARIABLE-INICIAL-ENCONTRADA, en caso contrario se le da el valor NO. 

“ Reemplazar ”

Mgter. Ángel Montesinos Murillo

Sesión N° 12

Laboratorio de Métodos Computacionales

Página 75

Se intercambian entre sí la fila i-ésima con la fila donde anteriormente se encontró el primer coeficiente diferente de cero. 

“ Pivotar Columna-Abajo ”

Mediante pivotar, se hace que todos los coeficientes de la columna j- ésima a partir de la fila (i  1) -ésima en adelante sean cero. En el análisis de las posibles formas que tiene de finalizar este procedimiento, está una de las ideas más importantes, y que más se van a utilizar a lo largo de toda la asignatura. La idea de rango r  (número de ecuaciones que realmente intervienen en el sistema), y el significado que tiene el número n  r  (número de variables que son utilizadas como

parámetros o variables libres), es clave en el desarrollo de la asignatura. Como bajar un escalón supone avanzar una posición en horizontal y otra en vertical, y es obvio que en horizontal hacia la derecha nada más que se puede avanzar como máximo las n posiciones en columna correspondientes a las n variables  x1 , x2 ,, xn , del sistema; el máximo número de filas, del sistema resultante en forma escalonada, con coeficientes diferente de cero será n . Pudiera ser, sin embargo, que en el procedimiento, alguna o algunas veces, hubiese sido necesario avanzar una columna sin bajar  peldaño (caso en que en “ Buscar-variable-inicial-columna  abajo”

no se hubiese encontrado

variable inicial alguna en la columna); es decir, se podría haber avanzado una o más columna sin bajar  peldaño; lo que supondría que al terminar de procesar todas las columnas, el sistema resultante en forma escalonada obtenido, tendría un número r  , menor que n , de filas con coeficientes no nulos; el resto, caso de existir, serían todos cero. En este caso, cuando en el sistema resultante en forma escalonada aparecen al final filas con coeficientes todos igual a cero, entonces si las constantes bi correspondientes a estas filas son también cero, las filas se pueden eliminar del sistema (ya que en realidad lo que se tiene son identidades del tipo 0 = 0 ). En cambio, si la constante

bi ,

correspondiente a alguna de estas filas con todos los coeficientes cero, fuese diferente de cero, aparecería una inconsistencia del tipo 0  bi (siendo bi

 0 ), y esto hace que todo

el sistema sea incompatible o inconsistente, y que no tenga solución. Una vez finalizado el procedimiento de Gauss, podrán suceder dos cosas: 

Que aparezca una fila "i" con todos los coeficientes iguales a cero y con la constante bi diferente de cero. En este caso el sistema es incompatible.



Que no aparezca fila alguna con ceros (en el sistema inicial es m  n ); o que todas

las filas con coeficientes iguales a cero, tengan también constantes iguales a cero (en este caso todas estas filas son suprimidas). En este caso el sistema es compatible, pudiendo ser: 

Compatible Determinado (la solución es única): si el número r  de filas en el sistema escalonado es igual a n .



Compatible Indeterminado (infinitas soluciones): si el número r  de filas en el

Mgter. Ángel Montesinos Murillo

Sesión N° 12

Laboratorio de Métodos Computacionales

Página 76

sistema escalonado es igual menor que n . Caso: r   n El sistema resultante en forma escalonada, después de utilizar el método de Gauss, será de la forma:

a11 x1  0   0   0  0   0   0

 a12 x2  a22 x2  0  0  0  0  0

 a13 x3  a23 x3  a33 x3  0  0  0  0

      

   

a1( n1) xn1

   

a2( n1) xn1

   

a3( n1) xn1

   



   



    a(n1)(n1) xn1    

0

 a1n xn  a1n xn  a1n xn      a(n1) n xn  ann xn

 b1  b2  b3   (12.7)    bn1  bn

En este caso se dice que el sistema es compatible determinado. (pues la solución al ser 

única está totalmente determinada). Para hallar la solución se utiliza un método que llamaremos de SUSTITUCIÓN HACIA ATRÁS, que consiste en lo siguiente: 

Se despeja  x n , de la última ecuación, esto es



 xn 



Se sustituye éste valor en la ecuación de atrás, hallando a continuación el valor de

bn a nn

 xn1 1

  b    bn1  a( n1) n n  ann    



 xn1 



Se sigue el procedimiento de sustitución hacia atrás, hasta que el valor de todas las

a( n1)( n1)

variables  x1 , x2 ,, xn , es obtenido. Caso: r   n Visualicemos en el siguiente diagrama, como quedaría el sistema al final del procedimiento:

a11 x1  0   0  r   n 0  0    0 

    

a12 x 2 a 22 x 2

0 0 0

    

a13 x3 a 23 x3 a33 x3

0 0

    

 b1  b2  b3   (12.7)  

     



0





 

a rn x r 



a r ( n 1) x r 1

 

a rn x n



br 

El sistema en el caso r   n , fue fácil de resolver por el método de sustitución hacia atrás,

Mgter. Ángel Montesinos Murillo

Sesión N° 12

Laboratorio de Métodos Computacionales

Página 77

debido a que se disponía de tantas variables como filas. El caso r   n , se puede reducir 

también a un sistema con tantas variables como filas. Para ello lo que se hace es pasar  todas las variables no iniciales (en total n  r  ), a la parte izquierda de las ecuaciones, y tratarlas como si fuesen una especie de constantes literales o parámetros. El sistema entonces quedaría con r  variables y r  filas, y también en forma escalonada; por el método de sustitución hacia atrás, se podría entonces resolver el sistema;

únicamente que las soluciones quedarán dependientes de los valores de los parámetros: al dar diferentes valores a éstos, la solución obtenida será diferente. Es por ello que en este caso, el sistema se dice que es compatible (es decir tiene solución) pero indeterminado (hay infinitas soluciones, y para determinarlas, hay que dar valores a los

parámetros.

Cuando un sistema se encuentra en forma escalonada, las variables diferentes de las iniciales se denominan variables libres. Observamos entonces que una vez que el sistema se encuentra en forma escalonada, si el número de variables iniciales es igual al número de ecuaciones (siempre que el sistema sea consistente), se puede aplicar una sustitución hacia atrás, obteniendo la solución del sistema. Si el número de variables iniciales es igual a r  , entonces, como en total hay n variables, el número de variables libres será igual a n  r  , resultando que el conjunto de soluciones dependerá de los valores que se den a éstas n  r  variables libres.

Cuando un sistema se encuentra en forma escalonada, al número de variables iniciales que aparecen, se le denomina rango del sistema.

Cuando un sistema se encuentra en forma escalonada, se verifica que: 

Si en un sistema en forma escalonada aparece alguna inconsistencia de la forma

0  bi (con bi  0 ), el sistema es incompatible y no tiene solución. En caso

contrario el sistema será de uno de los siguientes tipos: 

Sistema Compatible Determinado (es decir, de solución única), caso en el que el rango es igual al número de variables o incógnitas (es decir no hay variables libres).

Sistema Compatible Indeterminado (es decir, múltiples soluciones), si el rango es menor  que el número de variables o incógnitas (es decir hay variables libres). Las soluciones dependen de las n  r  variables libres.

Mgter. Ángel Montesinos Murillo

Sesión N° 12

Laboratorio de Métodos Computacionales

Página 78

Los sistemas de ecuaciones lineales pueden ser transformados y el proceso de

transformación implica que podemos operar sobre la ecuación y mientras las operaciones se apliquen de forma uniforme a toda la ecuación la igualdad no se altera rá, bajo este principio funciona el método de Gauss, busca eliminar coeficientes y con ello simplificar la estructura de la ecuación dejando solamente al final una incógnita en la igualdad, al hallarla es fácil hacer un proceso inverso de calculo para las demás variables. Este proceso de simplificación significa volver a cero todos los coeficientes de la matriz antes de la diagonal, al quedar la ultima línea de la matriz con dos valores diferentes de cero, es posible simplemente operar ambos para conseguir el valor de la última variable, a partir de este valor se sigue de forma inversa en las ecuaciones remplazando y encontrando los valores de las demás incógnitas.

(La práctica tiene una duración de 2 horas) 1.

IV ACTIVIDADES

Encender el equipo de computo, si existe algún desperfecto o faltante en el equipo comunicarlo inmediatamente.

2. 3. 4. 5. 6. 7. 8.

9. 10. 11. 12. 13. 14. 15.

Al aparecer la solicitud de contraseña elegir el

y digitar la clave correspondiente. Ingrese a su cuenta de usuario de red. Cree una carpeta que se llame y dentro de ella una que se llame Crear una carpeta bajo el nombre de en la unidad donde compile el programa. Ejecute el IDE o , de la caja de diálogo de creación de proyectos elija un proyecto . Para todos los programas siguientes hacer uso de la arquitectura .

Agregar a la clase funcion_matemática un método que implemente el método de Gauss para resolver una sistema de ecuaciones lineales de n variables, el cual deberá de tener  las siguientes características: a) Ingresar los datos necesarios. b) Muestre por consola la progresión de los resultados parciales en una grilla. c) Muestre el resultado o la derivada de l a función matemática empleada. d) Muestre el error relativo y absoluto del cálculo las soluciones del sistema de ecuaciones lineales propuesto e) Permita ingresar cualquier tipo de sistema de ecuaciones lineales. f) Emplee estructuras dinámicas de datos para almace nar el sistema de ecuaciones lineales. g) Compile el programa. Depure los errores.

Use el menú de depuración para hacer Trace y seguir la ejecución del programa. Integre la aplicación al programa de la práctica anterior.  Almacene los resultados en un archivo tipo texto  Almacene los resultados en un archivo tipo texto bajo el nombre de Guarde el contenido de la carpeta en la carpeta red y elimine la carpeta . y vacíe la

. de su cuenta de

V EJERCICIOS 1.

Agregar un método que compare la solución del sistema de ecuaciones hacia delante y

Mgter. Ángel Montesinos Murillo

Sesión N° 12

Laboratorio de Métodos Computacionales

Página 79

hacia tras, evaluando primero si posible de ser solucionado con el método de Gauss. 2.

Agregar un método que evalué si es posible aplicar la eliminación canónica de G auss, luego aplique el método bajo las condiciones ya antes mencionadas.

VI CUESTIONARIO 1.

¿Qué es una ecuación lineal?

2.

¿Qué es un sistema de ecuaciones lineales?

3.

¿Qué es un sistema de ecuaciones lineales homogéneo?

4.

¿En qué consiste la eliminación de Gauss hacia delante?

5.

¿En qué consiste la eliminación de Gauss hacia atrás?

6.

¿Cuál es el fundamento matemático del método de Gauss?

7.

¿Cuál es la función de los Pivotes en el método de Gauss?

8.

¿En qué consiste el pivoteo en el método de eliminación canónica de Gauss?

9.

¿Para qué se aplica el pivoteo en el método de Gauss?

VII BIBLIOGRAFIA Y REFERENCIAS     

Nakamura, Shoichiro; “ Métodos Numéricos Aplicados con Software” ; Prentice Hall Hispanoamericana S.A.;1ª Ed; 1992, México (Págs. 110 - 115). Mathews, John H., Fink, Curtís, D., “ Métodos Numéricos con Matlab” , Prentice Hall, 1ª Ed. 2000, Madrid (págs 385 - 385). Leithold, Louis, “ El Cálculo con geometría analítica” , Harper & Row Publishers 5ª Ed. 1987, México(Págs. 791 –  799). http://mailweb.udlap.mx/~ccastane/Analisis_Numerico_html/Lindley.html http://www.uv.es/~diaz/mn/node17.html

Mgter. Ángel Montesinos Murillo

Sesión N° 12

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF