image thumbnail

bisectguess

version 1.0.1 (3.51 KB) by Geoff Stanley
bisectguess uses bisection and a guess of the root to provide a fast and robust root-finding method that is compatible with code generation.

22 Downloads

Updated01 Oct 2021

View License

A root of a function f is found by repeated bisection of a specified interval containing a sign change of f. An initial guess of the root can be provided (as for MATLAB's fzero), outwards from which an interval is geometrically expanded until a sign change is found, then bisection proceeds within that interval. (In the thumbnail image, a root of a quadratic is found, despite that the function is positive at both ends of its domain.)
Only one problem is solved at a time: f is a scalar function whose first argument is a scalar. Extra arguments of f are taken directly from extra arguments to bisectguess. To solve many problems, put bisectguess inside a for loop, inside a wrapper function. To make this fast, use code generation to turn the wrapper function into a fast MEX function -- encapsulating f in the MEX function too.
--- This package is no longer updated here. Instead, get updates from github:

Cite As

Geoff Stanley (2022).bisectguess(//www.tatmou.com/matlabcentral/fileexchange/69710-bisectguess), MATLAB Central File Exchange. Retrieved.

MATLAB Release Compatibility
Created with R2017b
Compatible with any release
Platform Compatibility
Windows macOS Linux
Acknowledgements

Inspired by:Bisection Method Root Finding

Community Treasure Hunt

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

Start Hunting!