Está en la página 1de 15

Tema: Mtodos: Biseccin,

Regula-Falsi, Newton-Raphson,
Secante.

INTEGRANTES:
JURADO QUISPE GLORIA ANDREA
SOTO OBREGON ELVIS JEFRY
PROFESOR: ING. ALCNTARA RAMREZ MANUEL
CURSO: CALCULO NUMRICO
CICLO: V

LIMA, FEBRERO DE 2016

MTODO DE BISECCIN

Si f es una funcin continua sobre el intervalo [a,b] y si f(a) f(b)<0,


entonces f debe tener un cero en (a,b). Dado que f(a)*f(b)<0, la funcin
cambia de signo en el intervalo [a,b] y por lo tanto tiene por lo menos un
cero en el intervalo.

Esta es una consecuencia del teorema del valor intermedio para funciones
continuas, que establece que si f es continua en [a,b] y si k es un nmero
entre f(a) y f(b) , entonces existe por lo menos un c (a,b) tal que f(c)=k.
(para el caso en que f(a)f(b)<0 se escoge k=0, luego f(c)=0, c (a,b)).
El mtodo de biseccin consiste en dividir el intervalo en 2 subintervalos de
igual magnitud, reteniendo el subintervalo en donde f cambia de signo, para
conservar al menos una raz o cero, y repetir el proceso varias veces.
Por ejemplo, suponga que f tiene un cero en el intervalo [a,b].

Primero se calcula el punto medio del intervalo


; despus se
averigua s f(a)*f(c) <0. Si lo es, entonces f tiene un cero en [a,c].
A continuacin se renombra a c como b y se comienza una vez ms con el
nuevo intervalo [a,b], cuya longitud es igual a la mitad del intervalo original.
Si f(a)*f(c) >0, entonces f(c)*f (b) <0 y en este caso se renombra
a c como a.
En ambos casos se ha generado un nuevo intervalo que contiene un cero
de f, y el proceso puede repetirse.

BISECCION EN MATLAB

disp('metodo de biseccion');
f=input('ingrese la funcion:','S');
f=inline(f);
a=input('Ingrese extremo inferior del intervalo: ');
b=input('Ingrese extremo superior del intervalo: ');
tol=input('Ingrese la tolerancia: ');
maxiter=input('Ingrese numero maximo de interaciones: ');
e=1000;
i=0;
fprintf('iteracion\t\t r\t\t\t\t e\n');
if f(a)*f(b)<0
while(e>tol && maxiter>i)
c=(a+b)/2;
r1=c;
r=c;
i=i+1;
if i==1
fprintf('%2d\t\t\t\t%12.10f\n',i,r);
end
if f(a)*f(c)<0
b=c;
r=c;
r2=(a+b)/2;
if i>1
e=abs((r2-r1)/r2)*100;
fprintf('%2d\t\t\t\t%12.10f\t%12.10f\n',i,r,e);
end
end
if f(b)*f(c)<0
a=c;
r=c;
r2=(a+b)/2;
if i>1
e=abs((r2-r1)/r2)*100;
fprintf('%2d\t\t\t\t%12.10f\t%12.10f\n',i,r,e);
end
end
end

else
end

fprintf('no existe raiz');

EJERCICIOS

1)

2)

3)

METODO REGULA FALSI


Otro algoritmo popular para resolver ecuaciones no lineales es el mtodo de
Regula - Falsi o mtodo de la posicin falsa.
Al igual que en el mtodo de biseccin, se supondr que f(a) y f(b) tienen
distinto signo. Si bien en el mtodo de biseccin se usa el punto medio del
intervalo [a;b] para llevar a cabo el siguiente paso, es posible conseguir una
mejor aproximacin usando el punto (c;0) en el que la recta secante L que
pasa por los puntos (a;f(a)) y (b;f(b)) cruza el eje OX.

Para hallar el punto c, se


igualan las dos frmulas
para la pendiente m de la
recta L:

que resulta de usar los


puntos (a;f(a)) y (b;f(b)), y

Que resulta de usar los puntos (c;0) y (b;f(b)). Igualando las dos expresiones
anteriores resulta:

De donde c puede despejarse fcilmente, obtenindose:

Se pueden presentar tres posibilidades:


Si f(a) y f(c) tienen signos opuestos, entonces hay un cero en [a;c].
Si f(c) y f(b) tienen signos opuestos, entonces hay un cero en [c;b].
Si f(c)=0, entonces c es un cero.
De esta manera, la frmula anterior junto con el proceso de decisin
descripto anteriormente permite generar una sucesin de intervalos
{[an;bn]} cada uno de los cuales contiene un cero. En cada paso, la
aproximacin al cero obtenida es:

y puede probarse que la sucesin {cn} converge a un cero r de la funcin.


Si bien el ancho del intervalo bn-an se hace ms pequeo, es posible que no
tienda a cero. Si la curva y=f(x) es convexa cerca de (r;0), entonces uno de
los extremos an o bn permanece estacionario y el otro tiende a la solucin.

METODO REGULA FALSI EN MATLAB

disp('METODO DE LA REGULA FALSI');


