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.
Bartlomiej Ufnalski (2020). Evolutionary curve fitting (https://www.mathworks.com/matlabcentral/fileexchange/48026-evolutionary-curve-fitting), MATLAB Central File Exchange. Retrieved .
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!