Multi-Dimensional Bisection Method - Implicit functions plot
Multi-Dimensional Bisection Method (MDBM) finds all the solutions/roots of a system of implicit equations efficiently, where the number of unknowns is larger than the number of equations.
This function is an alternative to the contourplot or the isosurface in higher dimensions (higher number of parameters). The main advantage: it can handle multiple functions. (contour plot or the isosurface can handle scalar values only)
In addition, MDBM uses much less function evaluation than the brute-force method, so for complex tasks, it is much faster and uses far less memory.
Extensive examples can be found in the "examples" folder
Run the "runme_run_all_the_exmaples.m" file here.
The "run_test_...." files should be tested. Don't forget to add the "code_folder" to the path, in which the main code files can be found.
Unfortunately, the documentation was written for an old version, so please, read the comments in these example files to understand the special function in the method and learn the 'best practice'. In this way, you can finetune it for your special needs.
Be sure to check the possible options defined by the mdbmoptions=mdbmset(). (Note, if an option is not commented, then it is just an internal variable.)
Note 1: As a consequence of the change in the "vectorized +" function, The MDBM is compatible with the newer Matlab versions only.
Note 2: I would protect my work, thus I use '*.p' files (some of you may dislike it, sorry).
In my opinion, the code is far too long and far too complex to understand. I spent more than 10 years on it, and sometimes it is hard even for me to understand the code (I am bad at commenting, I am a mechanical engineer and not a professional programmer :-) ).
But those files, which might be needed to modify for special needs are '*.m' file. And If you have any question or problems you can easily find me!
Cite As
Bachrathy, Daniel, and Gabor Stepan. “Bisection Method in Higher Dimensions and the Efficiency Number.” Periodica Polytechnica Mechanical Engineering, vol. 56, no. 2, Periodica Polytechnica Budapest University of Technology and Economics, 2012, p. 81, doi:10.3311/pp.me.2012-2.01.
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
code_folder
examples
Versions that use the GitHub default branch cannot be downloaded
Version | Published | Release Notes | |
---|---|---|---|
1.1.1 | some extra comments |
|
|
1.1 | More clever neighbour chacking which use almost halve the number of function evaluations!!!
|
|
|
1.0.7 | Added Comments on the examples, and the compatible Matlab verisons. |
|
|
1.0.6 | Now the display can be switched off.
|
|
|
1.0.5 | - |
|
|
1.0.4 | - |
|
|
1.0.3 | Rename |
|
|
1.0.2 | Typo fix |
|
|
1.0.1 | small typo fix, just after the first upload |
|
|
1.0.0 |
|