Hi, I am getting error on secant problem.

2 visualizaciones (últimos 30 días)
Nasser Yari
Nasser Yari el 20 de Feb. de 2016
Comentada: Nasser Yari el 20 de Feb. de 2016
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.

Respuesta aceptada

Azzi Abdelmalek
Azzi Abdelmalek el 20 de Feb. de 2016
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)

Más respuestas (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by