How to optimize a function below a given value?

1 view (last 30 days)
I have a function, which gives an output based on some input. The function is super non linear, it calls a simulink model, integrates an maximizes along vectors, all kinds of things, but it returns a singular output, which I call the error.
I want to find an input, where the error is small, however I don't need to find the total minimum, I am happy if the error is smaller than, let's say 5.
The function fminsearch seemed promising to achieve this, and it works great, but it never really finishes. It keeps improving and improving. I can abort the optimization and use the parameters it has found so far, but I need to abort automatically. I have not found an option, which allows me to set value, that is sufficiently low. Is there a way to use fminsearch? Is there a better way?

Answers (1)

Torsten
Torsten on 27 Oct 2022
Edited: Torsten on 27 Oct 2022
Use OutputFcn to stop the optimizer manually:

Categories

Find more on Get Started with Optimization Toolbox in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!