Sunteți pe pagina 1din 11

MTODOS NUMRICOS

Edwin David Yaguana Torres

MTODO DE LA SECANTE
El mtodo de la secante permite encontrar los ceros de una funcin de forma iterativa. Requiere de dos puntos inciales, los cuales pueden ser arbitrarios. Este mtodo bsicamente consiste en trazar rectas secantes a la curva de la ecuacin que se est analizando y vericar la interseccin de dichas rectas con el eje de las X para conocer si es la raz que se busca. Cabe mencionar que ste mtodo converge con la raz con una velocidad semejante a la de Newton-Raphson, aunque de igual forma corre el riesgo de no converger con sta nunca.

Figura 1: Mtodo de la secante Denicin: consideremos la curva y = f (x) continua en un intervalo [a,b], y la recta que pasa por los puntos A(a, f (a)) y B (b, f (b)). Si la funcin continua y = f (x) es tal que f(x)=0 posee una raz nica en el intervalo [a,b], y f(a) y f(b) tienen signos opuestos, la cuerda AB cortar al eje X en un punto x1 del intervalo [a,b], que junto con A B formar el nuevo intervalo (a1 , b1 )

El mtodo de la secante va aproximando el valor de la raz buscada mediante las sucesivas interacciones con el eje X de la cuerda que une dos puntos cuyas ordenadas son de signos distintos.

Frmula: debido a que el mtodo de la secante se basa en el mtodo de Newton-Raphson, pero evitando usar la derivada de la funcin, la recta que pasa por los valores de 2 iteraciones sucesivas se aproxima a la derivada de la funcin, es decir, la pendiente de la recta. f (x0 ) = f (x1 ) f (x0 ) x1 x0

Si se sutituye sta expresin en la ecuacin del Mtodo de Newton-Raphson, se obtiene la expresin del mtodo de la secante: x2 = x1 x1 x0 f (x1 ) f (x1 ) f (x0 )

Para ciertos valores x0 y x1 dados, la sucesin terminar cuando |xn+1 xn | e; donde e es la precisin requerida. EJEMPLOS 1. Mediante el mtodo de la secante calcular la raz aproximada de la funcin f (x) = x3 1, donde x0 = 0 y x1 = 2; hasta que e 1 % Mediante la frmula de la secante obtenemos los valores que se acercan a la raz de la funcin.

x2 = n 1 2 Figura 2: y = x 1 Se obtiene que la raz de la funcin es igual a 1; si se observa en la grca se cumple esta condicin.
3

x1 x0 f (x1 ) f (x1 ) f (x0 ) x1 2 0.250 0.466 2.737 0.566 0.653 1.299 0.897 0.973 1.003 x2 0.250 0.466 2.737 0.566 0.653 1.299 0.897 0.973 1.003 1 e 1.750 -0.216 -2.271 2.171 -0.087 -0.087 0.402 -0.076 -0.003 0.003

x0 0 2 0.250 0.466 2.737 0.566 0.653 1.299 0.897 0.973

3 4 5 6 7 8 9 10

2. Mediante el mtodo de la secante calcular la raz aproximada de la funcin f (x) = x2 4, donde x0 = 3 y x1 = 4; hasta que e 1 % Mediante la frmula de la secante obtenemos los valores que se acercan a la raz de la funcin.

x2 = Figura 3: y = x2 4 Se obtiene que la raz de la funcin es igual a 2; si se observa en la grca se cumple esta condicin. n 1 2 3 4 x0 3 4

x1 x0 f (x1 ) f (x1 ) f (x0 ) x1 4 2.286 2.091 2.006 x2 2.286 2.091 2.006 2 e 1.714 0.195 0.085 0.006

2.286 2.091

ALGORITMO Y EJECUCIN DEL MTODO DE LA SECANTE


