Está en la página 1de 10

Raices de Ecuaciones

Berm udez Macias Ivette Jazm n, Salinas Iba nez M onica


Facultad de Ciencias F sico-Matem aticas, BUAP.

1.

Introducci on

Si una ecuaci on algebr aica o trascendente es relativamente complicada, por lo genertal no resulta posible hallar ra ces exactas. Es m as, en algunos casos las ecuaciones tienen coecientes conocidos s olo de forma aproximada, y por tanto, carece de sentido tratar de hallar las ra ces exactas de la ecuaci on. Por consiguiente, adquieren particular importancia los procedimientos de c alculo aproximado de ra ces de una ecuaci on as como la estimaci on de su grado de exactitud. El problema consiste en encontrar los valores de la variable xque satisfacen la ecuaci on: f (x) = 0 (1) para una funci on f dada, que est a denida y es continua en cierto intervalo nito o innito [a, b]. En ciertos casos se necesitar a la existencia y continuidad de la primera derivada f (x) e incluso de la segunda derivada f (x). A una soluci on de este problema, es decir, a todo valor p para el cual la funci on f (x) es cero, se le llama cero de la funci on f (x) o una ra z de f (x) = 0. El m etodo de Newton-Raphson (o simplemente Newton) es uno de los m etodos num ericos m as conocidos y poderosos para la resoluci on del problema de b usqueda de ra ces de f (x) = 0. Para introducir el m etodo de Newton usaremos un enfoque intuitivo basado en el polinomio de Taylor. Sup ongase que la funci on f es continuamente diferenciable dos veces en el intervalo [a, b], es decir: f C 2 [a, b]. Sea xo [a, b] una aproximaci on a la ra z p tal que f (xo ) = 0 y |xo p| es peque no. Consid erese el polinomio de Taylor de primer grado para f (x) alrededor de xo . f (x) = f (xo ) + (x xo )f (xo ) + (x xo )2 f ( (x)) 2 (2)

donde (x) esta entre x y xo . Como f (p) = 0, la ecuaci on 2, con x = p nos (p xo )2 f ( (p)) = 0 (3) 2 El m etodo de Newton se deriva suponiendo que el t ermino que contiene a 2 (x p) es despreciable y que f (xo ) + (p xo )f (xo ) + f (xo ) + (p xo )f (xo ) 0 Despejando la ecuaci on, resulta: f (xo ) (5) f (x) El m etodo de Newton-Raphson implica el generar la sucesi on {pn } denida por: p xo pn = pn1 f (pn1 ) f (pn ) (6) (4) da

M etodo de la secante El principal inconveniente del m etodo de Newton radica en que se requiere conocer el valor de la primera derivada de la funci on en el punto. Sin embargo, la forma funcional de f (x), diculta en ocasiones el c alculo de la derivada. Para poder resolver este problema se introduce una variaci on del M etodo de Newton con la deci on de l mite: f (pn1 ) = limxpn1 f (x) f (pn1 ) x pn1 (7)

Si pn2 esta muy cerca de pn1 , entonces: f (pn1 ) f (pn1 ) f (pn2 ) f (pn2 ) f (pn1 ) = pn2 pn1 pn1 pn2 (8)

Utilizando esta aproximaci on f (pn1 ) y sustituyendola en la f ormula de Newton(Ec.9), tenemos que: f (pn1 )(pn1 pn2 ) (9) f (pn1 ) f (pn2 ) Esta t ecnica inicia con dos aproximaciones iniciales po y p1 , asi, la aproximaci on p2 es la interescci on en x de la recta de une (po , f (po )) y (p1 , f (p1 )). Note que solo se necesita la funci on evaluada en un punto en cada paso, antes de que p2 sea determinado, a diferencia del M etodo de Newton que requiere la evaluaci on de la funci on en el punto y su derivada. pn = pn1 2

2.

Desarrollo

En general, en este reporte se trabaj o con el m etodo de Newton y el m etodo de la Secante para poder encontrar ra ces de funciones que anal ticamente ser a dif cil de encontrar. Una vez que se entendieron estos m etodos y se hicieron los c odigos procedimos a resolver problemas en concreto para vericar la ecacia del m etodo. El primer problema que se abord o fue acerca de crecimiento poblacional. Se sabe que el crecimiento poblacional puede ser modelado por periodos cortos de tiempo, asumiendo que la poblaci on crece cont nuamente con el tiempo a una tasa porporcional a la cantidad de poblaci on presente en ese tiempo. Ahora supongamos que N (t) denota el n umero de poblaci on al tiempo t y denota la tasa de natalidad de la poblaci on. As , la poblaci on satisface la ecuaci on diferencial: dN (t) = N (t)dt (10)

