Can't get a proper solution with modified secant method
显示 更早的评论
Hi all, I have built a code for modified secant method to find the root of the function f(x)=
which is given below. The output of the code should give an answer of about 0.5671 but instead it is giving 56.71.... something answer. HOw to solve this problem? Code is mentioned below:
clear all
close all
clc
n=100;
f=@(x) exp(-x)-x;
dx=0.01;
x0=1;
x(1)=x0;
i=0;
err=0.0048;
for i=1:n
x(i+1)=x(i)-((f(x(i)*dx)/(f(x(i)+dx)-f(x(i)))));
if abs((x(i+1)-x(i))/x(i+1))*100<err
roots=x(i);
break;
end
end
disp(roots)
采纳的回答
更多回答(1 个)
Peter
2023-3-9
0 个投票
clear all
close all
clc
n=100;
f=@(x) exp(-x)-x;
dx=0.01;
x0=1;
x(1)=x0;
i=0;
err=0.0048;
for i=1:n
x(i+1)=x(i)-((f(x(i)*dx)/(f(x(i)+dx)-f(x(i)))));
if abs((x(i+1)-x(i))/x(i+1))*100<err
roots=x(i);
break;
end
end
disp(roots)
类别
在 帮助中心 和 File Exchange 中查找有关 Get Started with MATLAB 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!