M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom Estructuras de datos (Prof. Edgardo A. Franco) 1
Contenido Introducción Ecuaciones lineales Sistemas lineales Matriz aumentada Eliminación Gaussiana Requerimientos de la Practica 01 Observaciones Envío de la practica Formato del reporte Fechas de entrega 2
Introducción El estudio de los sistemas de ecuaciones lineales y sus soluciones es uno de los temas más importantes del algebra lineal, por otro lado el uso de la computadora para la solución de este tipo de sistemas hace ver la importancia de la computadora para la solución de problemas matemáticos, demostrando que provee una gran capacidad de procesamiento que le permiten apoyar en simulaciones y soluciones a problemas mucho muy complejos. 3
Ecuaciones Lineales Una ecuación lineal de n variables x 1, x 2, x 3,, x n se define como una ecuación que se puede expresar de la forma: a 1 x 1 + a 2 x 2 + a 3 x 3 + + a n x n = b Donde en a 1, a 2, a 3,, a n y b son constantes reales. Las variables en una ecuación lineal algunas veces se denominan incógnitas. 4
Sistemas Lineales Un conjunto finito de ecuaciones lineales en las variables x 1, x 2,, x n se denomina sistema de ecuaciones lineales o sistema lineal. Una sucesión de números s 1, s 2,, s n se denomina solución del sistema si x 1 = s 1,x 2 = s 2,, x n = s n es la solución de todas y cada una de las ecuaciones del sistema. 5
Se dice que un sistema de ecuaciones que no tiene soluciones es inconsistente, si existe por lo menos una solución del sistema, éste se denomina consistente. No existe solución Una solución Infinidad de soluciones 6
Un sistema arbitrario de m ecuaciones lineales con n incógnitas se puede escribir como: a 11 x 1 + a 12 x 2 + a 13 x 3 + + a 1n x n = b 1 a 21 x 1 + a 22 x 2 + a 23 x 3 + + a 2n x n = b 2 a m1 x 1 + a m2 x 2 + a m3 x 3 + + a mn x n = b m Donde en x 1, x 2, x 3,, x n son las incógnitas y las letras a y b con subíndices denotan constantes. 7
Matrices aumentadas Si mentalmente se ubica a los signos +, las letras x y los signos =, entonces un sistema de m ecuaciones lineales puede abreviarse al escribir solo el arreglo rectangular de números: a 11 a 12 a 1n b 1 a 21. a 22.. a 2n. b. 2.......... a m1 a m2 a mm b m Este arreglo se denomina matriz aumentada del sistema. 8
Eliminación Gaussiana El método básico para resolver un sistema de ecuaciones lineales es sustituir el sistema dado por un nuevo sistema que tenga el mismo conjunto solución, pero que sea más fácil de resolver. Este nuevo sistema suele obtener en una serie de pasos mediante la aplicación de los tres tipos de operaciones siguientes para eliminar incógnitas de manera sistemática. 1. Multiplicar una ecuación por una constante diferente de cero 2. Intercambiar dos ecuaciones 3. Sumar un múltiplo de una ecuación a otra ecuación 9
La eliminación gaussiana se basa en la idea de reducir la matriz aumentada a una forma suficientemente simple, i.e. con base en operaciones efectuadas en los renglones de la matriz aumentada se deberá de llevar la matriz aumentada a una forma escalonada reducida. 10
Algoritmo de eliminación Gaussiana 11
Requerimientos de la practica Construir un programa en C capaz de dar solución a sistemas de ecuaciones lineales, con base en el método de eliminación gaussiana. 12
Observaciones Siempre se ingresarán sistemas de ecuaciones lineales, los cuales tienen una solución. El método de reducción Gaussiana deberá ser explicado y detallado en el reporte. Se deberá de reflejar directamente cada uno de los pasos del método en el programa implementado. El programa deberá ser modular, buscando tener procedimientos simples como: void Intercambia(double * matriz, int fila1, int fila2); void Multiplica(double * matriz, int fila, double constante); void Suma(double * matriz, int fila1, double constante, int fila2); 13
Formato del reportes de practica Portada Introducción Planteamiento del problema Diseño y funcionamiento de la solución (Descripción de la abstracción del problema y su solución modular, apoyándose de diagramas de flujo y/o pseudocódigo en un lenguaje claro). Implementación de la solución (Según la solución diseñada como se implemento en el lenguaje de programación, explicaciones de los módulos implementados) Funcionamiento (Verificación de la solución, pruebas, resumen de resultados de salida y Pantallazos) Errores detectados (Si existe algún error detectado, el cuál no fue posible resolver o se desconoce el motivo y solo ocurre con ciertas condiciones es necesario describirlo) Posibles mejoras (Describir posibles disminuciones de código en la implementación o otras posibles soluciones) Conclusiones (Por cada integrante del equipo) Anexo (Códigos fuente *con colores e instrucciones de compilación) Bibliografía (En formato IEEE) 14
Envío a través de la pagina Web del curso En un solo archivo (ZIP, RAR, TAR, JAR o GZIP) Reporte (DOC, DOCX o PDF) Códigos fuente (.C,.H, etc.) Código documentado: Titulo, descripción, fecha, versión, autor. (Funciones y Algoritmos: Qué hace?, Cómo lo hace?, Qué recibe?, Qué devuelve?, Causa de errores?). NO enviar ejecutables o archivos innecesarios, las instrucciones de compilación van en el anexo del reporte. (Yo compilare los fuente). 15
Fechas de entrega 1. Mostrar el funcionamiento de la practica en la sesión de laboratorio. 2. Enviar vía Web en un archivo comprimido (ZIP, RAR o TAR), reporte y códigos de C antes del día miércoles 12 de junio de 2017 (23:59:59 hora limite). Grupo 1CM4 Contraseña algoritmia1cm4 16