cuya soluci on es N (t) = No et , donde No es la poblaci on inicial. Este modelo exponencial es v alido solo cuando la poblaci on esta en un sistema aislado, sin inmigraci on. Sin embargo, si se permite inmigraci on a una tasa constante v , entonces la ecuaci on diferencial se convierte en: dN (t) = N (t)dt + v v cuya soluci on es N (t) = No et + (et 1). (11)

Si suponemos que en t = 0 la poblaci on inicial es N (0) = 1 106 , que en el primer a no 435, 000 personas inmigran a la ciudad y que hay N (1) = 1, 564, 000 individuos al t ermino del primer a no. Entonces, para poder determinar la tasa de natalidad de la poblaci on se necesita encontrar de la ecuaci on. 435, 000 t (e 1) (12) Ecuaci on que no es posible resolver expl citamente para . Sin embargo, utilizando el m etodo de Newton y de la Secante se resolvi o dicho problema, es decir, encontramos el valor de . 1, 564, 000 = 106 et +

3.

Algoritmo
Diagrama de Flujo: M etodo de Newton Diagrama de Flujo: M etodo de la secante Algoritmo M etodo de Newton 3

Figura 1: Diagrama de ujo del M etodo de Newton.

#include<stdio.h> #include<stdlib.h> #include<math.h> double f(double z) { double N=1; double V=0.435; //double fn=N*exp(z)+V*(exp(z)-1)/z-1.546; double fn=z*z*z-z-1; return fn; } double df(double z) { double N=1; double V=0.435; //double dfn=N*z*exp(z)+V*exp(z)+(V/z*z); double dfn=3*z*z-1;

Figura 2: Diagrama de ujo del M etodo de la secante.

