How can I stop fminsearch in one iteration after a specific time?
7 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
fatemeh jafariani
am 21 Jun. 2020
Bearbeitet: Walter Roberson
am 22 Jun. 2020
I used fminsearch for fitting experiment data to a model. It has 5 parameres. For beter optimizing, I changed two parameters in every run of fminsearch but unfortunatly sometimes for some of parameters value, it stops in one iteration and doesn't go to another one or finish. I need to set a certain time for stopping these iterations and sending program to another one. How can I do this?
Thanks,
0 Kommentare
Akzeptierte Antwort
Walter Roberson
am 21 Jun. 2020
fminsearch will stop immediately if funvalcheck is set and the first iteration is nan or complex. Or if there is an error evaluating the function.
4 Kommentare
Walter Roberson
am 22 Jun. 2020
Bearbeitet: Walter Roberson
am 22 Jun. 2020
dbstop if naninf
can be very useful.
However in practice it can turn out to be more useful to put a conditional breakpoint at the end of your function that tests whether the value you are about to return contains non-finite numbers. The conditional breakpoint approach avoids accidental triggers on the internals of the optimization functions.
Weitere Antworten (1)
Thiago Henrique Gomes Lobato
am 21 Jun. 2020
If when you say stop you mean it simply freezes and you don't get an error nor the iteration goes on than you probably have some while loop in your function that, for those parameters, simpy never ends or maybe a specific process that takes unreasonable many time for centain parameter combinations. Different from fminunc, for example, fminseach doesn't performs any line search, so as long as your function has constant time each iteration should take roughly the same amount of time. If it simply "freezes" then it is something in your function.
Siehe auch
Kategorien
Mehr zu Problem-Based Optimization Setup finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!