Laboratorio 10 y 11: Practica 02 (Eliminación Gaussiana

)
1
Prof. Edgardo Adrián Franco Martínez http://computacion.cs.cinvestav.mx/~efranco efranco.docencia@gmail.com Estructuras de datos (Prof. Edgardo A. Franco)

• Introducción • Solicitud de memoria en tiempo de ejecución • Practica 02 • • • • • • • • Objetivo Ecuaciones lineales Sistemas lineales Matriz aumentada Eliminación Gaussiana Observaciones Reporte Fecha de entrega Algoritmia y programación estructurada Laboratorio 10 y 11: Practica 02 (Eliminación Gaussiana) Contenido Contenido 2 .

por otro lado el uso de la computadora para la solución de este tipo de sistemas demuestra 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.• El estudio de los sistemas de ecuaciones lineales y sus soluciones es uno de los temas más importantes del algebra lineal. Algoritmia y programación estructurada Laboratorio 10 y 11: Practica 02 (Eliminación Gaussiana) Introducción Introducción 3 .

espacio para una matriz de números. void *malloc(size_t size). la cual se desconoce la cantidad de filas y columnas con anterioridad. Algoritmia y programación estructurada Laboratorio 10 y 11: Practica 02 (Eliminación Gaussiana) Solicitud de memoria en tiempo de ejecución Solicitud de memoria en tiempo de ejecución 4 . • La asignación dinámica de memoria es una característica de C.• En C es posible solicitar memoria en tiempo de ejecución cuando se debe almacenar una determinada cantidad de datos que es desconocida a la hora de realizar el programa.g. • La función malloc es empleada comúnmente para solicitar una porción contigua de memoria. Que permite crear tipos de datos y estructuras de cualquier tamaño de acuerdo a las necesidades que se tengan en el programa. • E.

con base en el método de eliminación gaussiana. Algoritmia y programación estructurada Laboratorio 10 y 11: Practica 02 (Eliminación Gaussiana) Practica 02 Practica 02 5 .• Objetivo • Construir un programa en C capaz de dar solución a sistemas de ecuaciones lineales.

2 . 3 . se define como una ecuación que se puede expresar de la forma: 1 1 + 2 2 + 3 3 + … + = • Donde en 1 . y son constantes reales. … . 2 . Algoritmia y programación estructurada Laboratorio 10 y 11: Practica 02 (Eliminación Gaussiana) Practica 02 Practica 02 6 . Las variables en una ecuación lineal algunas veces se denominan incógnitas. 3 .• Ecuaciones Lineales • Una ecuación lineal en las n variables 1 . … .

… .2 = 2 . 2 . Una sucesión de números 1 . se denomina sistema de ecuaciones lineales o sistema lineal. se denomina solución del sistema si 1 = 1 . … . = es la solución de todas y cada una de las ecuaciones del sistema.• Sistemas Lineales • Un conjunto finito de ecuaciones lineales en las variables 1 . Algoritmia y programación estructurada Laboratorio 10 y 11: Practica 02 (Eliminación Gaussiana) Practica 02 Practica 02 7 . 2 . … .

No existe solución Una solución Infinidad de soluciones Algoritmia y programación estructurada Laboratorio 10 y 11: Practica 02 (Eliminación Gaussiana) Practica 02 Practica 02 8 . si existe por lo menos una solución del sistema. éste se denomina consistente.• Sistemas Lineales • Se dice que un sistema de ecuaciones que no tiene soluciones es inconsistente.

x3 . Algoritmia y programación estructurada Laboratorio 10 y 11: Practica 02 (Eliminación Gaussiana) Practica 02 Practica 02 9 . x son las incógnitas y las letras a y con subíndices denotan constantes.• Sistemas Lineales • Un sistema arbitrario de m ecuaciones lineales con n incógnitas se puede escribir como: 11 1 + 12 2 + 13 3 + … + 1 = 1 21 1 + 22 2 + 23 3 + … + 2 = 2 ⋮ ⋮ ⋮ ⋮ ⋮ 1 1 + 2 2 + 3 3 + ⋯ + = • Donde en x1 . … . x2 .

. . … 1 2 .• Matrices aumentadas • Si mentalmente se ubica a los signos +. . 1 12 22 . las letras y los signos =. Algoritmia y programación estructurada Laboratorio 10 y 11: Practica 02 (Eliminación Gaussiana) Practica 02 Practica 02 10 . . . 2 … … . entonces un sistema de ecuaciones lineales puede abreviarse al escribir solo el arreglo rectangular de números: 11 21 . • Este arreglo se denomina matriz aumentada del sistema. . . . . 1 2 . .

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. Multiplicar una ecuación por una constante diferente de cero 2. Sumar un múltiplo de una ecuación a otra ecuación Algoritmia y programación estructurada Laboratorio 10 y 11: Practica 02 (Eliminación Gaussiana) Practica 02 Practica 02 11 . Intercambiar dos ecuaciones 3. 1. pero que sea más fácil de resolver.• 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.

con base en operaciones efectuadas en los renglones de la matriz aumentada se deberá de llevar la matriz aumentada a una forma escalonada reducida. i.e. Algoritmia y programación estructurada Laboratorio 10 y 11: Practica 02 (Eliminación Gaussiana) Practica 02 Practica 02 12 .• Eliminación Gaussiana • La eliminación gaussiana se basa en la idea de reducir la matriz aumentada a una forma suficientemente simple.

int fila2). • El método de reducción Gaussiana deberá ser explicado y detallado en el reporte. los cuales tienen una solución. int fila. void Multiplica(double * matriz. int fila1. void Suma(double * matriz. • El programa deberá ser modular. Algoritmia y programación estructurada Laboratorio 10 y 11: Practica 02 (Eliminación Gaussiana) Practica 02 Practica 02 13 . int fila1. double constante). • Se deberá de reflejar directamente cada uno de los pasos del método en el programa implementado.• Observaciones • Siempre se ingresarán sistemas de ecuaciones lineales. int fila2). double constante. buscando tener procedimientos simples como: void Intercambia(double * matriz.

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) Algoritmia y programación estructurada Laboratorio 10 y 11: Practica 02 (Eliminación Gaussiana) Practica 02 Practica 02 14 .• Reporte • • • • • • • • • • • 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. apoyándose de diagramas y figuras 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) Funcionamiento (Verificación de la solución. pruebas y resultados de salida *Pantallazos) Errores detectados (Si existe algún error detectado.

cinvestav. • El reporte se deberá entregar vía la página Web a más tardar el día Jueves 18 de Noviembre de 2010.cs.php Grupo 1CV2 1CV4 Usuario 1cv2alg 1cv4alg Contraseña 2algoritmia2010 4algoritmia2010 15 Algoritmia y programación estructurada Laboratorio 10 y 11: Practica 02 (Eliminación Gaussiana) Practica 02 Practica 02 .mx/~efranco/?p=recepcion_trabajos/index.• Fecha de entrega • Se deberá mostrar su funcionamiento en la sesión 11 de Laboratorio el Lunes 15 de Noviembre de 2010. http://computacion.