Finding intermediate values during minimisation

4 visualizaciones (últimos 30 días)
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

Respuesta aceptada

Harikrishnan Balachandran Nair
Harikrishnan Balachandran Nair el 19 de Oct. de 2021
Editada: Harikrishnan Balachandran Nair el 19 de Oct. de 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 comentario
Ariwan Abdollah
Ariwan Abdollah el 19 de Oct. de 2021
Thank you very much, I will have a look at them
Kind regards, Ariwan

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Get Started with Optimization Toolbox en Help Center y File Exchange.

Productos


Versión

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by