作业帮 > 综合 > 作业

取初值x(0)=11,用牛顿法求近似值,求Matlab程序

来源:学生作业帮 编辑:搜狗做题网作业帮 分类:综合作业 时间:2024/06/09 07:22:08
取初值x(0)=11,用牛顿法求近似值,求Matlab程序
x(0)=11,求115^(1/2)的近似值,要求x(k)-x(k-1)
取初值x(0)=11,用牛顿法求近似值,求Matlab程序
function x = newton_method(fun,x0,e,N)
if nargin<5
    N=500;
end
if nargin<4
    e=1e-4;
end

f = sym(fun);
fx = findsym(f);
df = diff(f);
dfx = findsym(df);

x=x0;
x0=x+2*e;
k=0;

while abs(x0-x)>e && k<N
    k=k+1;
    x0=x;
    x = x0 - subs(f,fx,x0)/subs(df,dfx,x);
    % disp(x);
end
if k==N
    warning('已达到迭代次数上限');
end
调用方式:newton_method('x-115^(1/2)',11,0.00005)执行结果如下