3/11/16 12:40 PM_/Users/juliocesa.../METODO_DE BISECCION.m 1 of 2
% Rutina disefiada por: Julio César Millan Diaz
% Método de Biseccién para aproximar raices reales de funciones
clear,cle % Limpieza de variables y de entorno principal
syms x % "x" es una variable de tipo simbélico
funcion=input('Ingresa la funcién:
funcién que se pretende analizar
def=inline(funcion); % Variable que permitiré evaluar numericamente sobre la funciéne
original
func=char(funcion); % Variable que permite la graficacién
3% Ingreso manual por parte del usuario, de law
% “inicio” y “final, son dos variables que delimitan un vector que permite
% la visualizacién del dominio de la funcién propuesta en el analsis
inicio=input("Ingresa el valor inicial de grafico: ');
final=input('Ingresa el valor final de grafico: ')
fplot (func, [inicio, final]) % Se realiza el gréfico de la funcién propuesta con una lineat
continua de color azul
grid on % Se activa la cuadricula
hold on % Se retiene el grdfico sobre el mismo entorno
disp('Nétodo de Biseccién para aproximar raices reales de funciones... ') % Impresién en
pantalla para el usuario
S Intervalo inicial de busqueda de raiz real; definido por
% definidos por el ususario
azinput('Ingresa el limite inferior: ');
b=input(‘Ingresa el Limite superior
tol=input(*ingresa la tolerancia, en cifras fracionarias:
el usuario, que determina la excatitud de la raiz
j % Tolerancia propuesta pore
fasfeval(def,a
% Se evalua el valor incial de "a" en la funcién propuesta
th=feval(def,b
% Se evalua el valor incial de "b" en la funcién propuesta
% Primera condicion de busqueda
if fasfb tol % Condicién para busqueda de raiz en funcién de la toleranciay
Propuesta por el usuario
Fa=feval(def,a);
Fb=feval(def,b);
plot(a,@,‘ro')
hold on
plot(b,0, 'ro')
hold oh
xr=(atb) /2}
‘fxr=feval (def ,xr) j
eazabs ( (xr-xr_0) /xr)*100;3/11/16 12:40 PM_/Users/juliocesa.../METODO_DE_BISECCION.m
2 of 2
iteracion=iteracion+1
elementos (iteracion, 1!
elementos (iteracion,2)=fa;
elementos (iteracion, 3;
elementos (iteracion, 4)
elementos (iteracion,5|
if fxrefaro
plot(a,@, ‘bs')
hold on
elseif ferefacd
_0=fb;
plot(b,@, ‘bs')
hold on
else
end
end
elementos
else
msgbox({'No se encontré nunguna raiz en el intervalo definido'}, 'Error')
end
disp(‘Iteracién fla)
aproximacion=vpa(xr_0, 10)