return dfn; } main() { double p0,p,TOL,PI=4*atan(1); int i,N0; //INPUT: //p0=1.435; p0=1; TOL=1e-6; N0=20; i=0;

printf("%d\t%.10f\n",i,p0); //CALCULATIONS i=1; while(i<=N0) { if(df(p0)!=0) { p=p0-f(p0)/df(p0); printf("%d\t%.10f\n",i,p); } if(fabs(p-p0)<TOL) break; p0=p; i++; } //OUTPUT if(i<=N0) printf("Solution found at n=%d with p=%.4f\n",i,p); else printf("Solution not found after N0=%d iterations.\n",N0); }

Algoritmo M etodo de la Secante


#include<stdio.h> #include<stdlib.h> #include<math.h> double f(double z) { double N=1; double V=0.435; //double fn=N*exp(z)+V*(exp(z)-1)/z-1.546; double fn=z*z*z-z-1; return fn; } double df(double z) { double N=1; double V=0.435;

//double dfn=N*z*exp(z)+V*exp(z)+(V/z*z); double dfn=3*z*z-1; return dfn; } main() { double p0,p1,p,TOL,PI=4*atan(1),q0,q1; int i,N0; //INPUT: //p0=1.435; p0=1.5; p1=1; //p1=1.0; TOL=1e-6; N0=20; //printf("%d\t%.4f\n",i,p0*1e6); printf("%d\t%.10f\n",0,p0); printf("%d\t%.10f\n",1,p1); //CALCULATIONS i=2; q0=f(p0); q1=f(p1); while(i<=N0) { if(df(p0)!=0) { p=p1-q1*(p1-p0)/(q1-q0); printf("%d\t%.10f\n",i,p); // printf("%d\t%.10f\n",i,p); } if(fabs(p-p0)<TOL) break; i++; p0=p1; q0=q1; p1=p; q1=f(p); }

//OUTPUT if(i<=N0) printf("Solution found at n=%d with p=%.10f\n",i,p); //if(i<=N0) printf("Solution found at n=%d with p=%.10f\n",i,p); else printf("Solution not found after N0=%d iterations.\n",N0); }

4.

Resultados

Se obtuvieron dos tablas de datos, en cada una de ellas se muestran los resultados obtenidos por medio del m etodo de Newton y el m etodo de la secante. En la primera tabla se muestran los resultados del ejercicio 24, Secci on 2.3, obtenido de [1], en el cual se necesitaba encontrar el valor aproximado de con presici on de 104 de la ecuaci on que describe la poblaci on, dada por: 1564000 = 1000000e + 435000 ( e 1) y en la segunda tabla los resultados ob 3 tenidos al analizar la funci on f (x) = x x 1 obtenida de [2], en esta fuente es donde se veric o que los resultados fueran correctos. La primera tabla obtenidas es la siguiente:

Figura 3: Datos calculados del ejericio 24, secc. 2.3 Aqu notamos que entre m as grande sea el n umero de repeticiones y mas peque na sea la tolerancia, el resultado obtenido va a ser mejor y con mayor presici on. Para el m etodo de Newton se trabaj o son 8,10,12,14 repeticiones y las tolerancias 3 4 fueron de 1 10 , 1 10 , 1 105 , 1 106 . Notamos que para n=14 y para una tolerancia de 1 106 el resultado obtenido es de 1 = 87468.8495 el cual es muy cercano al valor obtenido con el m etodo

de la secante para n=9 con tolerancia 1 106 donde el resultado obtenido fue 2 = 87469.0247 la diferencia entre estos dos resultados es de: |2 1 | = 0.1752 Los datos obtenidos para el segundo ejercicio son los siguientes:

Figura 4: Datos obtenidos de la aproximaci on a la raiz de x3 x 1 Notamos que en este caso, los datos son m as similares y no es tanta su variaci on, pues para el m etodo de la secante obtenemos que para n=8, con tolerancia de 1 106 el valor obtenido para P= 1.32471795 y para el caso del m etodo de 6 la Newton para n=5 y tolerancia 1 10 , P = 1.3247179572, los cuales son dos cantidades que se parecen en los ocho pimeros n umeros decimales, el valor que se obtuvo en el m etodo de la secante unicamente fue reportado con ocho cifras decimales. Pero truncando las cantidades, obtenemos que P = 1.32471795 la cual es la cantidad reportada por el la fuente citada con [2]. De manera general podriamos decir que nuestros resultados dieren un poco de las cantidades reales debido a la cantidad de repeticiones que se realizaron, ya que entre mas veces lo hagamos, mejor ser a nuestro resultado, pero podriamos asegurar que los resultados de las tablas 1 y 2 son buenos ya que nuestra tolerancia fue muy peque na, TOL= 1 106 . Donde notamos que los datos obtenidos uctuan menos, es en el m etodo de la secante, por lo que podriamos decir que este m etodo tienen mayor presici on. En total trabajamos con 32 datos, ocho datos en cada tabla, de los cuales cuatro son los resultados obtenidos mediante el m etodo de Newton y los otros 4 del m etodo de la secate.

5.

Conclusiones

En efecto, al hacer nuestros c alculos podemos asegurar que los m etodos de aproximaci on para el c alculo de raices de una funci on son buenos, ya que nuestros resultados obtenidos fueron muy parecidos a los valores reportados por las fuentes citadas. Para tener una mayor precici on lo que tendriamos que hacer es repetirlo una gran cantidad de veces y poner nuestra tolerancia muy peque na. Para el primer caso, la diferencia reportada por las dos cantidades obtenidas por dos diferentes m etodos es de 0.1752 el cual es una cantidad muy peque na, en comparaci on con la magnitud de los resultados obtenidos. Para el segundo ejercicio. los resultados fueron id enticos, hasta los primeros ocho decimales. Lo que optamos por hacer, fue truncar la cantidad que tenia diez decimales y dejar simplemente en ocho. En general esta pr actica nos gust o, m as por la manera en como uno puede estar muy cerca de la soluci on de culquier ecuaci on de clase C 2 , sin necesidad de conocer el valor exacto de la raiz. Con este trabajo, nos pudimos dar cuenta de que mediante los m etodos de Newton y de la Secante es relativamente f acil encontrar soluciones a ecuaciones que son dif ciles de encontrar anal ticamente. Aunque cada uno tiene sus fallas creemos que ambos se pueden complementar, ya que si para resolver alg un problema, resulta dicil encontrar la derivda de la funci on, en lugar de usar el m etodo de Newton puedes usar el de la Secante, que en base a nuestros resultados, da una buena aproximaci on a los valores deseados.

Bibliograf a
1. Richard L. Burden and J. Douglas Faires, Numerical Analysis,Ninth Edition. 2. THOMAS and R. L. FINNEY, Calculus, Ninth Edition, Addison-Wesley, 1998. 3. http://www.epsem.upc.edu/~fpq/ale-hp/modulos/aplicaciones/newton.pdf 3. http://www.ehu.es/~mepmufov/html/Parte2.pdf

10

También podría gustarte