Está en la página 1de 6

Univ: CALLISAYACHAVEZ MARIA EUGENIA C.I:7029520 L.P.

LIC: MULLISACA CHOQUE CARLOS

Mtodo de Newton
En anlisis numrico, el mtodo de Newton (conocido tambin como el mtodo de Newton-Raphson o el mtodo de Newton-Fourier) es un algoritmo eficiente para encontrar aproximaciones de los ceros o races de una funcin real. Tambin puede ser usado para encontrar el mximo o mnimo de una funcin, encontrando los ceros de su primera derivada.

Historia
El mtodo de Newton fue descrito por Isaac Newton en De analysi per aequationes nmero terminorum infinitas (escrito en 1669, publicado en 1711 por William Jones) y en De metodis fluxionum et serierum infinitarum (escrito en 1671, traducido y publicado como Mtodo de las fluxiones en 1736 por John Colson). Sin embargo, su descripcin difiere en forma sustancial de la descripcin moderna presentada ms arriba: Newton aplicaba el mtodo solo a polinomios, y no consideraba las aproximaciones sucesivas xn, sino que calculaba una secuencia de polinomios para llegar a la aproximacin de la raz x. Finalmente, Newton ve el mtodo como puramente algebraico y falla al no ver la conexin con el clculo. Isaac Newton probablemente deriv su mtodo de forma similar aunque menos precisa del mtodo de Franois Vite. La esencia del mtodo de Vite puede encontrarse en el trabajo del matemtico persa Sharaf al-Din al-Tusi. El mtodo de Newton-Raphson es llamado as por la razn de que el matemtico ingls Joseph Raphson (contemporneo de Newton) se hizo miembro de la Royal Society en 1691 por su libro aequationum universalis Anlisis que publico en 1690 y el cual contena este mtodo para aproximar races. Mientras que Newton en su libro Mtodo de las fluxiones describe el mismo mtodo escrito en 1671, pero publicado hasta 1736, lo que significa que Raphson haba publicado este resultado casi 50 aos antes, aunque no fue tan popular como los trabajos de Newton y se le reconoci posteriormente.

Descripcin del mtodo

La funcin es mostrada en azul y la lnea tangente en rojo. Vemos que xn+1 es una mejor aproximacin que xn para la raz x de la funcin f. El mtodo de Newton-Raphson es un mtodo abierto, en el sentido de que su convergencia global no est garantizada. La nica manera de alcanzar la convergencia es seleccionar un valor inicial lo suficientemente cercano a la raz buscada. As, se ha de comenzar la iteracin con un valor razonablemente cercano al cero (denominado punto de arranque o valor supuesto). La relativa cercana del punto inicial a la raz depende mucho de la naturaleza de la propia funcin; si sta presenta mltiples puntos de inflexin o pendientes grandes en el entorno de la raz, entonces las probabilidades de que el algoritmo diverja aumentan, lo cual exige seleccionar un valor supuesto cercano a la raz. Una vez que se ha hecho esto, el mtodo linealiza la funcin por la recta tangente en ese valor supuesto. La abscisa en el origen de dicha recta ser, segn el mtodo, una mejor aproximacin de la raz que el valor anterior. Se realizarn sucesivas iteraciones hasta que el mtodo haya convergido lo suficiente. f'(x)= 0 Sea f : [a, b] -> R funcin derivable definida en el intervalo real [a, b]. Empezamos con un valor inicial x0 y definimos para cada nmero natural n

Univ: CALLISAYACHAVEZ MARIA EUGENIA C.I:7029520 L.P. LIC: MULLISACA CHOQUE CARLOS

Donde f ' denota la derivada de f. Ntese que el mtodo descrito es de aplicacin exclusiva para funciones de una sola variable con forma analtica o implcita cognoscible. Existen variantes del mtodo aplicables a sistemas discretos que permiten estimar las races de la tendencia, as como algoritmos que extienden el mtodo de Newton a sistemas multivariables, sistemas de ecuaciones, etc.

