UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE-L
Ingeniería electrónica y automatización
Métodos Numéricos
FEM NRC15733
Chacha Beatriz
Chávez Jhoselyn
Figueroa Stanley
Laboratorio N.- 1
NOV 2023-MAR 2024
Resumen
Los métodos numéricos son herramientas esenciales para resolver problemas matemáticos en
situaciones donde las soluciones analíticas son difíciles de obtener. Dos métodos ampliamente
utilizados son la bisección y la regla falsa.
El método de la bisección se centra en la reducción sistemática de un intervalo que contiene la
raíz deseada. Evaluando la función en el punto medio del intervalo, el método ajusta el intervalo
reemplazando uno de sus extremos según el signo del resultado. Este proceso continúa hasta
que se alcanza una solución aproximada dentro de una tolerancia predefinida, garantizando la
convergencia. Regla falsa, también conocida como interpolación lineal inversa, emplea una
estrategia similar. Sin embargo, en lugar de evaluar la función en el punto medio, conecta los
extremos del intervalo con una línea y determina la intersección con el eje x. Este nuevo punto
se convierte en uno de los extremos del intervalo, y el proceso se repite. Aunque puede
converger más rápidamente en algunos casos, la regla falsa no garantiza convergencia en todas
las situaciones.
Ambos métodos tienen aplicaciones prácticas en campos como la ingeniería, la física, la
economía y la biología. Permiten abordar problemas del mundo real, desde la simulación de
sistemas físicos hasta la modelización de comportamientos biológicos. Estas herramientas
numéricas son vitales para obtener soluciones aproximadas que respaldan la toma de decisiones
informada en diversas disciplinas. En resumen, la bisección y la regla falsa son métodos
numéricos valiosos para resolver ecuaciones en intervalos específicos. Su aplicación práctica
en una variedad de campos destaca la importancia de estos enfoques en la resolución de
problemas del mundo real mediante la obtención de soluciones numéricas aproximadas.
Palabras claves: bisección, regla falsa, métodos numéricos.
ASTRACT
Numerical methods are essential tools for solving mathematical problems in situations where
analytical solutions are difficult to obtain. Two widely used methods are bisection and false
rule.
The bisection method focuses on the systematic reduction of an interval containing the desired
root. By evaluating the function at the midpoint of the interval, the method fits the interval by
replacing one of its endpoints according to the sign of the result. This process continues until
an approximate solution is reached within a predefined tolerance, guaranteeing convergence.
The false rule, also known as inverse linear interpolation, employs a similar strategy. However,
instead of evaluating the function at the midpoint, connect the ends of the interval with a line
and determine the x-intercept. This new point becomes one of the ends of the interval, and the
process repeats. Although it may converge more quickly in some cases, the false rule does not
guarantee convergence in all situations.
Both methods have practical applications in fields such as engineering, physics, economics and
biology. They allow real-world problems to be addressed, from the simulation of physical
systems to the modeling of biological behaviors. These numerical tools are vital for obtaining
approximate solutions that support informed decision making in various disciplines. In
summary, bisection and false rule are valuable numerical methods for solving equations on
specific intervals. Their practical application in a variety of fields highlights the importance of
these approaches in solving real-world problems by obtaining approximate numerical
solutions.
Keywords: bisection, false rule, numerical methods.
Introducción
La solución de problemas matemáticos juega un papel fundamental en numerosas disciplinas
científicas, así como en la aplicación práctica en ingeniería, ciencias naturales y economía.
En particular, la búsqueda de ceros de funciones es un problema central de las matemáticas
numéricas que ha ocupado a científicos y matemáticos durante siglos. Históricamente, se han
desarrollado diferentes métodos para abordar la solución exacta de ecuaciones que son
analíticamente imposibles o difíciles de resolver. Entre estos métodos, destacan el método de
la bisección y el método de la regla falsa, como dos procedimientos iterativos básicos que
destacan por su sencillez y efectividad.
Los métodos numéricos son técnicas matemáticas que se emplean para obtener soluciones
aproximadas a problemas difíciles o imposibles de resolver analíticamente. Estos métodos
utilizan algoritmos y cálculos iterativos para obtener resultados numéricos que se aproximan a
las soluciones exactas, desempeñando un papel fundamental en la resolución de problemas
matemáticos y científicos mediante técnicas computacionales. Estas herramientas son
esenciales cuando las soluciones analíticas no son prácticas o inexistentes.
En este trabajo exploraremos el fascinante mundo de los métodos numéricos, con un enfoque
particular en dos técnicas poderosas y fundamentales para encontrar raíces de funciones: el
Método de la Bisección y el Método de la Regla Falsa (o Método de la Falsa Posición). Los
métodos numéricos son herramientas esenciales en matemáticas aplicadas, ingeniería y
ciencias computacionales, proporcionando soluciones aproximadas a problemas que muchas
veces no pueden ser resueltos mediante métodos analíticos. A medida que avanzamos en una
era dominada por el cálculo numérico y la simulación computacional, la comprensión profunda
de estos métodos es más pertinente que nunca.
El método de bisección, también conocido como método de búsqueda binaria o método de
reducción a la mitad del intervalo, es un algoritmo iterativo utilizado para encontrar una raíz
de una función continua donde la función cambia de signo durante un intervalo. Al estrechar
sucesivamente el rango en el que debe estar la raíz, el método proporciona un enfoque
sistemático que converge a la solución dividiendo el intervalo y seleccionando el subintervalo
que contiene la raíz. Su atractivo radica en su sencilla implementación y su garantía de
convergencia para funciones continuas en un intervalo cerrado donde los valores de la
función en los extremos tienen signos opuestos.
El Método de la Bisección es uno de los más antiguos y simples para encontrar raíces de
ecuaciones no lineales. Se basa en el Teorema del Valor Intermedio, que asegura que, si una
función continua cambia de signo en un intervalo, entonces existe al menos una raíz en ese
intervalo. El proceso de bisección sucesiva va refinando el intervalo hasta alcanzar la precisión
deseada.
Por otro lado, el Método de la Regla Falsa, también conocido como Método de la Secante
Modificada, es una técnica numérica utilizada para encontrar raíces de ecuaciones no lineales.
Este método combina la regla del trapecio con el enfoque de la secante para realizar
aproximaciones iterativas de la raíz de la ecuación. A través de una serie de iteraciones, el
método ajusta sucesivamente un intervalo inicial, utilizando las intersecciones de las rectas
secantes para mejorar la aproximación de la raíz. El proceso continúa hasta que se alcanza una
solución aceptable o se cumple un criterio predefinido de convergencia. La eficacia del método
radica en su capacidad para converger hacia la raíz de manera más rápida que algunos métodos
más simples, aprovechando aproximaciones lineales para mejorar la eficiencia del proceso
iterativo.
El Método de la Regla Falsa es una mejora sobre la simple bisección, utilizando una línea recta
para aproximar la función y encontrar una raíz con mayor rapidez. En el ámbito de los métodos
numéricos, la Regla Falsa emerge como una estrategia efectiva para la búsqueda de raíces de
ecuaciones no lineales. Este método, también conocido como Método de la Secante
Modificada, combina la simplicidad de la Regla del Trapecio con la eficiencia del Método de
la Secante, permitiendo una convergencia más rápida hacia la solución deseada.
Este trabajo comenzará estableciendo los fundamentos teóricos del Método de la Bisección,
detallando los prerrequisitos matemáticos y las condiciones necesarias para su aplicación. En
las secciones siguientes se profundizará en la estructura algorítmica del método, ilustrando
su ejecución paso a paso con ejemplos que destacan su aplicación práctica. También
abordaremos la tasa de convergencia y el análisis de errores, proporcionando información
sobre la eficiencia y las limitaciones del método. Además, exploraremos diversas
adaptaciones y mejoras que se han propuesto para mejorar su rendimiento en diferentes
contextos.
Estos métodos son esenciales en áreas como la ingeniería, la física y la ciencia computacional.
Resuelven problemas que van desde la simulación de sistemas físicos hasta la optimización de
funciones complejas. La elección entre el Método de Bisección y el Método de la Regla Falsa
depende de la naturaleza del problema y los requisitos de convergencia.
Este informe explorará a fondo el Método de Bisección y el Método de la Regla Falsa,
analizando sus principios fundamentales, condiciones de convergencia y proporcionando
ejemplos prácticos. Al comprender estas técnicas numéricas, los practicantes podrán aplicarlas
de manera efectiva en la búsqueda de soluciones a ecuaciones no lineales en diversos contextos
científicos y tecnológicos, detallaremos los fundamentos teóricos de ambos métodos,
desarrollaremos algoritmos para su implementación y compararemos su eficacia y limitaciones
mediante ejemplos prácticos y simulaciones computacionales. Nuestro objetivo es
proporcionar una comprensión integral de estas herramientas, demostrando su aplicabilidad y
relevancia en la resolución de problemas reales.
OBJETIVO
Determinar por medio de un logaritmo la resolución de una función cualquiera la resolución
por el método de la bisección, regla falsa y Newton RaphsonP.
MARCO TEORICO
¿Qué es un método numérico?
Los métodos numéricos son una sucesión de operaciones matemáticas utilizadas para encontrar
una solución numérica aproximada a un problema determinado. Es decir, se trata de una serie
de cálculos para acercarnos lo más posible a una solución numérica con una precisión
razonablemente buena. Los métodos numéricos son utilizados en ingeniería para facilitar la
resolución de problemas que conllevan una enorme cantidad de cálculos, lo que permite ahorrar
tiempo. (IQR, 2020)
¿Qué es el cálculo de raíces?
El cálculo de una raíz se refiere a encontrar el valor numérico que, elevado a cierto exponente,
produce un número dado. La raíz cuadrada, por ejemplo, es el número que elevado al cuadrado
da como resultado el número original. La raíz cúbica es el número que, elevado al cubo, da el
número original, y así sucesivamente.
Existen varios métodos para calcular raíces, y la elección del método depende del tipo de raíz
y la precisión requerida. Aquí hay algunos de los métodos más comunes:
1. Método de bisección
Encontrar la raíz de una ecuación es otra forma de expresar "despejar una ecuación",
en ambos se busca el valor de la variable para que la función tenga un valor de cero,
F ( x) = 0 . (IQR, 2020)
El método de la bisección es un método numérico que sirve para encontrar las raíces de
una ecuación.
La raíz debe existir dentro de un intervalo [a, b] donde la función sea continua.
Es deseable que solo exista una raíz dentro del intervalo.
Consiste en considerar un intervalo ( xi , xs ) en el que se garantice que la función tiene
raíz.
El segmento se biseca, tomando el punto de bisección xr como aproximación de la raíz
buscada.
La fórmula de recurrencia para el método de bisección es el promedio de los valores
inferior y superior de los extremos del intervalo:
xi + xs
xr =
2
1. Método de la regla falsa
El proceso se repite n veces, hasta que el punto de intersección xr coincide
prácticamente con el valor exacto de la raíz.
Las funciones con curvatura significativa hacen que el método de la regla falsa converja
muy lentamente.
Esto se debe a que, con interpolación lineal, uno de los valores extremos se queda
estancado.
Para tales casos, se ha encontrado un remedio: el método de la regla falsa modificado,
que reduce a la mitad el valor de la función en el punto extremo que se repita dos veces,
con lo que la convergencia se acelera significativamente.
Para realizar este método ocupamos la siguiente formula:
xs f ( xi ) − xi f ( xs )
xr =
f ( xi ) − f ( xs )
Pasos a seguir para realizar este método:
Consiste en considerar un intervalo ( xi , xs ) en el que se garantice que la función tiene
raíz.
Se traza una recta que une los puntos ( xi , f ( xi )), ( xs , f ( xs ) )
Se obtiene el punto de intersección de esta recta con el eje de las abscisas: ( xr , 0 ) y se
toma xr como aproximación de la raíz buscada. Se identifica luego en cuál de los dos
intervalos está la raíz.
1. Método de Newton Raphson
El método de Newton-Raphson se basa en el desarrollo de Taylor de la función cuya
raíz se quiere calcular. Consideremos la ecuación f ( x) = 0 y supongamos que posee
a, b x0
una y sólo una solución . Partiendo de un punto suficientemente cercano a
dicha raíz. (ULPGC, 2021)
Figura 1
Método de Newton Raphson
Para este método usamos la siguiente formula:
f ( xi )
xi +1 = xi −
f ' ( xi )
Pasos a seguir para este método:
Consiste en elegir un punto inicial cualquiera x1 como aproximación de la raíz. Obtener
el valor de la función por ese punto y trazar una recta tangente a la función por ese
punto.
El punto de intersección de esta recta con el eje de las abscisas ( x2 , 0 ) , constituye una
segunda aproximación de la raíz.
El proceso se repite n veces hasta que el punto de intersección xn coincide
prácticamente con el valor exacto de la raíz.
Método de la secante
Según Rodrigo Russo:
El método de la secante se puede pensar como una simplificación del método de
Newton-Raphson. En lugar de tomar la derivada de la función cuya raíz se quiere
encontrar, se aproxima por una recta secante (de ahí el nombre) a la curva, cuya
pendiente es aproximadamente igual a la derivada en el punto inicial. La principal
diferencia con el método anterior es conocer dos puntos del a función para poder
generar dicha recta. Sean x0 y x1 pertenecientes a cierta f ( x) se puede definir:
xi f ( xi −1 ) − xi −1 f ( xi )
xi +1 =
f ( xi −1 ) − f ( xi )
Pasos para realizar este método:
Consiste en elegir dos puntos iniciales cualquiera x0 , x1 para los cuales se evalúan los
valores de la función: f ( x0 ) y f ( x1 )
Se traza una recta secante a la función por esos dos puntos.
El punto de intersección de esta recta con el eje de las abscisas ( x2 ,0) constituye una
segunda aproximación de la raíz.
Se reemplazan los subíndices: xi = xi +1 , de manera que x1 pasa a ser x0 y x2 pasa a ser
x1 .
Se traza una segunda secante por los nuevos puntos x0 , x1 .
Desarrollo
Para la realización de esta práctica debíamos con anterioridad tener en cuenta los conceptos
como el método de la bisección, regla falsa Newton Raphson y Secante.
Además, conocer sobre la programación para de tal manera ir programado un logaritmo que
sea capaz de resolver un ejercicio aplicando alguno de los métodos ya mencionados, una vez
explicado esto les presentamos el programa que fue realizado en el laboratorio en diagramas
de flujo:
Método de la bisección:
Método de la Regla Falsa:
Método Newton Raphson:
Código ya depurado:
import pandas as pd
import numpy as np
from sympy import *
from math import *
from numpy.lib.scimath import sqrt
import matplotlib.pyplot as plt
#Definir las funciones al inicio del programa
x , phi, eu = symbols("x phi eu")
print ('UNIVIERSIDAD DE LAS FUERZAS ARMADAS ESPE\n')
print('INTEGRANTES:\n')
print('CHACHA BEATRIZ\n')
print('CHAVEZ JHOSELYN\n')
print('FIGEROA STANLEY\n')
print('PROGRAMA DE CALCULO DE RAICES\n')
print('Menú del Programa')
print('Metodo de Biseccion________= 1 ')
print('Metodo de Regla Falsa______= 2 ')
print('Metodo de Newton___________= 3 ')
h=int(input('Ingrese el numero del metodo que desea usar = '))
if h==1:
print('EL METODO DE BISECCION:')
func= input('Intruduce la funcion en terminos de x = ')
xl= float(input('Ingrese el valor de Xl = '))
xu= float(input('Ingrese el valor de numero de interacciones = '))
emax= float(input('Ingrese el hasta que porcentaje de error desea calcular = '))
xr=0
ea=100#error del 100%
i=0
itera=0
v_itera=np.array([]) #matriz q almacena valores de itera
v_xl=np.array([]) #matriz q alamacena valores de xl
v_xu=np.array([]) #matriz q alamcena valores de xu
v_xr=np.array([]) #matriz q almacena valroes de xr
v_ea=np.array([]) #matriz q alamcena valore s de ea
fl=sympify(func).subs(x,xl) #reamplazmos x por xl y evaluamos la funcion
#incio del bucle
while ea>emax :
xr= round(xr,6)
xanterior=xr
xr=(xl+xu)/2
fr=sympify(func).subs(x,xr)
itera=itera+1
if xr != 0:
ea=abs((xr-xanterior)/xr)*100
signo=fl*fr
xr=round(xr,6)
ea=round(ea,6)
#agregamos valores a las matrices vacias
v_itera=np.append(v_itera,itera)
v_xl=np.append(v_xl,xl)
v_xu=np.append(v_xu,xu)
v_xr=np.append(v_xr,xr)
v_ea=np.append(v_ea,ea)
if signo < 0 :
xu=xr
elif signo >0:
xl=xr
fl=fr
else:
ea=0
#representamos datos en pandas
iteracion=pd.Series(v_itera,name="Iteracion")
xl=pd.Series(v_xl,name="xl")
xu=pd.Series(v_xu,name="xu")
xr=pd.Series(v_xr,name="xr")
ea=pd.Series(v_ea,name="ea%")
tabla=pd.concat([iteracion,xl,xu,xr,ea],axis=1) #unimos en columnas
print('')
print('EL METODO DE BISECCION:')
print(tabla)
i=xr[len(xr)-1]
r=ea[len(ea)-1]
s=iteracion[len(iteracion)-1]
print('')
print('La raiz aproximada es de = ',i)
print('Con un error relativo % = ',r)
print('Con',s,'Iteracciones')
# Graficar la convergencia
plt.plot(v_itera, v_xr, label='Convergencia')
plt.xlabel('Iteración')
plt.ylabel('Valor de xr')
plt.title('Convergencia del Método de Bisección')
plt.legend()
plt.show()
if h==2:
print('EL METODO DE REGLA FALSA:')
func= input('Intruduce la funcion en terminos de x =')
xl= float(input('Ingrese el valor de Xl = '))
xu= float(input('Ingrese el valor de las interacciones = '))
emax= float(input('Ingrese el hasta que porcentaje de error desea calcular = '))
ea=100#error del 100%
xr=0
i=0
itera=0
v_itera=np.array([]) #matriz q almacena valores de itera
v_xl=np.array([]) #matriz q alamacena valores de xl
v_xu=np.array([]) #matriz q alamcena valores de xu
v_xr=np.array([]) #matriz q almacena valroes de xr
v_ea=np.array([]) #matriz q alamcena valore s de ea
fl=sympify(func).subs(x,xl)
fu=sympify(func).subs(x,xu)
while ea>emax :
xanterior=xr
xr=(((xu*fl)-(xl*fu))/(fl-fu))
fr=sympify(func).subs(x,xr)
itera=itera+1
if xr != 0:
ea=abs((xr-xanterior)/xr)*100
signo=fl*fr
xr=round(xr,6)
ea=round(ea,6)
#agregamos valores a las matrices vacias
v_itera=np.append(v_itera,itera)
v_xl=np.append(v_xl,xl)
v_xu=np.append(v_xu,xu)
v_xr=np.append(v_xr,xr)
v_ea=np.append(v_ea,ea)
if signo < 0 :
xu=xr
elif signo >0:
xl=xr
fl=fr
else:
ea=0
#representamos datos en pandas
iteracion=pd.Series(v_itera,name="Iteracion")
xl=pd.Series(v_xl,name="xl")
xu=pd.Series(v_xu,name="xu")
xr=pd.Series(v_xr,name="xr")
ea=pd.Series(v_ea,name="ea%")
tabla=pd.concat([iteracion,xl,xu,xr,ea],axis=1) #unimos en columnas
print('')
print('EL METODO DE REGLA FALSA:')
print(tabla)
i=xr[len(xr)-1]
r=ea[len(ea)-1]
s=iteracion[len(iteracion)-1]
print('')
print('La raiz aproximada es de = ',i)
print('Con un error relativo % = ',r)
print('Con',s,'Iteracciones')
# Graficar la convergencia
plt.plot(v_itera, v_xr, label='Convergencia')
plt.xlabel('Iteración')
plt.ylabel('Valor de xr')
plt.title('Convergencia del Método de Regla Falsa')
plt.legend()
plt.show()
if h==3:
print('EL METODO DE NEWTON:')
funcion=input('Intruduce la funcion en terminos de x =')
funcionvalida=sympify(funcion)
x1 = float(input('Ingrese el valor de X1 = '))
Errort = float(input('Ingrese el hasta que porcentaje de error desea calcular = '))
Eralcien= 101 #error del 100%
itera=0
v_itera=np.array([]) #matriz q almacena valores de itera
v_x1=np.array([]) #matriz q alamacena valores de x1
v_xi=np.array([]) #matriz q alamcena valores de xi
v_ea=np.array([]) #matriz q alamcena valore s de ea
while (Eralcien>=Errort): #ciclo while que se roompe cuando nuestro error se cumple
derivada = funcionvalida.diff(x)
f2=derivada.subs(x,x1)
f3=f2.subs(eu,e)
x0=0
feuler = funcionvalida.subs(eu,e)#sustituimos nuestra funcion con el valor de euler, que
es constante
fpi = feuler.subs(phi,pi)# sustituimos la funcion con el valor de pi
fV = fpi.subs(x,x1) #reemplazamos y almacenamos en la funcion el valor de xi
xi=x1-(fV/f3)
Eralcien=abs((xi-x1)/xi)*100
itera=itera+1
v_itera=np.append(v_itera,itera)
v_x1=np.append(v_x1,x1)
v_xi=np.append(v_xi,xi)
v_ea=np.append(v_ea,Eralcien)
x1=xi
#representamos datos en pandas
iteracion=pd.Series(v_itera,name="Iteracion")
x1=pd.Series(v_x1,name="xi")
xi=pd.Series(v_xi,name="xi+1")
ea=pd.Series(v_ea,name="ea%")
tabla=pd.concat([iteracion,x1,xi,ea],axis=1)
print('')
print('EL METODO DE NEWTON:')
print(tabla)
i=xi[len(xi)-1]
r=ea[len(ea)-1]
s=iteracion[len(iteracion)-1]
print('')
print('La raiz aproximada es de = ',i)
print('Con un error relativo % = ',r)
print('Con',s,'Iteracciones')
# Graficar la convergencia
plt.plot(v_itera, v_xi, label='Convergencia')
plt.xlabel('Iteración')
plt.ylabel('Valor de xi')
plt.title('Convergencia del Método de Newton')
plt.legend()
plt.show()
Conclusiones
• Se concluye que el método de bisección y de newton-Raphson son una forma de encontrar las
aproximaciones de las raíces y es una forma muy sencilla solo tienes que seguir las fórmulas.
Este programa es muy sencillo de usar y es muy eficiente porque se utilizan para encontrar las
raíces.
• Como ha podido constatarse a lo largo de este artículo, los métodos numéricos y su
aplicación computacional, permite resolver diversos problemas físicos en forma
eficiente. La cantidad de problemas que se abordan aumenta día a día y la calidad de
los resultados se ajusta más a la realidad. La conjunción de las matemáticas y los
métodos numéricos ha permitido abordar problemas de mucho interés tanto para la
comunidad científica, como para que la sociedad se vea beneficiada de la aplicación
de simulaciones numéricas.
Recomendaciones
Revisar el código este bien realizado.
Revisar que se haya declarado variables y importado correctamente la bibliotecas.