For FMINSEARCH in combination with a function MYFUN one could use:
[X,fval,exitflag,output]= fminsearch(@(X) myfun(X),X,options);
Normally the output of MYFUN is minimized through modification of the paramter(s) X. However if MYFUN is able to produce multiple outputs i.e.:
It seems that FMINSEARCH aims to minimize ouput1 by default, which is fortunately what I need, and, following optimization FMINSEARCH outputs fval which is equivalent to the value of output1 for the best case of X. However I am also interested in the other outputs.
How can the other outputs be obtained? Function evaluations take a VERY long time so I'd like to avoid rerunning the problem.