Evolutionary curve fitting
Obviously, it is nothing new. You can use Matlab's fminsearch() or Curve Fitting Toolbox. There are also many alternatives such as EzyFit for Matlab, Scilab's optimization tools, Octave's optimization tools, etc. However, as long as your current tool uses a gradient-based approach, its success rate strongly depends on starting point in the case of non-convex problems. It is then your not-so-easy job to select this point. Some time ago, I found this task quite challenging when trying to identify the Foster-type representation of the thermal transient impedance of transistors, diodes and heat sinks. So I have switched to PSO. This script illustrates evolutionary identification of the 3rd order Foster-type RC ladder network for a real-life IGBT switch. I hope that you will find it easy to modify for any curve fitting task you encounter in your engineering practice. It should be noticed that gradient-free curve fitting is nothing new and the PSO-based curve fitting is not an exception here. This is just one more interpretation of the method.
Cite As
Bartlomiej Ufnalski (2024). Evolutionary curve fitting (https://www.mathworks.com/matlabcentral/fileexchange/48026-evolutionary-curve-fitting), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
- AI and Statistics > Curve Fitting Toolbox >
- Mathematics and Optimization > Optimization Toolbox >
- Mathematics and Optimization > Global Optimization Toolbox > Particle Swarm >
Tags
Acknowledgements
Inspired: Particle Swarm Optimization using parallel computing
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.
Version | Published | Release Notes | |
---|---|---|---|
1.0.0.0 |