MATLAB: Hi, I am getting error on secant problem.

input error on secant method

when I type in command window i get the following
Xs=(exp(-x)-x,0,1,.001,3)
Xs=(exp(-x)-x,0,1,.001,3)
Error: Expression or statement is incorrect--possibly unbalanced (, {, or [.
Here is my program
function Xs=secantroot (fun,Xa,Xb,tol,n)
for i=1:n
funXb=feval(fun,Xb);
Xi=Xb-funXb*(Xa-Xb)/(feval(fun,Xa)-funXb);
if abs((Xi-Xb)/Xb)<tol
Xs=Xi;
break
end
Xa=Xb;
Xb=Xi;
end
if i==n
fprintf('solution is not in intersection %g\n',n)
Xs=('sorry no answer');
end
I appreciate your help. I am beginner.

Best Answer

There is no error in your function. To call it:
fun=@(x)exp(-x)-x
Xa=0
Xb=1
tol=0.001
n=3
Xs=secantroot (fun,Xa,Xb,tol,n)
Related Question