function [L,n]=difflim(f,x,toler) %Input - f is the function to differentiate % - x is the differentiation point % - toler is the desired error tolerance %Output - L=[H' D' E']: H is the vector of step sizes % D is the vector of approximate derivatives % E is the vector of error bounds % - n is the coordinate of the "best approimation" max1=15; h=1; H(1)=h; D(1)=(feval(f,x+h)-feval(f,x-h))/(2*h); E(1)=0; R(1)=0; for n=1:2 h=h/10; H(n+1)=h; D(n+1)=(feval(f,x+h)-feval(f,x-h))/(2*h); E(n+1)=abs(D(n+1)-D(n)); R(n+1)=2*E(n+1)*(abs(D(n+1))+abs(D(n))+eps); end n=2; while((E(n)>E(n+1))&&(R(n)>toler))&&n