Generalized Objective Function
In order to optimize any MATLAB function, there are two options: 1) rewrite the function to take only 1 array of inputs, reading all others from a file, perhaps, or from a global variable (undesirable), or 2) write an interface layer that handles this.
This function provides an interface layer that is completely general, and allows any MATLAB function to be used in an optimization loop. To do this, the first call to this function initializes it, storing the data necessary to evaluate and calculate the objective function for optimization. Then, this function 'objective_function.m' is called by an optimization routine such as fminsearch.
Note, this can be used with any optimization routine. It serves as an interface layer between the routine and the function to optimize, while also calculating the objective function value.
There are several functional forms of objective function written in here already, including sum of squared residuals, mean absolute error, mean percent absolute error, and log mean absolute error. Adding others is trivial.
This does NOT require the optimization toolbox.
Cite As
Anthony Kendall (2024). Generalized Objective Function (https://www.mathworks.com/matlabcentral/fileexchange/21563-generalized-objective-function), MATLAB Central File Exchange. Retrieved .
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.
Version | Published | Release Notes | |
---|---|---|---|
1.0.0.0 | Per user comment on MATLAB version compatibility. |