ALGORITMO clc clear all disp(MTODO DE LA SECANTE) y=input(Ingrese la ecuacin: ); fx=inline(y); x=-2:0.1:2; y1=feval(fx,x); plot(x,y1) grid on hold on axis square plot([-3 3],[0 0],Color,r) plot([0 0],[-9 9],Color,r) fprintf(Ingrese los siguientes valores: \n) x0=input(x0: ); x1=input(x1: ); e=0.01; k=0; fx0=feval(fx,x0); fx1=feval(fx,x1); x2=x1-(fx1)*(x1-x0)/(fx1-fx0); error=abs(x1-x0); fprintf( x0\t\t x1 \t x2 \t error\n) while (abs(x1-x0)>e) fprintf(%.3f \t %.3f \t %.3f \t %.3f \t\n,x0,x1,x2,error) x0=x1; x1=x2; fx0=feval(fx,x0); fx1=feval(fx,x1); x2=x1-(fx1)*(x1-x0)/(fx1-fx0); error=abs(x1-x0); k=k+1; end fprintf(La raiz de la ecuacin es: %.0f\n,x2) fprintf(El nmero de iteraciones fue: %d\n,k)

EJECUCIN MTODO DE LA SECANTE Ingrese la ecuacin: x.^3-1 Ingrese los siguientes valores: x0: 0 x1: 2 x0 0.000 2.000 0.250 0.466 2.737 0.566 0.653 1.299 0.897 0.973 x1 2.000 0.250 0.466 2.737 0.566 0.653 1.299 0.897 0.973 1.003 x2 0.250 0.466 2.737 0.566 0.653 1.299 0.897 0.973 1.003 1.000 error 2.000 1.750 0.216 2.271 2.171 0.087 0.646 0.402 0.076 0.030

La raiz de la ecuacin es: 1 El nmero de iteraciones fue: 10

MTODO DE MULLER
El mtodo de Muller obtiene la raz de una funcin de manera similar al mtodo de la secante, pero en lugar de hacer una proyeccin de una recta utilizando dos puntos, requiere de tres puntos para calcular una parbola. Denicin: sea una funcin polinmica de la forma: fn (x) = a0 + a1 x + a2 x2 + . . . . . . + an xn Donde n es el orden del polinomio y las a son coecientes constantes. Los polinomios cumplen con las siguientes reglas: a) Para la ecuacin de orden n, hay n races reales o complejas. Se debe notar que esas races no son necesariamente distintas. b) Si n es impar, hay al menos una raz real. c) Si las races complejas existen, existe un par conjugado.

Figura 4: Mtodo de Muller

El mtodo consiste en obtener los coecientes de los tres puntos, sustituirlos en la frmula cuadrtica y obtener el punto donde la parbola intercepta el eje x. La aproximacin es fcil de escribir, en forma conveniente esta sera: f2 (x) = a(x x2 )2 + b(x x2 ) + C Se busca la parbola que intercepta los tres puntos [x0 , f (x0 )], [x1 , f (x1 )] y [x2 , f (x2 )]. Los coecientes de la ecuacin anterior se evalan al sustituir uno de esos tres puntos para dar: f (x0 ) = a(x0 x2 )2 + b(x0 x2 ) + C f (x1 ) = a(x1 x2 )2 + b(x1 x2 ) + C f (x2 ) = a(x2 x2 )2 + b(x2 x2 ) + C

De la ltima ecuacin se genera que, f (x2 ) = C , de esta forma, se puede tener un sistema de dos ecuaciones con dos incgnitas: f (x0 ) f (x2 ) = a(x0 x2 )2 + b(x0 x2 ) f (x1 ) f (x2 ) = a(x1 x2 )2 + b(x1 x2 ) Deniendo de esta forma: h0 = x1 x0 h1 = x2 x1 0 = 1 = Sustituyendo en el sistema: (h0 h1 )b (h0 + h1 )2 a = h0 0 + h1 1 h1 b h2 1 a = h1 1 Teniendo como resultado los coecientes: a= 1 0 h1 + h0 f (x1 ) f (x0 ) x1 x0 f (x2 ) f (x1 ) x2 x1

b = ah1 + 1 c = f (x2 ) Frmula: para calcular la raz del polinomio de segundo grado aplicamos la frmula general, pero debido al potencial error de redondeo se usar la frmula alternativa: x3 x2 = x3 = x2 + 2c b b2 4ac 2c b b2 4ac

La ventaja de este mtodo es que se pueden calcular races reales e imaginarias.

El error estimado ser: e= x3 x2 100 % x3

