image thumbnail

bisectguess

version 1.0.0 (3.38 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.

19 Downloads

Updated 14 Dec 2018

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.

Cite As

Geoff Stanley (2021). bisectguess (https://www.mathworks.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
Categories
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!