disp (' This is the code of Secant method.Is writen by Ali Ashouri') disp (' ') disp (' ') disp (' ********Before enter anything read all of introduction that will write. read all of them*******') disp (' ') format long disp (' x must be at double class and before play the program write its limit in commond window. like: x=-1:0.00001:1') disp (' ') disp (' function should be start by @(x) like : @(x) sin(x)') disp (' ') f=input('enter your function : '); x1=input('enter the x1 number : '); x0=input('enter the x0 number : '); disp(' ') disp(' ') disp (' choose one of the model for stoping criterion and input as char:') disp (' abs(f(xn))<=eps abs(f(xn))=P eps=d') disp (' abs(xn-x0)<=eps abs(xn-x0)=P eps=d') disp (' ') disp (' ') P=input('choose P as char: '); d=input('enter the epsilon number : '); tic double (x); n=1; xn=(x1-(f(x1)*(x1-x0))/(f(x1)-f(x0))); disp('n I x0 I x1 I xn I f(xn)') disp ------------------------------------------------------------------------------------------------------------------------------------ r=[num2str(n),' I ',num2str(x0),' I ',num2str(x1),' I ',num2str(xn),' I ',num2str(f(xn))]; disp (r) switch P case 'abs(f(xn))' while abs(f(xn))>=d x0=x1; x1=xn; xn=(x1-(f(x1)*(x1-x0))/(f(x1)-f(x0))); n=n+1; r=[num2str(n),' I ',num2str(x0),' I ',num2str(x1),' I ',num2str(xn),' I ',num2str(f(xn))]; disp (r) end; case 'abs(xn-x0)' while abs(xn-x0)>=d x0=x1; x1=xn; xn=(x1-(f(x1)*(x1-x0))/(f(x1)-f(x0))); n=n+1; r=[num2str(n),' I ',num2str(x0),' I ',num2str(x1),' I ',num2str(xn),' I ',num2str(f(xn))]; disp (r) end; otherwise disp (' your model choice is incorrect') end; n=n+1; disp (' ') disp ([' c= ',num2str(xn)]) disp ([' n= ',num2str(n)]) toc;