Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Regula-Falsi, Newton-Raphson,
Secante.
INTEGRANTES:
JURADO QUISPE GLORIA ANDREA
SOTO OBREGON ELVIS JEFRY
PROFESOR: ING. ALCNTARA RAMREZ MANUEL
CURSO: CALCULO NUMRICO
CICLO: V
MTODO DE BISECCIN
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].
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
EJERCICIOS
1)
2)
3)
Que resulta de usar los puntos (c;0) y (b;f(b)). Igualando las dos expresiones
anteriores resulta:
EJERCICIOS:
1)
2)
3)
a la raz
de
Hacemos
Y despejamos
, el mtodo no se puede
de
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
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)
F(x) = 3sen(x)+4con(x)-5
F(x) = ln(x)+x^2-4
F(x) = e^x-1-1/x+1