0% encontró este documento útil (0 votos)
28 vistas10 páginas

Lab 03

El documento describe varios métodos de resolución de sistemas de ecuaciones lineales, incluyendo Elim Gaussiana, Gauss-Jordan, Doolittle, Jacobi y Gauss-Seidel. Cada método se detalla con su respectivo proceso, incluyendo la inicialización de matrices, eliminación, pivoteo y condiciones de convergencia. Se utilizan librerías como numpy para facilitar los cálculos matemáticos en la implementación de estos algoritmos.

Cargado por

Isaac Esquivel
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
28 vistas10 páginas

Lab 03

El documento describe varios métodos de resolución de sistemas de ecuaciones lineales, incluyendo Elim Gaussiana, Gauss-Jordan, Doolittle, Jacobi y Gauss-Seidel. Cada método se detalla con su respectivo proceso, incluyendo la inicialización de matrices, eliminación, pivoteo y condiciones de convergencia. Se utilizan librerías como numpy para facilitar los cálculos matemáticos en la implementación de estos algoritmos.

Cargado por

Isaac Esquivel
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Contenido

Elim Gaussiana.....................................................................................2
Gauss-Jordan........................................................................................6
Doolittle................................................................................................7
Jacobi....................................................................................................8
Gauss-Seidel.........................................................................................9
Elim Gaussiana
Como tal, la ejecución del código con el método Elim Gaussiana
proporcionado no me estaba dando los resultados correctos, en el
caso de que el algoritmo estaba desarrollado de manera incompleta y
no solo haya que modificar los arreglos A y B. Opte por investigar otro
algoritmo que me permitiera encontrar dicho problema.

Ilustración 1 solución al problema de Excel

En sí, la salida muestra 4 partes principales.

 La matriz aumentada
 Pivoteo parcial
 Eliminación
 Solución

Se utiliza la librería numpy para utilizar las funciones matemáticas


avanzadas que este ofrece.

Ilustración 2 Arreglos a trabajar

Para la captura de los datos, se utilizan dos arreglos:

A: Matriz de coeficientes – bidimensional de 3x3

B: Vector de términos independientes – unidimensional de 1x3


Ilustración 3 instrucciones principales

El casicero es necesario para algún problema que de resultados


valores muy cercanos a cero al redondear.

La siguiente línea es para convertir A en tipo flat para asegurar


precisión a la hora de desarrollar los cálculos.

Ilustración 4 Pivoteo por filas

Se utiliza el método de pivoteo hacia adelante para evitar errores


numéricos intercambiando las filas cuando es muy pequeño.

Ilustración 5 Eliminación hacia adelante

Este es el proceso principal de eliminación de Gauss, que convierte la


matriz en una matriz triangular superior.
Ilustración 6 Sustitución hacia atrás

Después de eliminar, se realiza la sustitución.

Ilustración 7 Salida final

Son las instrucciones para la salida final, la matriz aumentada,


pivoteo parcial, eliminación y la solución.
Ilustración 8 Algoritmo investigado
Gauss-Jordan

Ilustración 9 Matriz aumentada

La línea de instrucción concatena A y b como columnas, y dado que b


esta denotado por columna, este utiliza el método reshape para
convertirlo en columna.

Ilustración 10 Normalización del pivote

Realiza y convierte los elementos de la diagonal en 1, dado que es el


método.

Ilustración 11 Ceros en fila

Para cada fila j diferente de la fila i , se hace la eliminación de la


columna i. en caso contrario este lo va a convertir en 0.

Luego, el resultado Ab se asigna a la variable x que es el que retorna


la función.

Ilustración 12 Ejecución Gauss-Jordan

En el apartado de ejecución es básicamente las definiciones de los


arreglos y la llamada a la función.

Ilustración 13 solución
Doolittle

Ilustración 14 Funcion Doolittle

La función doolittle basicamente factoriza una matriz A en dos


matrices triangulares, este con la intención de utilizar el método
Doolittle.

Ilustración 15 Diagonal

Esta parte de código es para asegurarnos que la diagonal sea 1,


posteriormente cada for es para el calculo de la matriz L y U
respectivamente.

Una vez que se rienen las matriucesm se procede a resolver la ultima


parte con la función lu.

Ilustración 16 Sustitución hacia atrás

Se resuelve el sistema Ux = y usando sustitución hacia atrás. Se


calcula cada elemento de x empezando desde la última fila hacia
arriba.
Ilustración 17 Ejecución Doolittle

En el apartado de ejecución es básicamente las definiciones de los


arreglos y la llamada a la función.

Jacobi

No estoy segura de que deba dar ese resultado.

Según el código, dentro de la función se inicializan las variables

n: Es el tamaño de la matriz A (número de filas o columnas).

x: Es el vector de solución actual. Si no se pasa un valor inicial (x0),


se inicializa con un vector de ceros del mismo tamaño que b.

x_new: Es un vector temporal donde se almacenarán los valores


calculados en cada iteración.

Ilustración 18 Iteración de Jacobi

El bucle principal ejecuta el método de Jacobi hasta un número


máximo de iteraciones (en este caso hasta 100 según se estipula en
los parámetros formales) o hasta que la solución converja.

Ilustración 19 Criterio de Convergencia


Si la diferencia es menor que la tolerancia (tol), se considera que el
método ha convergido, y se devuelve la solución actual x_new.

Después de cada iteración, la solución x se actualiza con los valores


de x_new para continuar con la siguiente iteración.

En el caso de que alcance el máximo de iteraciones, debería imprimir


"El método de Jacobi no converge".

Ilustración 20 Ejecución Jacobi

Gauss-Seidel

Ilustración 21 Inicialización de Variables

n: Número de ecuaciones (tamaño de la matriz A).

x: Vector que almacena los valores actuales de la solución. Si no se


especifica un vector inicial x0, se inicializa con ceros.

Ilustración 22 Iteración

Básicamente como es un método iterativo este ejecuta iteraciones


hasta que se alcanza el número máximo de iteraciones (100
nuevamente) o la solución converge.

Dentro de cada iteración, el vector de solución x_new se actualiza fila


por fila, calculando un nuevo valor para cada elemento.
Va a continuar iterando hasta que la diferencia entre dos iteraciones
sucesivas sea menor que la tolerancia (la condición if).

Ilustración 23 Actualización y no convergencia

Después de cada iteración, el vector x se actualiza con los valores


recién calculados x_new para la siguiente iteración.

En el caso de que alcance el máximo de iteraciones, debería imprimir


" El método de Gauss-Seidel no converge".

Ilustración 24 Ejecución Gauss-Seidel

También podría gustarte