function xraiz = biseccion() deff('y=f(x)',''); //Se inician limite inferior y limite superior xa=; xb=; error=100; xraiz=0; //Se inicia la tolerancia al error tolerancia=0.01; while error>tolerancia aux=xraiz; //Se particiona el intervalo en 2 y se calcula una nueva aproximación xraiz=(xa+xb)/2; //Se evalua la función en el límite inferior fxa=f(xa); //Se evalua la función en xraiz fxr=f(xraiz); //Se multiplica las funciones evaluadas para analizar el signo producto=fxa*fxr; //Se realiza las comprobaciones para saber donde está la raíz //Si producto es negativo la raíz esta en [xa, xraiz] if producto<0 then xb=xraiz; //Si producto es positivo la raíz esta en [xraiz, xb] elseif producto>0 xa=xraiz; //Si el producto es 0 se encontro la raiz else error=tolerancia; end //Se calcula el error para evaluar la condición de salida del while error=abs(xraiz-aux); end //Se muestran raiz aproximada y valor de la funcion en la raiz... disp(xraiz, f(xraiz)); endfunction