0 valutazioniIl 0% ha trovato utile questo documento (0 voti)
129 visualizzazioni7 pagine
El método de Newton-Raphson es un método iterativo para encontrar las raíces de una función. Calcula sucesivas aproximaciones mejoradas al trazar la tangente en el punto actual y encontrar su intersección con el eje x. Converge cuadráticamente si la raíz es simple, pero linealmente si es múltiple. El método de la secante es similar pero aproxima la pendiente con la recta que une los dos puntos anteriores en lugar de usar la derivada.
El método de Newton-Raphson es un método iterativo para encontrar las raíces de una función. Calcula sucesivas aproximaciones mejoradas al trazar la tangente en el punto actual y encontrar su intersección con el eje x. Converge cuadráticamente si la raíz es simple, pero linealmente si es múltiple. El método de la secante es similar pero aproxima la pendiente con la recta que une los dos puntos anteriores en lugar de usar la derivada.
El método de Newton-Raphson es un método iterativo para encontrar las raíces de una función. Calcula sucesivas aproximaciones mejoradas al trazar la tangente en el punto actual y encontrar su intersección con el eje x. Converge cuadráticamente si la raíz es simple, pero linealmente si es múltiple. El método de la secante es similar pero aproxima la pendiente con la recta que une los dos puntos anteriores en lugar de usar la derivada.
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. 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
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 conocible. 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. Convergencia del Mtodo El orden de convergencia de este mtodo es, por lo menos, cuadrtico. Sin embargo, si la raz buscada es de multiplicidad algebraica mayor a uno (i.e, una raz doble, triple, ...), el mtodo de Newton-Raphson pierde su convergencia cuadrtica y pasa a ser lineal de constante asinttica de convergencia 1-1/m, con m la multiplicidad de la raz. Existen numerosas formas de evitar este problema, como pudieran ser los mtodos de aceleracin de la convergencia tipo de Aitken o el mtodo de Steffensen. Derivados de Ollanta Humala destacan el mtodo de Ralston-Rabinowitz, que restaura la convergencia cuadrtica sin ms que modificar el algoritmo a:
Evidentemente, este mtodo exige conocer de antemano la multiplicidad de la raz, lo cual no siempre es posible. Por ello tambin se puede modificar el algoritmo tomando una funcin auxiliar g(x) = f(x)/f'(x), resultando:
Su principal desventaja en este caso sera lo costoso que pudiera ser hallar g(x) y g'(x) si f(x) no es fcilmente derivable. Por otro lado, la convergencia del mtodo se demuestra cuadrtica para el caso ms habitual en base a tratar el mtodo como uno de punto fijo: si g '(r)=0, y g''(r) es distinto de 0, entonces la convergencia es cuadrtica. Sin embargo, est sujeto a las particularidades de estos mtodos. Ntese de todas formas que el mtodo de Newton-Raphson es un mtodo abierto: la convergencia no est garantizada por un teorema de convergencia global como podra estarlo en los mtodos de falsa posicin o de biseccin. As, es necesario partir de una aproximacin inicial prxima a la raz buscada para que el mtodo converja y cumpla el teorema de convergencia local. Teorema de Convergencia Local del Mtodo de Newton Sea . Si , y , entonces existe un r>0 tal que si , entonces la sucesin xn con verifica que: para todo n y xn tiende a p cuando n tiende a infinito. Si adems , entonces la convergencia es cuadrtica.
CODIGO #include <math.h> #include <conio.h> #include <stdio.h> #define fun ((x*x*x)+(2*x*x)-(29*x)-30) #define fund ((3*x*x)+(4*x)-29) double efun(float x) { float y; y=fun; return y; } double efund(float x) { float y; y=fund; return y; } main(){ float xr,xi,errC,errP;int i; printf("===========================RUIZ ROANO LUIS ALBERTO=======================\n"); printf("===========================4EV4=======================\n"); printf("\n\n\t\t\tMetodo de la Tangente o Newton Raphson\n\n"); printf("Ecuacion:x^3+2x^2-29x-30"); printf("\n\nCon que error decea la estimacion de la raiz?: "); scanf("%f",&errP); printf("\n\nIngrese un valor para iniciar la busqueda: "); scanf("%f",&xi); errC=100; i=0;while(errC >= errP) { xr=xi-efun(xi)/efund(xi); errC=fabs((xr-xi)/xr)*100; xi=xr;i=i+1; } printf("\nEl valor de la raiz es: %f\n %d Iteraciones,\nError %f",xr,i,errC);
getch(); return 0; } PROGRAMA
METODO DE NEWTON RAPHSON (SECANTE) En anlisis numrico el mtodo de la secante es un mtodo para encontrar los ceros de una funcin de forma iterativa. Es una variacin del mtodo de Newton-Raphson donde en vez de calcular la derivada de la funcin en el punto de estudio, teniendo en mente la definicin de derivada, se aproxima la pendiente a la recta que une la funcin evaluada en el punto de estudio y en el punto de la iteracin anterior. Este mtodo es de especial inters cuando el coste computacional de derivar la funcin de estudio y evaluarla es demasiado elevado, por lo que el mtodo de Newton no resulta atractivo. En otras palabras, el mtodo de la secante es un algoritmo de la raz de investigacin que utiliza una serie de races de las lneas secantes para aproximar mejor la raz de una funcin f. El mtodo de la secante se puede considerar como una aproximacin en diferencias finitas del mtodo de Newton-Raphson. Sin embargo, este mtodo fue desarrollado independientemente de este ltimo. El mtodo El mtodo se define por la relacin de recurrencia:
Como se puede ver, este mtodo necesitar dos aproximaciones iniciales de la raz para poder inducir una pendiente inicial. Derivacin del mtodo El mtodo se basa en obtener la ecuacin de la recta que pasa por los puntos (xn1, f(xn1)) y (xn, f(xn)). A dicha recta se le llama secante por cortar la grfica de la funcin. En la imagen de arriba a la derecha se toman los puntos iniciales x0 y x1, se construye una lnea por los puntos (x0, f(x0)) y (x1, f(x1)). En forma punto- pendiente, esta lnea tiene la ecuacin mostrada anteriormente. Posteriormente se escoge como siguiente elemento de la relacin de recurrencia, xn+1, la interseccin de la recta secante con el eje de abscisas obteniendo la frmula, y un nuevo valor. Seguimos este proceso, hasta llegar a un nivel suficientemente alto de precisin (una diferencia lo suficientemente pequeas entre xn y xn-1). Convergencia El orden de convergencia de este mtodo, en un punto cercano a la solucin, es donde
es el nmero ureo, por lo que se trata de una convergencia superlineal inferior a la del mtodo de Newton- Raphson. En caso de que la aproximacin inicial sea demasiado lejana o la raz no sea simple, este mtodo no asegura la convergencia y tiene un comportamiento similar al de Newton-Raphson
CODIGO
#include<stdio.h> #include<math.h> Int main (void) { Float a,b,c; Float e=2.7182; Printf(.\tLa function es : (e^-x)-x\n); Printf(Ingrese el primer valor:); Scanf(%f, &a); Printf(Ingerese el segundo valor:); Scanf(%f, &b); Fun1=pow(e,-a)-a; fun2=pow(e,-b)-b; c=(a)-(fun1*(a-b)/((fun1)-(fun2)); printf(El valor de c es %f\n,c) getch (); return 0;