matlab optimoptions save residual in variable

Viewed 216

I'm using the optimoptions function and I want to save the residual after each iteration in a variable. Now if I choose to display the iterations in the first line of the following code, I could see them in console, but is there anyway to save them as a vector variable? I have tried to get the residual output in the second line but it gives me only the result of the last iteration. Thank you.

options = optimoptions(@lsqnonlin,'Algorithm','Levenberg-Marquardt','Display','iter','StepTolerance',1e-4);
[params,resnorm,residual_opt,exitflag,output,lambda,jacobian] = lsqnonlin(@minDistance,params0,[],[],options);
angles = params(1:3);
R = euler2mat(angles);
T = params(4:6);
end

here is the display of iterations. I just want to use the third colomn.

                                        First-Order                    Norm of 
 Iteration  Func-count    Residual       optimality      Lambda           step
     0           7      5.4943e+09        3.84e+10         0.01
     1          14     7.39183e+08        8.74e+09        0.001        6.32624
     2          21     4.56928e+07         1.1e+09       0.0001        2.59042
     3          28     2.41748e+06        1.21e+08        1e-05        2.61414
     4          35          135873        1.39e+07        1e-06        1.45824
     5          42         8031.22        1.65e+06        1e-07       0.743095
     6          49         487.971           2e+05        1e-08       0.372708
     7          56         30.0687        2.47e+04        1e-09       0.186396
     8          63         1.86599        3.07e+03        1e-10      0.0931815
     9          70        0.116209             382        1e-11      0.0465832
    10          77      0.00724993            47.7        1e-12      0.0232892
    11          84     0.000452687            5.96        1e-13       0.011644
    12          91     2.82764e-05           0.744        1e-14     0.00582186
2 Answers
Related