Académique Documents
Professionnel Documents
Culture Documents
MÉTODOS NUMÉRICOS
GUIA NO 3. Página 1 de 7
Por: Marcos Alejo Sandoval
Tema: Método de NewtonRaphson
Objetivo: Solucionar ecuaciones no lineales mediante el método de NewtonRaphson con apoyo de la
calculadora y el software Scilab.
Contenido.
Ecuación de iteración
Interpretación gráfica
Ejemplos
Actividades de investigación
Autoevaluación
Bibliografía
Conducta de entrada.
1. Calcular:
d d 3x d d 3
[cos x] = [e ] = [ xe−x ] = [ x −3x−2] =
dx dx dx dx
2. Encuentre la ecuación de la recta tangente con la curva y=x 2 −2 en el punto (3,7)
3. Determinar el punto de corte entre la recta del ejercicio anterior y el eje x.
Teoría básica
El método de Newton Raphson se caracteriza por su
rápida convergencia cuándo converge.
Estrategia:
Partiendo de un punto x0 en el dominio de la función
trazamos la recta tangente que pasa por el punto
x 0 , f x 0 , el corte entre la recta con el eje x lo
llamaremos x1. De igual forma encontraremos x2,
x,3,.... y así sucesivamente.
DEPARTAMENTO DE CIENCIAS BÁSICAS
MÉTODOS NUMÉRICOS
GUIA NO 3. Página 2 de 7
Por: Marcos Alejo Sandoval
Analíticamente:
f x0
x 1=x 0−
f ' x0
f x 1
x 2= x 1−
f ' x 1
f x2
x 3=x 2−
f ' x2
...
f x i
x i1=x i −
f ' xi
...
Y cono no podemos seguir iterando infinitas veces surge la necesidad de decidir cuándo detenemos.
Veamos algunos casos:
1. Cuándo el error aproximado está por debajo de cierta cantidad admitida a la cuál llamaremos
tolerancia.
2. Cuándo se alcanza un número n de iteraciones y aún no hemos alcanzado la tolerancias.
Ejemplo: alguien podría decidir parar cuándo el error aproximado esté por debajo de 10−5 o
realizar un máximo de n=100 cumpliendo cualquiera de las 2 iteraciones podría parar.
3. Cuándo es imposible o no tiene sentido continuar el proceso. Ejemplo, si la derivada dio cero o
la función no está definida en en nuevo x no tendría sentido seguir.
Error Error
i x f(x)=xcos(x) f'(x)=1+sen(x) aprox aprox en %
0 0,5000000000 0,3775825619 1,4794255386
1 0,7552224171 0,0271033119 1,6854506318 0,255222417 0,337943381
2 0,7391416661 0,0000946154 1,6736538108 0,016080751 0,021755980
3 0,7390851339 0,0000000012 1,6736120297 0,000056532 0,000076489
4 0,7390851332 0,0000000000 1,6736120292 0,000000001 0,000000001
5 0,7390851332 0,0000000000 1,6736120292 0,000000000 0,000000000
DEPARTAMENTO DE CIENCIAS BÁSICAS
MÉTODOS NUMÉRICOS
GUIA NO 3. Página 3 de 7
Por: Marcos Alejo Sandoval
−
Note que no es conveniente partir de x 0 = ¿por qué?
2
Ensaye con la misma función partiendo de 1.0, 2, 3 y confirme si llega o no a la misma solución.
Ejemplo 2: Solucionar la ecuación 2x−e−x =0
−x i
2xi −e
Respuesta: La ecuación de iteración quedaría x i1=x i −
i
2e− x
Tomando x 0=1 ( se podrá otro valor?) el resultado de mis iteraciones sería:
x 0 =1 , 0 x 1 =0 , 3 1 0 7 2 4 8 0 7 0 x 2 =0 , 3 5 15 1125 86 x 3=0 , 3517337048 y así sucesivamente hasta llegar a
x 5=0,3517337112
Algunos Casos en los cuales el método no funciona:
(Tomado de Métodos numéricos con Matlab. Jhon H. Mathews. Prentice Hall)
DEPARTAMENTO DE CIENCIAS BÁSICAS
MÉTODOS NUMÉRICOS
GUIA NO 3. Página 4 de 7
Por: Marcos Alejo Sandoval
Este método aunque es de los más eficientes no siempre funciona como se puede ver en los ejemplos
anteriores.
El método de Newton Raphson con el software Scilab
Algoritmo en Scilab
El siguiente programa es una función Scilab para estimar una solución de la ecuación f x =0
f x i
mediante la iteración x i1=x i − partiendo de un valor inicial x 0 , la función f y su derivada
f ' xi
denotada como Df deben estar definidas
function [x]=NewtonRaphson(x0,tol,max1)
// x vector que almacena la {xn} completa
// ea error aproximado
// i número de iteraciones realizadas
// x0 es el punto de partida
// tol es la tolerancia
// max1 es el número máximo de iteraciones
x(1)=x0
for i=1:max1
x(i+1)=x(i)f(x(i))/Df(x(i))
ea=abs(x(i+1)x(i))
if ea<tol then
break
end
DEPARTAMENTO DE CIENCIAS BÁSICAS
MÉTODOS NUMÉRICOS
GUIA NO 3. Página 5 de 7
Por: Marcos Alejo Sandoval
end
if i==max1
disp('se ha excedido el número máximo de iteraciones')
end
disp('ea='+string(ea))
disp('iteraciones realizadas='+string(i) )
endfunction
Luego de escribir el programa usando el editor de Scilab, podemos cargarlo a la memoria con Execute,
load en scilab (Ctr+I)
El compilador indicará si se presentaron errores de digitación. Si aparece execdone quiere decir que
estamos listos para poner la función en ejecución.
Para ejecutar el programa de Newton Raphsono, suponiendo que hemos definido las funciones:
function y=f(x)
y=xcos(x)
endfunction
function w=Df(x)
w=1+sin(x)
endfunction
bastaría desde el prompt de scilab escribir:
>NewtonRaphson( 0, 0.001, 20)
y el programa se ejecutará mostrando los
resultados de la ventana derecha.
Los cuales indican que con solo 4 iteraciones ya se
tiene un error aproximado por debajo de 10−3
DEPARTAMENTO DE CIENCIAS BÁSICAS
MÉTODOS NUMÉRICOS
GUIA NO 3. Página 6 de 7
Por: Marcos Alejo Sandoval
al escribir la orden como
→ NewtonRaphson(3, 10^(9), 10)
el programa iniciaría a iterar con x=3 y
llegaría hasta x=0.7390851
Actividades de investigación
1. Solucione las siguientes ecuaciones
usando el método de newton
Raphson
a) 3x^3 + 1 = 0
b) sen(x + 2) = 2 + x
c) x^2 = tg(x)
2. Estime una raíz para la función f x =x 2 10 cos x utilizando 5 iteraciones de Newton
Raphson o hasta que el error relativo aproximado (en %) esté por debajo del 0,01%
3. La concentración en sangre de un medicamento administrado a un paciente a las t horas de
haberle inyectado A unidades de medicamento viene dada por c t= Ate−t /3 mg/ml. La
concentración máxima autorizada es 1 mg /ml.
a) Cuál es la cantidad que se puede inyectar sabiendo que la máxima concentración se alcanza
3 horas después de aplicada la primera dosis.
b) Cuando la concentración baje hasta 0.25 mg/ml habrá que administrar una segunda dosis de
este medicamento al paciente. Determine el minuto en el que deberá inyectarse la segunda
dosis.
4. La concentración de bacterias contaminantes c en un lago decrece de acuerdo con la relación
c=70 e−1.5t 25 e−0.075t
Determine el tiempo requerido para que la concentración de bacterias se reduzca a 9 usando el
método de NewtonRaphson.
5. Si se compra una pieza de un equipo que cuesta $20000 al contado y en pagos de $4000 al año
durante 6 años. Qué tasa de interés se está pagando? La fórmula que relaciona el valor presente
Pi 1in
P, los pagos anuales A, e número de años n y a tasa de interés es: A=
1in−1
Utilizar 5 iteraciones de Newton Raphson o hasta que el error en % esté por debajo del 0,01%
6. El problema de determinar la cantidad de dinero necesaria para amortizar una hipoteca se
resuelve mediante la fórmula de amortización:
P n
A= [ 1i −1 ]
i
En esta fórmula , A es el préstamo hipotecario, P es la cantidad que se entrega periódicamente, i
es el interés por períodos. Supongamos que necesitamos una hipoteca de 135 000 euros para
devolver en 30 años y que podemos pagar 1 000 euros al mes, Cuál es el interés máximo que
podemos pagar? Usar Newton Raphson.
DEPARTAMENTO DE CIENCIAS BÁSICAS
MÉTODOS NUMÉRICOS
GUIA NO 3. Página 7 de 7
Por: Marcos Alejo Sandoval
Autoevaluación
Consideran que el manejo del método de Newton Raphson y el software Scilab aporta para tu futuro
profesional? Si o No y por qué?
Qué recomiendas para mejorar este material?
En cuáles ejercicios encontró mayor dificultad? Por qué?
Cuáles ejercicios o problemas le parecieron más interesante? Por qué?
Bibliografía
CHAPRA & CANALE. Métodos Numéricos para ingenieros. McGrawHill. Quinta edición.
MATHEWS & FINK. Métodos numéricos con Matlab. Prentice Hall. 3Ra edición.
MORA, Hector. Introducción a Scilab. Departamento de Matemáticass. Universidad Nacional.
Colombia Mayo de 2005.
CARO & VALERO. Fundamentos de Scilab y Aplicaciones.