need check for Bisection Method
1 次查看(过去 30 天)
显示 更早的评论
%bisection_method
f='func31'
Nmax=100;
tol=0.000001;
a=-10
b=10
if feval(f,a)*feval(f,b)>0
disp('no sol')
else
a0=a; b0=b;
for n=1:Nmax
p=(a+b)/2
if (b-p)/(b0-a0)<tol <------------------------------------------------------------is this right?? b-p? not a b-a?
break
else
if feval(f,a)*feval(f,p)<=0
a=a;
b=p;
else
a=p
b=b
end
end
end
================================
made an expression from relative error
i wrote it down at the class
but there are difference with books
is it
b-p or b-a?
0 个评论
采纳的回答
Alan Stevens
2020-9-30
When you are close to the solution it won't much matter if you use b-p or b-a. However, you shoud probably use
abs((b-p)/(b0-a0))<tol
更多回答(0 个)
另请参阅
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!