Help with Newton's method function?

This is the function I've been making to run Newton's method, but I can't get it to work. Any help with what I might be missing? Thanks!
function xn = newtonmethod(f,fd,x0,tol)
xn=x0;
err=abs(f(xn)-0);
i=0;
while err>tol
i=i+1;
xnew=xn-(f(xn)/fd(xn));
err=abs(f(xnew)-0);
end

Answers (1)

I suspect your
err=abs(f(xnew)-0);
should be
err=abs(f(xnew)-f(xn));
unless you know that your f() has a "right" value of 0.

2 Comments

It does. Do you see anything else wrong with the code?
You do not update xn = xnew

Sign in to comment.

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Asked:

on 20 Nov 2016

Commented:

on 20 Nov 2016

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!