CODIFICACION EN MATLAB
disp ('NEWTON-RAPHSON') xo=input('Valor inicial ='); n=input ('numero de iteraciones='); salida=ones(n,4); % matiz de salida de datos for i=1:n x1=xo-[(exp(-xo)-xo)]/[(-exp(-xo)-1)]; vsal=[xo;x1]; er=[[abs((xo-x1)/xo)]]*100; % error relativo porcentual ea=[[abs((x1-xo)/x1)]]*100; % error xo=x1; salida(i,1)=i; salida(i,2)=x1; salida(i,3)=er; salida(i,4)=ea; end disp('ite raiz er ea'); disp(num2str(salida));

Univ: CALLISAYACHAVEZ MARIA EUGENIA C.I:7029520 L.P. LIC: MULLISACA CHOQUE CARLOS CODIFICADO1
disp ('NEWTON-RAPHSON') xo=input('Valor inicial ='); n=input ('numero de iteraciones='); salida=ones(n,4); % matiz de salida de datos for i=1:n x1=xo-[(exp(-xo)-xo)]/[(-exp(-xo)-1)]; vsal=[xo;x1]; er=[[abs((xo-x1)/xo)]]*100; % error relativo porcentual ea=[[abs((x1-xo)/x1)]]*100; % error xo=x1; salida(i,1)=i; salida(i,2)=x1; salida(i,3)=er; salida(i,4)=ea; end disp('iteraciones de la raiz error relativo porcentual al error '); disp(num2str(salida));

CORRIDA EN MATLAB1

Univ: CALLISAYACHAVEZ MARIA EUGENIA C.I:7029520 L.P. LIC: MULLISACA CHOQUE CARLOS REALIZADO EN EXCEL

METODO DE NEWTON RAPSHON NUMERO 0 1 2 3 4 5 X 0.4 0.50848277 0.54338053 0.55712173 0.5628522 0.56529443 f(X) 0.27032005 0.09292459 0.03740105 0.01573379 0.00672999 0.0028984 f'(x) -2.4918247 -2.66276648 -2.72181769 -2.74564084 -2.75567289 -2.75996589 FUNCION DE NEWTON 0.50848277 0.543380532 0.557121734 0.562852196 0.565294427 0.566344586

FUNCION DE NEWTON
0.57 0.56 0.55 0.54 0.53 0.52 0.51 0.5 0 2 4 6 8 FUNCION DE NEWTON

CODIFICADO EN JAVA

import java.io.*; public class MetodoNewtonRapshon { // Mtodo de Newton - Rapson para encontrar las raices de una ecuacin // la ecuacin explicita debe codificarse en el mtodo f, y su derivada // debe codificarse en el mtodo df static BufferedReader reader; public MetodoNewtonRapshon() {

Univ: CALLISAYACHAVEZ MARIA EUGENIA C.I:7029520 L.P. LIC: MULLISACA CHOQUE CARLOS
reader = new BufferedReader(new InputStreamReader(System.in)); } public static double readDouble() throws IOException { return (new Double(reader.readLine())).doubleValue(); } // Codificacin de la funcin x cubica menos 4.3 por x cuadrada mas 4 por x // menos 17.2 public static double f(double x) { return x * x * x - 4.3 * x * x + 4 * x - 17.2; } // Derivada de la funcion anterior public static double df(double x) { return 3 * x * x - 4.3 * 2 * x + 4; } public static void main(String[] args) { double x, y, error; boolean done = false; MetodoNewtonRapshon v = new MetodoNewtonRapshon(); try { System.out.print("x0 = "); x = readDouble(); System.out.println(); System.out.print("error = "); error = readDouble(); do { y = f(x); System.out.println(x + " " + y); if (Math.abs(y) < error) done = true; x -= y / df(x); } while (!done); System.out.println("Raiz de la Ecuacin : " + x); } catch (Exception e) { e.printStackTrace(); } } }

Univ: CALLISAYACHAVEZ MARIA EUGENIA C.I:7029520 L.P. LIC: MULLISACA CHOQUE CARLOS
CORRIDA EN JAVA

También podría gustarte