Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Actividad 2. Ejercicios
Métodos Numéricos
Unidad 2. Solución de ecuaciones no lineales de una variable
este 𝑓(𝑚! )
3. Si 𝑓(𝑚! ) = 0 se ha encontrado la raíz y finaliza el proceso. En caso contrario
se debe seleccionar el nuevo subintervalo como aquel en el que la función
cambia de signo. Así, en el caso de que se 𝑓(𝑎! )𝑓(𝑚! ) < 0 el nuevo intervalo
será [𝑎! , 𝑚! ], mientras si se da que se 𝑓(𝑚! )𝑓(𝑏! ) < 0 el nuevo intervalo
será [𝑚! , 𝑏! ]
4. Repetir los pasos 2 y 3 hasta que el intervalo sea tan pequeño como se desee.
5. La posición de la raíz, en el caso de que no se hubiese encontrado, se puede
"" #$"
estimar con 𝑚& = %
𝑏& − 𝑎& 𝑏! − 𝑎!
𝜀 = |𝑥'()* − 𝑥& | ≤ = &#+
2 2
Donde 𝑥'()* indica la posición real de la raíz. De este modo, si se conoce el error máximo
deseado 𝜀 se puede saber cual es el número máximo de pasos necesarios para alcanzarla,
al despejar el valor de N
𝑏! − 𝑎!
𝑙𝑛 7 𝜀 7
𝑁=
𝑙𝑛|2|
Unidad 2. Solución de ecuaciones no lineales de una variable
Código en python
import math
#Algoritmo para el método bisección
def biseccion (funcion, aO, bO, error):
if funcion(mO) == 0:
return mO
if funcion(aO)*funcion(mO)<0:
bO = mO
else:
aO = mO
Ejercicio 1. Aleatorio
𝑓(𝑥) = 𝑥 , − 3𝑥 % − 𝑥 + 2
Gráfico 1. El gráfico muestra que hay una raíz entre -2 y 0, otra entre 0 y 2 y otra entre 2 y
4.
Unidad 2. Solución de ecuaciones no lineales de una variable
Ejercicio 2. Aleatorio
𝑓(𝑥) = 𝑥 % − 1
Gráfico 2. El gráfico muestra que hay una raíz entre -2 y 0 y otra entre 0 y 2
Unidad 2. Solución de ecuaciones no lineales de una variable
• Falsa posición
Código en python
import numpy as np
Ejercicio 1. Aleatorio
𝑓(𝑥) = 𝑥 , + 4𝑥 % − 10
Ejercicio 2. Aleatorio
𝑓(𝑥) = 𝑥 / − 17𝑥 0 − 15𝑥 % + 12𝑥 − 1
• Newton – Raphson
Código en python
import numpy as np
# SALIDA
print(['xi', 'xnuevo', 'tramo'])
np.set_printoptions(precision = 4)
print(tabla)
print('raiz en: ', xi)
print('con error de: ',tramo)
Ejercicio 1. Aleatorio
𝑓(𝑥) = 𝑥 , + 4𝑥 % − 10
Ejercicio 2. Aleatorio
𝑓(𝑥) = 𝑥 , − 𝑥 % + 2
• Método de la Secante
Código en python
#Algoritmo
def secante(funcion, aO, bO, i):
#Verificar si se puede aplicar
if funcion(aO)*funcion(bO)>= 0:
print ("No se puede aplicar el método de la secante")
return None
if funcion(xn) == 0:
return xn
if funcion(aO)*funcion(xn)<0:
bO = xn
else:
aO = xn
return xn
Ejercicio 1. Aleatorio
𝑓(𝑥) = 𝑥 % + 2𝑥 − 8
Si consideramos 50 iteraciones tenemos que:
Ejercicio 2. Aleatorio
𝑓(𝑥) = 𝑥 , + 2𝑥 % + 10𝑥 − 20
Conclusión
Al observar estos ejercicios, podemos concluir que se pueden resolver ecuaciones no
lineales de una variable con diferentes métodos. Así, algunos métodos presentan más
ventajas que otros por la naturaleza de cada función y también por la implementación que
conlleva cada método. El algoritmo de bisección, por ejemplo, es muy utilizado ya que es
muy fácil de entender y de implementar y se puede establecer el error y, por tanto, el número
de iteraciones necesarias para alcanzar este error. Muchos métodos son variaciones de
otros que pueden ayudar en ciertos casos, como es el caso del método de la regla falsa
que utiliza una línea recta para obtener mejores resultados que el de bisección ya que
pretende ser más rápido.
Por otra parte, también los métodos abiertos que requieren de una formula más que de
intervalos son muy utilices para ciertos casos, como el método de Newton-Raphson que es
el más rápido ya que no requiere de un proceso iterativo para determinar el movimiento.
También, permite encontrar raíces a partir de un solo valor inicial.
Referencias
1. Vázquez, L. y Jiménez, S. (2009). Métodos numéricos para la física y la ingeniería
[Versión electrónica]. Recuperado de https://elibro.net/es/ereader/uvm/50154
2. Chapra, S. y Canale, R. (2007). Métodos numéricos para ingenieros [Versión
electrónica]. Recuperado de http://artemisa.unicauca.edu.co/~cardila/Chapra.pdf
3. Serrano, J. (s.f.). Métodos Numéricos: Bisección [Página web]. Recuperado de
https://www.geogebra.org/m/mNY3NPuU