Subido por Alberto Rodriguez

Método de Newton Raphson

Anuncio
Universidad Autónoma de Chihuahua
Facultad de Ingeniería
Ingeniería de software
Asignatura:
Métodos numéricos
Tema:
Método de Newton Raphson
Asesor:
M.C. Claudio Hiram Carmona Jurado
Alumno:
Luis Alberto Rodríguez González 257333
12 de febrero de 2023
MÉTODO DE NEWTON RAPHSON
El método de Newton Raphson nos sirve para encontrar aproximaciones de las raíces de funciones no
lineales, es un método abierto esto quiere decir que no requiere de intervalos, solamente necesita un
valor inicial al cual llamaremos xn. Éste valor será la primera aproximación de la raíz con el cual se
debe evaluar la función y el resultado que nos dé va a ser punto en la función desde el cual vamos a
dibujar una recta tangente (la cual representa la derivada de la función) que va a interceptarse con el
eje de las equis, ese nuevo punto lo llamaremos xn+1 y de aquí en adelante el proceso se repite hasta
encontrar la raíz o bien hasta llegar a una aproximación aceptable.
Figura 1 En esta imagen se observa de manera gráfica como se representan los elementos de la función y ecuación a evaluar.
El método se basa en el desarrollo de Taylor, que recordemos es de la siguiente manera:
f(x) = f(a) + f '(a) (x-a) + (1/2!) f ' '(a) (x-a)2 + ...... + (1/n!) f (n) (a) (x-a)n
y haciendo un poco de algebra nos queda como resultado la siguiente fórmula:
xn+1 = (xn – f(xn)) / f ‘ (xn)
Donde:
xn+1 = Representa el valor aproximado de la raíz
xn = Representa el valor inicial aproximado de la raíz
f(xn) = La función evaluada en xn
f ‘ (xn) = La derivada de la función evaluada en xn
Ventajas: Este método puede ser rápido dadas las condiciones. Es eficiente en ecuaciones no
lineales.
Desventajas: Requiere de la primera derivada. Pudiera no convergir dependiendo de la función. Es
ineficiente en ecuaciones lineales. Es muy lenta dependiendo de la complejidad de las derivadas.
Los pasos a seguir en este método son los siguientes
1. Graficar la función.
2. Asignar valor inicial para xn
3. Evaluar f(x) y f ‘(x)
4. Calcular la raíz aproximada:
xn+1 = (xn – f(xn)) / f ‘ (xn)
5. Calcular el error:
Ea = | (xn+1 - xn) / xn+1 |
6. Regresar al paso 3 y repetir el proceso de manera iterativa hasta que f(xr)=0, hasta que el error
(Ea) sea aceptable o hasta que se cumpla un determinado número de iteraciones.
Ejemplo: Encontrar la raíz de la función f(x)=x3-x-1 hasta que Ea sea menor 0.05
Paso 1: Graficar la función
Figura 2 En esta imagen aprovecho para dejar el valor de la raíz a modo de comprobación.
Paso 2: Asignar valor inicial para x1
Primera Iteración
x1 = 1
Paso 3: Evaluar f(x) y f ‘(x)
f(x) = x3-x-1
f ‘(x) = 3x2 -1
Ahora vamos a evaluar la aproximación inicial en ambas funciones
f(x) = (1)3-1-1
f(x) = -1
f ‘(x) = 3(1)2 -1
f ‘(x) = 2
Segunda Iteración
Paso 4:
x2 = (x1 – f(x1)) / f ‘ (x1)
x2 = (1 –(–1 / 2 ))
x2 = (1 –(–0.5 ))
x2 = (1 + 0.5)
x2 = 1.5
Paso 5: Calcular el error:
Ea = | (x2 – x1) / x2 |
Ea = | (1.5 – 1) / 1.5 |
Ea = 0.3333
Tercera Iteración:
Paso 3: Evaluar f(x) y f ‘(x)
f(x) = x3-x-1
f ‘(x) = 3x2 -1
Ahora vamos a evaluar la aproximación inicial en ambas funciones
f(x2) = (1.5)3-1.5-1
f(x2) = 0.875
f ‘(x2) = 3(1.5)2 -1
f ‘(x2) = 5.75
Paso 4:
X3 = (x2 – f(x2)) / f ‘ (x2)
x3 = (1.5 – (0.875 / 5.75))
x3 = 1.5 – 0.152173
x3 = 1.347827
Paso 5: Calcular el error:
Ea = | (x3 – x2) / x3 |
Ea = | (1.347827 – 1.5) / 1.347827 |
Ea = 0.1129
Cuarta Iteración:
Paso 3: Evaluar f(x) y f ‘(x)
f(x) = x3-x-1
f ‘(x) = 3x2 -1
Ahora vamos a evaluar la aproximación inicial en ambas funciones
f(x3) = (1.347827)3-1.347827-1
f(x3) = 0.100686
f ‘(x3) = 3(1.347827)2 -1
f ‘(x3) = 4.449912
Paso 4:
X4 = (x3 – f(x3)) / f ‘ (x3)
x4 = (1.347827 – (0.100686 / 4.449912))
x4 = 1.347827 – 0.022630
x4 = 1.325197
Paso 5: Calcular el error:
Ea = | (x4 – x3) / x4 |
Ea = | (1.325197– 1.347827) / 1.325197|
Ea = 0.0170
Por lo tanto, al ser 0.0170 < 0.05 el proceso de iteración termina.
______________________________________________________________________________
Ahora voy a dejar el código del algoritmo que lo resuelve en Scilab y también dejare un link de descarga
del archivo en formato .sce para correrlo en el programa Scilab.
resp1 = 's'
while resp1 == 's'
clc
clear
fu = input('Ingrese la función a evaluar: ','s')
deff('y=f(x)','y='+fu)
printf('\nEste programa requiere que conozca el dominio de la función a evaluar razón por la\ncual debe
usted ingresar los límites de la gráfica')
a = input('Ingrese el límite inferior de gráfica: ')
b = input('Ingrese el límite superior de gráfica: ')
x = a:1:b
clf()
plot(x,f(x),xgrid(1))
resp2 = 's'
while resp2 == 's'
x0 = input ('Ingrese el valor inicial de x0: ')
it = input ('Ingrese el número de iteraciones: ')
n=1
while n<it
de = numderivative(f,x0)
xi = x0 - f(x0)/de
n=n+1
x0 = xi
end
printf ('El valor de la raíz es de x = %6f',xi)
resp2 = input('¿Desea evaluar otro punto? Ingrese S o N: ','s')
end
resp1= input('¿Desea ingresar otra función? Ingrese S o N:','s')
end
________________________________________________________________________________
Dejo ahora unas capturas del programa en ejecución:
Figura 3 En la figura se ingresa la función del ejemplo x3-x-1
Figura 4 Se ingresan los valores inferior y superior de la gráfica y se genera automáticamente
Figura 5 Se ingresa el valor inicial, en este caso se asigno x=1 como lo indicaba el ejemplo y se ingreso el numero de iteraciones como
3. Esto nos arrojo un valor casi exacto al mismo que sacamos a mano en el ejemplo de este documento salvo por el último dígito después
del punto, dado que trunque el resultado a 6 dígitos después del punto.
Figura 6 Aquí únicamente accedí a evaluar nuevamente (volví a retomar x=1 como punto inicial) esta vez con 4 iteraciones para
corroborar que el ejercicio hecho a mano estuviera bien, sin embargo, por la cantidad de decimales que tomé el resultado varía un poco.
Figura 7 Finalmente el programa pregunta si se quiere ingresar un nuevo o valor o una nueva función. En este caso simplemente indique
que no a ambas solicitudes y el programa terminó.
BIBLIOGRAFIA
Departamento de Matemáticas de la Universidad de Las Palmas de Gran Canaria. (s.f.). Métodos
Numéricos 3: Raíces de ecuaciones: Métodos de Newton-Raphson y de la secante. Departamento de
Matemáticas. https://estadistica-dma.ulpgc.es/FCC/05-3-Raices-de-Ecuaciones-2.html
Portafolio de métodos numéricos. (2017, 8 de marzo). Comparativo. Métodos numéricos.
https://metodosnumericos426.wordpress.com/2017/03/08/comparativo/
Descargar