

function [ tabla ] = reglafalsa (a,b,n,delta,tole)

format long
%criterios de inicializacion
i=0; 
funcionvalue=delta+1;
error=tole+1;
q=a;
while i<n & funcionvalue>delta & error>tole %criterios por los cuales el programa va a estar iterando
  i=i+1; %incremento en el numero de iteraciones
  tabla(i,1)=i;% posicion donde estara el numero intervalos en la tabla de salida
 
  x=b-((funcion(b)*(b-a))/(funcion(b)-funcion(a))); %Ecuacion que define el metodo de regla falsa, la cual arrojara los nuevos "x"
  tabla(i,2)=x; %posicion donde estaran los valores de las "x" halladas, en la tabla de salida
 
  y=funcion(x); % valor de la funcion evaluada con las "x" encontradas, ademas de ser los valores que se aproximaran a la raiz
  tabla(i,3)=y; % posicion donde estaran los valores que se van aproximando a la raiz 
  
  funcionvalue=abs(y); 
  error=abs(x-q); %diferencia absolutra que se encuentra entre los X(n) y los X(n-1) 
  %error=abs(error/x); %error relativo : poner % adelante cuando la tole sea con el error absoluto :diferencia relativa entre los X(n) y los X(n-1)
  %error=abs (error/x)*100; %error porcentual 
  
  tabla(i,4)=error; %posicion donde estaran las diferencias entre los X(n) y los X(n-1) en la tabla de salida
 
 
 if  funcion(a)+ funcion(x)<0 %segun esto se tomaran los nuevos intervalos
   
     b=x; % el nuevo intervalo se tomara desde a hasta x
    else
     a=x; %el nuevo intervalo se tomara desde b hasta x
 endif       
 q=x; %esto lohacemos para poder guardar los valores x y hallar los errores
endwhile

endfunction
