fzero — Find scalar function zeros with bracketed root-finding in MATLAB and RunMat.
x = fzero(fun, x0) searches near scalar initial point x0 for a sign-changing bracket, then refines the root with a Brent-style method. x = fzero(fun, [a b]) uses the supplied bracket directly, with tolerance, exit flag, and diagnostic behavior matching MATLAB semantics.
Syntax
x = fzero(fun, x0)
x = fzero(fun, x0, options)Inputs
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
fun | Any | Yes | — | Scalar-valued callback. |
x0 | Any | Yes | — | Initial point or two-element bracket. |
options | Any | No | — | Options struct from optimset. |
Returns
| Name | Type | Description |
|---|---|---|
x | NumericScalar | Estimated root location. |
Errors
| Identifier | When | Message |
|---|---|---|
RunMat:fzero:InvalidArgument | Argument grammar/options struct are invalid. | fzero: invalid argument |
RunMat:fzero:InvalidInput | Callback/bracket/initial-point semantics are invalid. | fzero: invalid input |
How fzero works
- The function handle must return a finite real scalar.
- Bracket endpoints must have opposite signs unless one endpoint is already a root.
- Options are supplied as a struct, usually created with
optimset.TolX,MaxIter,MaxFunEvals, andDisplayare accepted. - Anonymous functions, named function handles, and function-handle strings work through RunMat's existing
fevaldispatch path.
Examples
Find the fixed point of cosine
f = @(x) cos(x) - x;
x = fzero(f, 0.5)Expected output:
x =
0.7391Use an explicit bracket
x = fzero(@sin, [3 4])Expected output:
x =
3.1416Set a tighter tolerance
opts = optimset('TolX', 1e-10, 'Display', 'off');
x = fzero(@sin, [3 4], opts)Expected output:
x =
3.1416Using fzero with coding agents
Open a RunMat example with live inputs, then ask the agent to explain how fzero changes the result.
Run a small fzero example, explain the result, then change one input and compare the output.
Related Math functions
Elementwise
abs · angle · complex · conj · double · exp · expm1 · factorial · gamma · hypot · imag · ldivide · log · log10 · log1p · log2 · minus · nextpow2 · plus · pow2 · power · rdivide · real · sign · single · sqrt · times
Trigonometry
acos · acosh · asin · asinh · atan · atan2 · atanh · cos · cosd · cosh · deg2rad · rad2deg · sin · sind · sinh · tan · tand · tanh
Reduction
all · any · cummax · cummin · cumprod · cumsum · cumtrapz · diff · gradient · max · mean · median · min · nnz · prod · std · sum · trapz · var
Structure
Open-source implementation
Unlike proprietary runtimes, every RunMat function is open-source. Read exactly how fzero is executed, line by line, in Rust.
- View the source for fzero in Rust on GitHub
- Learn how the RunMat runtime works
- Found a bug? Open an issue with a minimal reproduction.
About RunMat
RunMat is an open-source runtime that executes MATLAB-syntax code blazing on any GPU. It is licensed under the Apache 2.0 license.
- RunMat automatically optimizes your math for GPU execution on Apple, Nvidia, and AMD hardware. No code changes needed. Simulations that took hours now take minutes.
- Start running code in seconds. RunMat runs in the browser, on the desktop, or from the CLI. No license server, no IT ticket.