File Exchange

image thumbnail


version 1.4 (3.38 KB) by

Finds the root(s) of a function of one variable, including complex roots, using Newton's method.



View License

NEWTZERO(f,xr,n,tol) finds roots of function f near guess xr with n iterations to tolerance tol. May find more than one root, even if guess is way off. NEWTZERO often works to find complex roots where FZERO fails. See examples in help.
The initial guess, number of iterations, and tolerance are optional arguments.

NEWTZERO finds the roots of functions of only one variable!

Please email me about bugs or other concerns. Thanks.

Comments and Ratings (14)

Hasan Abbas

Great algorithm. Is there a way to get (and plot) convergence data?
Is there a way to terminate the main while loop earlier in combination with a convergence criterion (f.e. terminate if TolX and TolFun <= 1e-6)?

Alex Barnett


Nate (view profile)

Great Work. Solves equations far from initial guess where fzero fails


Fabro (view profile)

Very helpfull, u deserve 10 stars... at list, I give u 5

Absolutely awsome. fzero was very unstable and gave single answers which were often incorrect when near the boundies. This program gave ALL solutions to the equation with almost no dependance on the guess. Thanks Matt

Kalid M

Great work

matt fig (author)

Taoufik tried to apply this root finder to an implicitly defined function of the form:

T(m) = ((T^4-const)/const + f(m))

This file only works on explicitly defined functions of one variable.

taoufik brahim

i think it's good mathematical idea but it not work execellent with complex nonliear algébric equation


Jimmy Banker

when i run it, it throw up an error

Error in ==> newt2 at 20
if f(xr) == 0, root = xr; return, end

whats wrong with it?

Yang Xiao

The program can't work for the fuction:
     f(x) = det(eye(2)*x-[-0.8333 -0.0278;500.0000 -10.0000]-[-0.8333 -0.0167;0 0]*exp(-0.01*x))
  However, fzero.m of Matlab can find the root of the function. Please check your program, and relpy me.

Mike Zand

Me likey. Well done.

mike owens

Novel approach works well. Good job!

clement marchand

Nice work



Faster method.


Better filtering

Description needed updating.

I wrote the initial version a long time ago, there was no commenting or arg checking, so I fixed it.

Bug fix.

MATLAB Release
MATLAB 7.4 (R2007a)

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video