Práctica en Python
Enviado por haru v • 20 de Septiembre de 2023 • Apuntes • 1.760 Palabras (8 Páginas) • 84 Visitas
Calculadoras de Funciones no Lineales[pic 1]
Sheila Rodríguez1
1Facultad de Ingeniería
Universidad Linda Vista, Ex Finca Santa Cruz #1, 29750
sheila.rodriguez@ulv.edu.mx
Resumen. En este documento se da a conocer el informe del desarrollo de una práctica de calculadoras en Python. Se presenta una introducción con el fundamento de la teoría general de la práctica y de los conceptos de cada método involucrados. También se anexan imágenes para poder observar de manera visual la implementación de los programas, así como el resultado final de cada uno. Se muestra el proceso y resultados obtenidos, al final se presenta la conclusión.
Palabras clave: Python, Ecuaciones no lineales, Bisección, Falsa posición, Newton Raphson, Secante.
Introducción
El presente informe, documenta el proceso y fundamentación de una práctica en la que se realizaron calculadoras de ecuaciones no lineales utilizando el lenguaje de programación Python. Los métodos abordados en esta práctica incluyen el método de bisección, el método de falsa posición, el método de Newton-Raphson y el método de la secante. A lo largo de este informe, se presentarán explicaciones teóricas de cada método, ejemplos de su implementación en Python y se analizarán casos prácticos para ilustrar su utilidad.
Marco Teórico
Método de Bisección. Es un método en el que se divide el intervalo en dos partes iguales. Si la función cambia de signo dentro del intervalo, se evalúa la función en el punto medio. Este proceso se repite hasta obtener una aproximación más precisa de la raíz [2]. Al tomar el punto medio de (a, b) inicial la aproximación de la raíz es [4]:
[pic 2]
Método de falsa posición: El método de la falsa posición implica la partición del intervalo cerrado [a, b] en el que se presume que se encuentra una raíz de la función f(x), basándose en la proximidad a cero de los valores f(a) o f(b). Este método conecta los puntos f(a) y f(b) mediante una línea recta y encuentra la intersección de esta línea con el eje x [3]. Para derivar las expresiones necesarias para el cálculo de la raíz, se emplean dos triángulos rectángulos semejantes que se forman al trazar una línea que pasa a través de los puntos. Se calcula la aproximación de la raíz utilizando [1]:
[pic 4][pic 3]
Figura 1. Representación gráfica del método de falsa posición.
Método de Newton-Raphson: El método de Newton Raphson comienza con una aproximación x0 cerca de la raíz que se desea encontrar [1]. En cada iteración, calcula una nueva aproximación utilizando la siguiente fórmula:[pic 5]
[pic 6]
Esto se repite hasta que la diferencia entre dos aproximaciones consecutivas sea menor que el error definido o hasta que se alcance el número máximo de iteraciones.
Método de la secante: Este método, al contrario del de Newton-Raphson, no requiere del cálculo de la derivada de la función. Comienza con dos aproximaciones iniciales cercanas a la raíz. En cada iteración se calcula una nueva aproximación utilizando la siguiente fórmula:[pic 7]
[pic 8]
Al igual que en Newton-Raphson, esto se repite hasta que la diferencia entre dos aproximaciones consecutivas sea menor que el error definido o hasta que se alcance el número máximo de iteraciones.
Python y sus librerías: Python es un lenguaje de programación utilizado en una variedad de aplicaciones, desde desarrollo web y análisis de datos hasta inteligencia artificial y aprendizaje automático. En el desarrollo de esta práctica fueron utilizadas 3 librerías especificas de este lenguaje: Numpy, proporciona una gama muy amplia de funciones matemáticas, es esencial para el análisis numérico y la manipulación de datos, Sympy, permite trabajar con símbolos matemáticos en lugar de números, lo que es útil para cálculos simbólicos y Matplotlib, fue utilizado en conjunto con NumPy para visualizar los datos y resultados gráficamente [5].
Objetivos
Objetivo General: Desarrollar un conjunto de calculadoras en Python que implementen los métodos de bisección, falsa posición, Newton-Raphson y secante para la aproximación de raíces de ecuaciones no lineales, con el fin de comprender y aplicar estos métodos en la solución de problemas prácticos.
Objetivos Específicos:
- Analizar y aplicar los métodos numéricos para la solución de ecuaciones no lineales.
- Presentar el contexto y la importancia de los métodos numéricos en la resolución de problemas de ingeniería.
Metodología
Lenguajes de programación empleados
- Python
- Librerías
- Numpy
- Sympy
- Matplotlib
Procedimientos
Calculadora 1: Método de bisección.
- Paso 1: Como primer paso, se importan las librerías a utilizar, en este caso, numpy, sympy y matplotlib, seguido de eso se declara la función “create_function” que es la que permitirá que se ingrese una expresión matemática en forma de cadena. Se utiliza “lambdify” para hacer la conversión de la expresión a una función lambda que acepta valores numéricos. Este paso es repetido en todos los programas realizados.
[pic 9]
Figura 2: Parte del código correspondiente al paso 1.
- Paso 2: A continuación, se declara la función “bisection_method” siendo esta la que implementa el método de bisección con la fórmula correspondiente. “max_iterations” es el parámetro que controla el número máximo de iteraciones permitidas.
[pic 10]
Figura 3: Código correspondiente al paso 2.
- Paso 3: Como penúltima parte, se declara la función “plot_function” que será la responsable de la graficación de la función en los intervalos correspondientes, haciendo uso de la librería matplotlib.
[pic 11]
Figura 4: Código correspondiente al paso 3.
...