zero, a MATLAB code which finds a zero of a scalar function of a scalar variable, by Richard Brent.

The method does not require the use of derivatives, and does not assume that the function is differentiable.


The computer code and data files described and made available on this web page are distributed under the MIT license


zero is available in a C version and a C++ version and a FORTRAN90 version and a MATLAB version and an Octave version and a Python version and an R version.

Related Data and Programs:


bisection_rc, a MATLAB code which seeks a solution to the equation F(X)=0 using bisection within a user-supplied change of sign interval [A,B]. The procedure is written using reverse communication (RC).

fsolve_test, a MATLAB code which calls fsolve() which seeks the solution x of one or more nonlinear equations f(x)=0.

test_zero, a MATLAB code which defines some test functions for which zeroes can be sought.

zero_rc, a MATLAB code which seeks solutions of a scalar nonlinear equation f(x) = 0, or a system of nonlinear equations, using reverse communication.


Original FORTRAN77 version by Richard Brent; MATLAB version by John Burkardt.


  1. Richard Brent,
    Algorithms for Minimization without Derivatives,
    Dover, 2002,
    ISBN: 0-486-41998-3,
    LC: QA402.5.B74.

Source Code:

Last revised on 30 May 2021.