Matlab实现——Newton-Raphson Iteration

欢迎前往个人博客 驽马点滴 和视频空间 哔哩哔哩-《挨踢日志》

Newton.m

%Program 2.5  (Newton-Raphson Iteration) 

function [p0,err,k,y]=newton(f,df,p0,delta,epsilon,max1)

% Input  - f is the object function input as a string 'f '

%             - df is the derivative of f input as a string 'df '

%             - p0 is the initial approximation to a zero of f

%        - delta is the tolerance for p0

%        - epsilon is the tolerance for the function values y

%        - max1 is the maximum number of iterations

%Output - p0 is the Newton-Raphson approximation to the zero

%        - err is the error estimate for p0

%        - k is the number of iterations

%        - y is the function value f(p0)

for k=1:max1    

    p1=p0-feval(f,p0)/feval(df,p0); 

    err=abs(p1-p0);

    relerr=2*err/(abs(p1)+delta);

    p0=p1;

    y=feval(f,p0);

     if (err<delta)|(relerr<delta)|(abs(y)<epsilon),break,end

end


fun.m

function f=fun(x)

f=x^2-91;

derivative.m

function df=derivative(x)

df=2*x;


Untitled4.m

p0=9.5;

delta=10e-10;

epsilon=10e-10;

max1=6;

f='fun';

df='derivative';

[p0,err,k,y]=newton(f,df,p0,delta,epsilon,max1)

欢迎前往个人博客 驽马点滴 和视频空间 哔哩哔哩-《挨踢日志》

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值