Sunteți pe pagina 1din 12

METODO DE LA REGLA FALSA

1. CONCEPTO.
En clculo numrico, el mtodo de regula falsa (regla falsa) o falsa posicin es un mtodo
iterativo de resolucin numrica de ecuaciones no lineales. El mtodo combina el mtodo
de biseccin y el mtodo de la secante.
Este mtodo sirve para encontrar la raz o solucin real de una ecuacin. Al decir que
encuentra su resultado hay que tomar en cuenta que no todas las ecuaciones tienen un solo
resultado, y que no todas tienen resultado, por lo que hay que tener una idea de la forma de
la curva de la ecuacin antes de aplicar el mtodo para que sea efectivo.
2. PROCEDIMIENTO.
Como mencionamos anteriormente, sera bueno considerar si la raz de una
ecuacin est localizada ms cerca de alguno de los extremos del intervalo.
Consideremos nuevamente una grfica como la anterior:
Donde hemos agregado la lnea recta que une los puntos extremos de la grfica
en el intervalo
.
Es claro que si en lugar de considerar el punto medio del intervalo, tomamos el punto
donde cruza al eje esta recta, nos aproximaremos mucho ms rpido a la raz; sta es en s,
la idea central del mtodo de la regla falsa y sta es realmente la nica diferencia con el
mtodo de biseccin, puesto que en todo lo dems los dos mtodos son prcticamente
idnticos.
Supongamos que tenemos una funcin
que es continua en el intervalo
y adems,
y
tienen signos opuestos.
Calculemos la ecuacin de la lnea recta que une los puntos
,
.
Sabemos que la pendiente de esta recta esta dada por:
Por lo tanto la ecuacin de la recta es:

Para obtener el cruce con el eje , hacemos


:
Multiplicando por
nos da:
Finalmente, de aqu despejamos :
Este punto es el que toma el papel de
en lugar del punto medio del mtodo
de biseccin.
As pues, el mtodo de la regla falsa sigue los siguientes pasos:
Sea
continua,
i) Encontrar valores iniciales
,
tales que
y
tienen signos
opuestos, es decir,
ii) La primera aproximacin a la raz se toma igual a:
iii) Evaluar
. Forzosamente debemos caer en uno de los siguientes casos:
En este caso, tenemos que
y
tienen signos opuestos, y por lo tanto la
raz se encuentra en el intervalo
.
En este caso, tenemos que
y

tienen el mismo signo, y de aqu que


y
tienen signos opuestos. Por lo tanto, la raz se encuentra en el
intervalo
.
En este caso se tiene que
y por lo tanto ya localizamos la raz.
El proceso se vuelve a repetir con el nuevo intervalo, hasta que:

3. EJEMPLOS.
A)
Usar el mtodo de la regla falsa para aproximar la raz de
,
comenzando en el intervalo
y hasta que
.
Solucin.
Este es el mismo ejemplo 1 del mtodo de la biseccin. As pues, ya sabemos que

es continua en el intervalo dado y que toma signos opuestos en los extremos de


dicho intervalo. Por lo tanto podemos aplicar el mtodo de la regla falsa.
Calculamos la primera aproximacin:
Puesto que solamente tenemos una aproximacin, debemos seguir con el proceso.
As
pues,
evaluamos
Y hacemos nuestra tabla de signos:
De donde vemos que la raz se encuentra en el intervalo
.
Con este nuevo intervalo, calculamos la nueva aproximacin:
En este momento, podemos calcular el primer error aproximado:
Puesto que no se cumple el objetivo seguimos con el proceso.
Evaluamos
, y hacemos la tabla de
signos:
De donde vemos que la raz se encuentra en el intervalo
, con el cual,
podemos calcular la nueva aproximacin:

Y el error aproximado:
Como se ha cumplido el objetivo, concluimos que la aproximacin buscada es:
Observe la rapidez con la cual converge el mtodo de la regla falsa a la raz, a diferencia
de la lentitud del mtodo de la biseccin.
B)
Usar el mtodo de la regla falsa para aproximar la raz de
,
comenzando en el intervalo
y hasta que
.
Solucion.
Este es el mismo ejemplo 2 del mtodo de la biseccin. As pues, ya sabemos que se
cumplen las hiptesis necesarias para poder aplicar el mtodo, es decir, que
sea
contnua en el intervalo dado y que
tome signos opuestos en los extremos de
dicho intervalo.
Calculamos pues, la primera aproximacin:
Como solamente tenemos una aproximacin, debemos avanzar en el proceso.
Evaluamos
Y hacemos nuestra tabla de signos:

De lo cual vemos que la raz se localiza en el intervalo


.
As pues, calculamos la nueva aproximacin:
Y calculamos el error aproximado:
Puesto que no se cumple el objetivo, seguimos avanzando en el proceso.
Evaluamos
.
Y hacemos nuestra tabla de signos:

De los cual vemos que la raz se localiza en el intervalo


, con el cual
podemos calcular al siguiente aproximacin:
Y el siguiente error aproximado:
Como se ha cumplido el objetivo, conclumos que la aproximacin buscada es:
Nuevamente observamos el contraste entre la rapidez del mtodo de la regla falsa contra
la lentitud del mtodo de la biseccin.
Por supuesto que puede darse el caso en el que el mtodo de la regla falsa encuentre la

aproximacin a la raz de forma ms lenta que el mtodo de la biseccin. Como


