Generalized Objective Function

Allows any MATLAB function to easily be optimized
1.4K Downloads
Updated 29 Sep 2008

View License

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
Created with R2008a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Categories
Find more on Problem-Based Optimization Setup in Help Center and MATLAB Answers

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes
1.0.0.0

Per user comment on MATLAB version compatibility.