Finding intermediate values during minimisation

7 vues (au cours des 30 derniers jours)
Ariwan Abdollah
Ariwan Abdollah le 13 Oct 2021
Commenté : Ariwan Abdollah le 19 Oct 2021
Dear reader,
I have a minimisation problem at hand using lsqnonlin. According to the output, there are 8 iterations required to get to the final answer. Is it possible to find the values the lsqnonlin function calculates during those 8 iterations. The way I did it now is by including the line
intermediatec(:,iteration)=x0;
(where x0 is the calculated values). This however gives me much more than 8 times the intermediate x0 values.
Also, if anyone has an idea to speed up the code, that would be very helpfull too.
The full function looks like this:
global F
global intermediatec
global iteration
F = permute(squeeze(sum(IVW.*x0,2))-EVW(:,1),[2,1]) ;
F=F(:)';
iteration=iteration+1;
intermediatec(:,iteration)=x0;
kind regards,
Ariwan

Réponse acceptée

Harikrishnan Balachandran Nair
Modifié(e) : Harikrishnan Balachandran Nair le 19 Oct 2021
Hi Ariwan,
I understand that you are trying to solve a problem using 'lsqnonlin' function, and you want to record the intermediate 'x' values found by the function.
The same can be achieved by specifying a function handle using the 'OutputFcn' option, inside the optimization options. The optimization function would call this specified function, at the end of each iteration. You can set the options using the 'optimoptions' function. The function can be formulated in such a way that, it records the intermediate output values , in the specified location, after each iteration. You can refer to the following Documentation links to get a better idea on it
  1 commentaire
Ariwan Abdollah
Ariwan Abdollah le 19 Oct 2021
Thank you very much, I will have a look at them
Kind regards, Ariwan

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Get Started with MATLAB dans Help Center et File Exchange

Produits


Version

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by