Al ser un mtodo de aproximacin, este se realiza de forma secuencial e iterativamente, donde x1 , x2 , x3 reemplazan los puntos x0 , x1 , x2 llevando el error a un valor cercano a cero.

EJEMPLOS 1. Mediante el mtodo de Muller calcular la raz aproximada de la funcin f (x) = x3 13x 12, donde x0 = 6, x1 = 5 y x2 = 1; hasta que e 1 % Obtenemos todos los valores para poder encontrar a, b, c y aplicamos la frmula para poder obtener el valor que se acerca a la raz de la funcin. Se obtiene que la raz de la funcin es igual a -3; si se observa en la grca se cumple esta condicin.

Figura 5: f (x) = x3 13x 12

x3 = x2 + n 1 2 3 4 5 6 x0 -6 -5 1 -3.688 -3.220 -3.034 x1 -5 1 -3.688 -3.220 -3.034 -3

2 c b b2 4ac x2 1 -3.688 -3.220 -3.034 -3 -3 x3 -3.688 -3.220 -3.034 -3 -3 -3 e 127.115 14.550 6.111 1.152 0.012 0

2. Mediante el mtodo de Muller calcular la raz aproximada de la funcin f (x) = x3 + x2 4x 4, donde x0 = 1, x1 = 1,5 y x2 = 1,75; hasta que e 1 % Obtenemos todos los valores para poder encontrar a, b, c y aplicamos la frmula para poder obtener el valor que se acerca a la raz de la funcin.

Figura 6: f (x) = x3 + x2 4x 4

Se obtiene que la raz de la funcin es igual a 2; si se observa en la grca se cumple esta condicin.

x3 = x2 + n 1 2 3 x0 1 1.5 1.750 x1 1.5 1.75 2.011

2 c b b2 4ac x2 1.75 2.011 2 x3 2.011 2 2 e 12.986 0.564 0.006

ALGORITMO Y EJECUCIN DEL MTODO DE MULLER


ALGORITMO clc clear all disp(MTODO DE MULLER) y=input(Ingrese la ecuacin: ); fx=inline(y); x=-2.5:0.1:2.5; y1=feval(fx,x); plot(x,y1) grid on hold on axis square plot([-3 3],[0 0],Color,r) plot([0 0],[-9 9],Color,r) fprintf(Ingrese los siguientes valores: \n) x0=input(x0: ); x1=input(x1: ); x2=input(x2: ); e=0.01; k=0; fx0=feval(fx,x0); fx1=feval(fx,x1); fx2=feval(fx,x2); h0=x1-x0; h1=x2-x1; d0=(fx1-fx0)/(x1-x0); d1=(fx2-fx1)/(x2-x1); a=(d1-d0)/(h1+h0); b=a*h1+d1; c=fx2; disc=sqrt(b.^2-4*a*c); x3=x2-((2*c)/(b+disc)); error=abs((x3-x2)/x3); fprintf( x0\t\t x1 \t x2 \t x3 \t error\n) while (error>e) fprintf(%.3f \t %.3f \t %.3f \t %.3f \t %.3f \t\n,x0,x1,x2,x3,error) x0=x1; x1=x2; x2=x3;

10

fx0=feval(fx,x0); fx1=feval(fx,x1); fx2=feval(fx,x2); h0=x1-x0; h1=x2-x1; d0=(fx1-fx2)/(x1-x0); d1=(fx2-fx1)/(x2-x1); a=(d1-d0)/(h1-h0); b=a*h1+d1; c=fx2; disc=sqrt(b.^2-4*a*c); x3=x2-((2*c)/(b+disc)); error=abs((x3-x2)/x3)*100; k=k+1; end fprintf(La raiz de la ecuacin es: %.0f\n,x3) fprintf(El nmero de iteraciones fue: %d\n,k) EJECUCIN MTODO DE MULLER Ingrese la ecuacin: x.^3+x.^2-4*x-4 Ingrese los siguientes valores: x0: 1 x1: 1.5 x2: 1.75 x0 1.000 1.500 1.750 x1 1.500 1.750 2.011 x2 1.750 2.011 2.011 x3 2.011 2.011 2.000 error 0.130 0.013 0.521

La raiz de la ecuacin es: 2 El nmero de iteraciones fue: 3

11

S-ar putea să vă placă și