Using Secant Method...issue with arctanx
5 次查看(过去 30 天)
显示 更早的评论
I'm using secant method, I've done previous problems with the same setup of x2 = ..., but when I'm using arctan(x) as the function it tells me there is an error with the x2 = ... line (inside for loop). I have no idea why.
f = @(x) arctan(x);
format long
maxN = 10;
x0 = 1;
x1 = -0.5;
r = 0; %know r=0 in advance
Err = .0000001; %max error
for i = 1:maxN
x2 = x1 - f(x1)*(x1-x0)/(f(x1)-f(x0))
en1 = r - x2; %e_n+1
en = r - x1; %e_n
enm1 = r - x0; %e_n-1
ratio = en1/(en*enm1)
if abs((x2-x1)/x1) < Err
r2 = x2; %root
f(r2)
break
end
x1 = x0
x0 = x2
end
采纳的回答
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Communications Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!