disp('--------------------------');
f=input('Ingrese la funcion: ','s');
f=inline(f);
a=input('ingrese limite inferior del intervalo: ');
b=input('ingrese limite superior del intervalo: ');
tol=input('Ingrese la tolerancia :');
e=100;
fprintf('N\t\t a\t\t\t b\t\t\t\t r\t\t\t\t\t\t error\n');
if f(a)*f(b)<0, i=0;
r=a-((f(a)*(b-a))/(f(b)-f(a)));
ra=r;
i=i+1;
fprintf('%2d\t%12.10f\t%12.10f\t%12.10f\n',i,a,b,r);
while e>=tol,
if f(a)*f(r)<0 b=r; end;
if f(r)*f(b)<0 a=r; end;
r= a-((f(a)*(b-a))/(f(b)-f(a)));
e= abs(((r-ra)/r)*100);
i=i+1;
fprintf('%2d\t%12.10f\t%12.10f\t%12.10f\t%12.10f\n',i,a,b,r,e);
ra=r;
end
else fprintf('No existe raiz en este intervalo');
end

EJERCICIOS:
1)

2)

3)

METODO DE NEWTON RAPHSON


Este mtodo, el cual es un mtodo iterativo, es uno de los ms usados y
efectivos. A diferencia de los mtodos anteriores, el mtodo de NewtonRaphson no trabaja sobre un intervalo sino que basa su frmula en un
proceso iterativo.
Supongamos que tenemos la aproximacin

a la raz

de

Trazamos la recta tangente a la curva en


el punto
en un punto

; sta cruza al eje


que ser nuestra

siguiente aproximacin a la raz

Para calcular el punto


, calculamos
primero la ecuacin de la recta
tangente. Sabemos que tiene pendiente

Y por lo tanto la ecuacin de la recta tangente es:

Hacemos

Y despejamos

Que es la fmula iterativa de Newton-Raphson para calcular la siguiente


aproximacin:
,
si
Note que el mtodo de Newton-Raphson no trabaja con intervalos donde
nos asegure que encontraremos la raz, y de hecho no tenemos ninguna
garanta de que nos aproximaremos a dicha raz. Desde luego, existen
ejemplos donde este mtodo no converge a la raz, en cuyo caso se dice
que el mtodo diverge. Sin embargo, en los casos donde si converge a la
raz lo hace con una rapidez impresionante, por lo cual es uno de los
mtodos preferidos por excelencia.
Tambin observe que en el caso de que

, el mtodo no se puede

aplicar. De hecho, vemos geomtricamente que esto significa que la recta


tangente es horizontal y por lo tanto no intersecta al eje
en ningn
punto, a menos que coincida con ste, en cuyo caso

mismo es una raz

de

METODO DE NEWTON RAPHSON EN MATLAB

disp('metodo de newton');
disp('----------------');
f=input('ingrese la funcion: ');
f=inline(f);
r1=input('ingrese la aproximacion inicial: ');
tol=input('ingrese la tolerancia: ');
df=diff(sym(f));
df=inline(df);
i=0;
e=1000;
fprintf('Iter\t\t\t\tr\t\t\t\t\terror\n');
while e>tol
r=r1-(f(r1)/df(r1));
e=abs(((r-r1)/r)*100);
i=i+1;
fprintf('%2d\t\t%12.10f\t\t\t\t%12.10f\n',i,r,e);
r1=r;
end

EJERCICIOS

1)

2)

3)

METODO DE LA SECANTE

El mtodo de la secante, es otro mtodo para aproximar el cero de una


funcin en el que en cada iteracin se evala la funcin y no la derivada. A
continuacin se presenta este mtodo.
Utiliza la misma frmula del Mtodo de Newton:

Pero en lugar de utilizar la derivada f (xn), este valor se aproxima por

Al reemplazar esta aproximacin de f (xn) en la frmula de Newton resulta:

Ya que el clculo de xn+1 requiere conocer xn y xn-1 , se debe dar al


principio dos aproximaciones iniciales x0 y x1.
La interpretacin geomtrica del mtodo de la secante es similar a la del
mtodo de Newton. La recta tangente a la curva se reemplaza por una recta
secante. El cero de f se aproxima por el cero de la recta secante a f, .
Si x0y x1 son las aproximaciones iniciales, la aproximacin x2 es la
interseccin de la recta que une los puntos (x0, f(x0)) y (x1,f(x1)). La
aproximacin x3 es la interseccin de la recta que une los puntos (x1, f(x1))
y (x2, f(x2)) y as sucesivamente.

METODO DE LA SECANTE

disp('METODO DE LA SECANTE');
disp('--------------------');
f=input('Ingrese la funcion: ','s');
f=inline(f);
r1=input('ingrese la aproximacion inicial: ');
r2=input('ingrese la otra aproximacino inicial: ');
tol=input('Ingrese la tolerancia :');
i=0;
e=100;
fprintf('N\t\t a\t\t\t b\t\t\t\t r\t\t\t\t\t\t error\n');
while e>=tol,
r3= r2-(f(r2)/f(r2)-f(r1));
e= abs((r3-r2/r3)*100);
i=i+1;
fprintf('%2d\t%12.10f\t%12.10f\t%12.10f\t%12.10f\n',i,r3,e);
r1=r2; r2=r3;
end

EJERCICIO
1)

2)

3)

GRAFICA DE LAS FUNCIONES EN GEOGEBRA

F(x) = 3sen(x)+4con(x)-5

F(x) = ln(x)+x^2-4

F(x) = e^x-1-1/x+1

También podría gustarte