ejercicio, el estudiante puede aplicar ambos mtodos a la funcin
,
comenzando en el intervalo
, donde notar que mientras que el mtodo de
biseccin requiere de 8 aproximaciones para lograr que
, el mtodo de la
regla falsa necesita hasta 16 aproximaciones.
3. CODIGO FUENTE.
En MatLab:
function r_falsa(f_name, a,c, xmin, xmax, n_points) f_name
% a,c : extremos de intervalo inicial
% tolerance : tolerancia
% it_limit : limite del numero de interacciones
% Y_a, Y_c : valores y de los extremos actuales
% fun_f(x) : valor funcional en x
clg, hold off
clear Y_a, clear Y_c
wid_x = xmax - xmin; dx = (xmax - xmin) /n_points;
xp = xmin: dx: xmax; yp = feval(f_name, xp);
plot (xp,yp) ; xlabel('x') ;ylabel ('f(x)');
title('mtodo de la regla falsa'), hold on
ymin = min(yp); ymax = max(yp); wid_y = ymax-ymin;
yp=0.* xp ; plot(xp,yp)
fprintf ('mtodo de la regla falsa:\n\n');
tolerance = 0.000001; it_limit = 30;
fprintf ('It. a b c fa=f(a) ');
fprintf (' fc=f(c) abs(fc-fa) \n');
it = 0;
Y_a = feval(f_name, a); Y_c = feval(f_name, c);
plot([a,a],[Y_a,0]); text(a,-0.1*wid_y,'x=a')
plot([c,c],[Y_c,0]); text(c,-0.1*wid_y,'x=c')
if (Y_a*Y_c > 0) fprintf(' f(a)f(c) > 0 \n');
else
while 1
it = it+1;
b = (a+c)/2;Y_b=feval(f_name, b);
plot([b,b],[Y_b,0],':'); plot(b,0,'o')
if it<4, text(b, wid_y/20, [num2str(it)]),end

fprintf('%3.0f %10.6f, %10.6f', it, a, b);


fprintf('%10.6f, %10.6f, %10.6f', c, Y_a, Y_c);
fprintf('%12.3e\n',abs((Y_c - Y_a) ));
if ( abs(c-a)<=tolerance )
fprintf (' se satisface la tolerancia. \n' );break
end
if ( it>it_limit )
fprintf('se excedio limite de interaciones. \n'); break
end
if ( Y_a*Y_b <= 0) c = b; Y_c = Y_b;
else a = b; Y_a = Y_b;
end
end
fprintf('resultado final: raz = %12.6f \n',b);
end
x=b;
plot([x x], [0.05*wid_y 0.2*wid_y])
text(x, 0.25*wid_y, 'solucion final')
plot([x (x-wid_x*0.004)], [0.05*wid_y 0.09*wid_y])
plot([x (x+wid_x*0.004)], [0.05*wid_y 0.09*wid_y])
dem_fals.m
ction y = dem_fals(x)
y = (1 - x. *cos(x)) . *x;
Objetivo: Encontrar una raz de una funcion y exhibir el proceso interactivo.
axis: r_falsa('nombre_f', a, c, xmin, xmax, n_puntos)
nombre_f: el nombre de la funcion
a y b : extremos del intervalo inicial
xmin, xmax: coordenadas x minima y maxima de la grafica
n_puntos: numero de puntos utulizados para trazar la curva.
En Pantalla de Matlab.
r_falsa('dem_fals', 2,6,0,7,100)
f_name =
dem_fals
mtodo de la regla falsa:
It. a b c fa=f(a) fc=f(c) abs(fc-fa)

www.heur.tk
1 2.000000, 4.000000 6.000000, 3.664587, -28.566130 3.223e+001 2 4.000000, 5.000000
6.000000, 14.458298, -28.566130 4.302e+001 3 4.000000, 4.500000 5.000000, 14.458298,
-2.091555 1.655e+001 4 4.500000, 4.750000 5.000000, 8.768615, -2.091555 1.086e+001 5
4.750000, 4.875000 5.000000, 3.901601, -2.091555 5.993e+000 6 4.875000, 4.937500
5.000000, 1.027456, -2.091555 3.119e+000 7 4.875000, 4.906250 4.937500, 1.027456,
-0.504227 1.532e+000 8 4.906250, 4.921875 4.937500, 0.268940, -0.504227 7.732e-001 9
4.906250, 4.914063 4.921875, 0.268940, -0.115857 3.848e-001 10 4.914063, 4.917969
4.921875, 0.076994, -0.115857 1.929e-001 11 4.914063, 4.916016 4.917969, 0.076994,
-0.019319 9.631e-002 12 4.916016, 4.916992 4.917969, 0.028865, -0.019319 4.818e-002
13 4.916992, 4.917480 4.917969, 0.004780, -0.019319 2.410e-002 14 4.916992, 4.917236
4.917480, 0.004780, -0.007268 1.205e-002 15 4.916992, 4.917114 4.917236, 0.004780,
-0.001244 6.024e-003 16 4.917114, 4.917175 4.917236, 0.001768, -0.001244 3.012e-003
17 4.917175, 4.917206 4.917236, 0.000262, -0.001244 1.506e-003 18 4.917175, 4.917191
4.917206, 0.000262, -0.000491 7.530e-004 19 4.917175, 4.917183 4.917191, 0.000262,
-0.000114 3.765e-004 20 4.917183, 4.917187 4.917191, 0.000074, -0.000114 1.882e-004
21 4.917183, 4.917185 4.917187, 0.000074, -0.000020 9.412e-005 22 4.917185, 4.917186
4.917187, 0.000027, -0.000020 4.706e-005 23 4.917186, 4.917186 4.917187, 0.000004,
-0.000020 2.353e-005 se satisface la tolerancia

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